2 # Firmware Management Protocol Device Package
\r
4 # This package provides an implementation of a Firmware Management Protocol
\r
5 # instance that supports the update of firmware storage devices using UEFI
\r
6 # Capsules. The behavior of the Firmware Management Protocol instance is
\r
7 # customized using libraries and PCDs.
\r
9 # Copyright (c) 2016, Microsoft Corporation. All rights reserved.<BR>
\r
10 # Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
\r
12 # Redistribution and use in source and binary forms, with or without
\r
13 # modification, are permitted provided that the following conditions are met:
\r
14 # 1. Redistributions of source code must retain the above copyright notice,
\r
15 # this list of conditions and the following disclaimer.
\r
16 # 2. Redistributions in binary form must reproduce the above copyright notice,
\r
17 # this list of conditions and the following disclaimer in the documentation
\r
18 # and/or other materials provided with the distribution.
\r
20 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
\r
21 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
\r
22 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
\r
23 # IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
\r
24 # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
\r
25 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
\r
26 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
\r
27 # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
\r
28 # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
\r
29 # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\r
34 PLATFORM_NAME = FmpDevicePkg
\r
35 PLATFORM_GUID = 0af3d540-27c6-11e8-828b-f8597177a00a
\r
36 PLATFORM_VERSION = 0.1
\r
37 DSC_SPECIFICATION = 0x00010005
\r
38 OUTPUT_DIRECTORY = Build/FmpDevicePkg
\r
39 SUPPORTED_ARCHITECTURES = IA32|X64|ARM|AARCH64
\r
40 BUILD_TARGETS = DEBUG|RELEASE
\r
41 SKUID_IDENTIFIER = DEFAULT
\r
44 # Define ESRT GUIDs for Firmware Management Protocol instances
\r
46 DEFINE SYSTEM_FMP_ESRT_GUID = B461B3BD-E62A-4A71-841C-50BA4E500267
\r
47 DEFINE DEVICE_FMP_ESRT_GUID = 226034C4-8B67-4536-8653-D6EE7CE5A316
\r
50 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
\r
51 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
\r
52 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
\r
53 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
\r
54 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
\r
55 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
\r
56 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
\r
57 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
\r
58 UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
\r
59 UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
\r
60 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
\r
61 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
\r
62 SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
\r
63 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
\r
64 DebugLib|MdePkg/Library/UefiDebugLibStdErr/UefiDebugLibStdErr.inf
\r
65 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
\r
66 PostCodeLib|MdePkg/Library/BasePostCodeLibPort80/BasePostCodeLibPort80.inf
\r
67 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
\r
68 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
\r
70 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
\r
71 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
\r
72 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
\r
73 UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
\r
74 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
\r
75 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
\r
76 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
\r
77 OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
\r
78 IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
\r
79 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
\r
80 FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf
\r
82 CapsuleUpdatePolicyLib|FmpDevicePkg/Library/CapsuleUpdatePolicyLibNull/CapsuleUpdatePolicyLibNull.inf
\r
83 FmpPayloadHeaderLib|FmpDevicePkg/Library/FmpPayloadHeaderLibV1/FmpPayloadHeaderLibV1.inf
\r
84 FmpDeviceLib|FmpDevicePkg/Library/FmpDeviceLibNull/FmpDeviceLibNull.inf
\r
85 BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
\r
86 SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
\r
87 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf
\r
89 [LibraryClasses.ARM, LibraryClasses.AARCH64]
\r
91 # It is not possible to prevent the ARM compiler for generic intrinsic functions.
\r
92 # This library provides the instrinsic functions generate by a given compiler.
\r
93 # [LibraryClasses.ARM, LibraryClasses.AARCH64] and NULL mean link this library
\r
94 # into all ARM and AARCH64 images.
\r
96 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
\r
98 # Add support for stack protector
\r
99 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
\r
101 [LibraryClasses.ARM]
\r
102 ArmSoftFloatLib|ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf
\r
108 FmpDevicePkg/Library/CapsuleUpdatePolicyLibNull/CapsuleUpdatePolicyLibNull.inf
\r
109 FmpDevicePkg/Library/FmpPayloadHeaderLibV1/FmpPayloadHeaderLibV1.inf
\r
110 FmpDevicePkg/Library/FmpDeviceLibNull/FmpDeviceLibNull.inf
\r
111 FmpDevicePkg/FmpDxe/FmpDxeLib.inf
\r
116 FmpDevicePkg/FmpDxe/FmpDxe.inf {
\r
119 # FILE_GUID is used as ESRT GUID
\r
121 FILE_GUID = $(SYSTEM_FMP_ESRT_GUID)
\r
124 FmpDevicePkg/FmpDxe/FmpDxe.inf {
\r
127 # FILE_GUID is used as ESRT GUID
\r
129 FILE_GUID = $(DEVICE_FMP_ESRT_GUID)
\r
133 *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
\r