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