MdeModulePkg/FaultTolerantWriteDxe: implement standalone MM version
[mirror_edk2.git] / MdeModulePkg / Universal / FaultTolerantWriteDxe / FaultTolerantWriteStandaloneMm.inf
1  ## @file\r
2 #   Fault Tolerant Write Smm Driver.\r
3 #\r
4 #   This driver installs SMM Fault Tolerant Write (FTW) protocol, which provides fault\r
5 #   tolerant write capability in SMM environment for block devices. Its implementation\r
6 #   depends on the full functionality SMM FVB protocol that support read, write/erase\r
7 #   flash access.\r
8 #\r
9 # Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>\r
10 # Copyright (c) 2018, Linaro, Ltd. All rights reserved.<BR>\r
11 #\r
12 #  This program and the accompanying materials\r
13 #  are licensed and made available under the terms and conditions of the BSD License\r
14 #  which accompanies this distribution. The full text of the license may be found at\r
15 #  http://opensource.org/licenses/bsd-license.php\r
16 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
17 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
18 #\r
19 ##\r
20 \r
21 [Defines]\r
22   INF_VERSION                    = 0x0001001B\r
23   BASE_NAME                      = FaultTolerantWriteStandaloneMm\r
24   FILE_GUID                      = 3aade4ec-63cc-4a48-a928-5a374dd463eb\r
25   MODULE_TYPE                    = MM_STANDALONE\r
26   VERSION_STRING                 = 1.0\r
27   PI_SPECIFICATION_VERSION       = 0x00010032\r
28   ENTRY_POINT                    = StandaloneMmFaultTolerantWriteInitialize\r
29 \r
30 #\r
31 # The following information is for reference only and not required by the build tools.\r
32 #\r
33 #  VALID_ARCHITECTURES           = IA32 X64 ARM AARCH64\r
34 #\r
35 \r
36 [Sources]\r
37   FtwMisc.c\r
38   UpdateWorkingBlock.c\r
39   FaultTolerantWrite.c\r
40   FaultTolerantWriteStandaloneMm.c\r
41   FaultTolerantWriteSmm.c\r
42   FaultTolerantWrite.h\r
43   FaultTolerantWriteSmmCommon.h\r
44 \r
45 [Packages]\r
46   MdePkg/MdePkg.dec\r
47   MdeModulePkg/MdeModulePkg.dec\r
48   StandaloneMmPkg/StandaloneMmPkg.dec\r
49 \r
50 [LibraryClasses]\r
51   BaseLib\r
52   BaseMemoryLib\r
53   DebugLib\r
54   MemoryAllocationLib\r
55   MmServicesTableLib\r
56   PcdLib\r
57   ReportStatusCodeLib\r
58   StandaloneMmDriverEntryPoint\r
59 \r
60 [Guids]\r
61   #\r
62   # Signature in EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER\r
63   #\r
64   ## CONSUMES           ## GUID\r
65   ## PRODUCES           ## GUID\r
66   gEdkiiWorkingBlockSignatureGuid\r
67 \r
68 [Protocols]\r
69   gEfiSmmSwapAddressRangeProtocolGuid | gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable  ## SOMETIMES_CONSUMES\r
70   ## NOTIFY\r
71   ## CONSUMES\r
72   gEfiSmmFirmwareVolumeBlockProtocolGuid\r
73   ## PRODUCES\r
74   ## UNDEFINED # SmiHandlerRegister\r
75   gEfiSmmFaultTolerantWriteProtocolGuid\r
76   gEfiMmEndOfDxeProtocolGuid                       ## CONSUMES\r
77 \r
78 [FeaturePcd]\r
79   gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable    ## CONSUMES\r
80 \r
81 [Pcd]\r
82   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase    ## SOMETIMES_CONSUMES\r
83   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64  ## CONSUMES\r
84   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize    ## CONSUMES\r
85   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase      ## SOMETIMES_CONSUMES\r
86   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64    ## CONSUMES\r
87   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize      ## CONSUMES\r
88 \r
89 [Depex]\r
90   TRUE\r