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