c8fe49e0c0d7d9f4679ca75f4b0e92d096dd0327
[mirror_edk2.git] / FmpDevicePkg / FmpDxe / FmpDxeLib.inf
1 ## @file\r
2 #  Produces a Firmware Management Protocol that supports updates to a firmware\r
3 #  image stored in a firmware device with platform and firmware device specific\r
4 #  information provided through PCDs and libraries.\r
5 #\r
6 #  Copyright (c) 2016, Microsoft Corporation. All rights reserved.<BR>\r
7 #  Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>\r
8 #\r
9 #  Redistribution and use in source and binary forms, with or without\r
10 #  modification, are permitted provided that the following conditions are met:\r
11 #  1. Redistributions of source code must retain the above copyright notice,\r
12 #  this list of conditions and the following disclaimer.\r
13 #  2. Redistributions in binary form must reproduce the above copyright notice,\r
14 #  this list of conditions and the following disclaimer in the documentation\r
15 #  and/or other materials provided with the distribution.\r
16 #\r
17 #  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND\r
18 #  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
19 #  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\r
20 #  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\r
21 #  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\r
22 #  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
23 #  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r
24 #  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\r
25 #  OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\r
26 #  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
27 ##\r
28 \r
29 [Defines]\r
30   INF_VERSION                    = 0x00010005\r
31   BASE_NAME                      = FmpDxeLib\r
32   MODULE_UNI_FILE                = FmpDxe.uni\r
33   FILE_GUID                      = 4B11717A-30B3-4122-8C69-8E0D5E141C32\r
34   MODULE_TYPE                    = DXE_DRIVER\r
35   VERSION_STRING                 = 1.0\r
36   LIBRARY_CLASS                  = NULL\r
37   CONSTRUCTOR                    = FmpDxeEntryPoint\r
38 \r
39 #\r
40 # The following information is for reference only and not required by the build tools.\r
41 #\r
42 #  VALID_ARCHITECTURES           = IA32 X64 IPF ARM AARCH64\r
43 #\r
44 \r
45 [Sources]\r
46   FmpDxe.c\r
47   DetectTestKey.c\r
48   VariableSupport.h\r
49   VariableSupport.c\r
50 \r
51 [Packages]\r
52   MdePkg/MdePkg.dec\r
53   MdeModulePkg/MdeModulePkg.dec\r
54   CryptoPkg/CryptoPkg.dec\r
55   FmpDevicePkg/FmpDevicePkg.dec\r
56 \r
57 [LibraryClasses]\r
58   DebugLib\r
59   BaseLib\r
60   BaseMemoryLib\r
61   UefiBootServicesTableLib\r
62   MemoryAllocationLib\r
63   UefiLib\r
64   BaseCryptLib\r
65   FmpAuthenticationLib\r
66   FmpDeviceLib\r
67   FmpPayloadHeaderLib\r
68   CapsuleUpdatePolicyLib\r
69 \r
70 [Guids]\r
71   gEfiEndOfDxeEventGroupGuid\r
72 \r
73 [Protocols]\r
74   gEdkiiVariableLockProtocolGuid                ## CONSUMES\r
75   gEfiFirmwareManagementProtocolGuid            ## PRODUCES\r
76   gEdkiiFirmwareManagementProgressProtocolGuid  ## PRODUCES\r
77 \r
78 [Pcd]\r
79   gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceSystemResetRequired              ## CONSUMES\r
80   gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceImageIdName                      ## CONSUMES\r
81   gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceBuildTimeLowestSupportedVersion  ## CONSUMES\r
82   gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceLockEventGuid                    ## CONSUMES\r
83   gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceProgressWatchdogTimeInSeconds    ## CONSUMES\r
84   gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceProgressColor                    ## CONSUMES\r
85   gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr               ## CONSUMES\r
86   gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceTestKeySha256Digest              ## CONSUMES\r
87   gEfiMdeModulePkgTokenSpaceGuid.PcdTestKeyUsed                            ## SOMETIMES_PRODUCES\r
88 \r
89 [Depex]\r
90   gEfiVariableWriteArchProtocolGuid AND gEdkiiVariableLockProtocolGuid\r