]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdeModulePkg / Universal / FaultTolerantWriteDxe / FaultTolerantWriteSmm.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 #
11 # SPDX-License-Identifier: BSD-2-Clause-Patent
12 #
13 ##
14
15 [Defines]
16 INF_VERSION = 0x00010005
17 BASE_NAME = SmmFaultTolerantWriteDxe
18 MODULE_UNI_FILE = SmmFaultTolerantWriteDxe.uni
19 FILE_GUID = 470CB248-E8AC-473c-BB4F-81069A1FE6FD
20 MODULE_TYPE = DXE_SMM_DRIVER
21 VERSION_STRING = 1.0
22 PI_SPECIFICATION_VERSION = 0x0001000A
23 ENTRY_POINT = SmmFaultTolerantWriteInitialize
24
25 #
26 # The following information is for reference only and not required by the build tools.
27 #
28 # VALID_ARCHITECTURES = IA32 X64
29 #
30
31 [Sources]
32 FtwMisc.c
33 UpdateWorkingBlock.c
34 FaultTolerantWrite.c
35 FaultTolerantWriteTraditionalMm.c
36 FaultTolerantWriteSmm.c
37 FaultTolerantWrite.h
38 FaultTolerantWriteSmmCommon.h
39
40 [Packages]
41 MdePkg/MdePkg.dec
42 MdeModulePkg/MdeModulePkg.dec
43
44 [LibraryClasses]
45 MmServicesTableLib
46 MemoryAllocationLib
47 BaseMemoryLib
48 UefiDriverEntryPoint
49 DebugLib
50 UefiLib
51 PcdLib
52 ReportStatusCodeLib
53 SmmMemLib
54 BaseLib
55
56 [Guids]
57 #
58 # Signature in EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER
59 #
60 ## CONSUMES ## GUID
61 ## PRODUCES ## GUID
62 gEdkiiWorkingBlockSignatureGuid
63
64 [Protocols]
65 gEfiSmmSwapAddressRangeProtocolGuid | gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable ## SOMETIMES_CONSUMES
66 ## NOTIFY
67 ## CONSUMES
68 gEfiSmmFirmwareVolumeBlockProtocolGuid
69 ## PRODUCES
70 ## UNDEFINED # SmiHandlerRegister
71 gEfiSmmFaultTolerantWriteProtocolGuid
72 gEfiMmEndOfDxeProtocolGuid ## CONSUMES
73
74 [FeaturePcd]
75 gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable ## CONSUMES
76
77 [Pcd]
78 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase ## SOMETIMES_CONSUMES
79 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64 ## CONSUMES
80 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize ## CONSUMES
81 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase ## SOMETIMES_CONSUMES
82 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64 ## CONSUMES
83 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize ## CONSUMES
84
85 #
86 # gBS->CalculateCrc32() is consumed in EntryPoint.
87 # PI spec said: When the DXE Foundation is notified that the EFI_RUNTIME_ARCH_PROTOCOL
88 # has been installed, then the Boot Service CalculateCrc32() is available.
89 # So add gEfiRuntimeArchProtocolGuid Depex here.
90 #
91 [Depex]
92 gEfiSmmFirmwareVolumeBlockProtocolGuid AND gEfiRuntimeArchProtocolGuid
93
94 [UserExtensions.TianoCore."ExtraFiles"]
95 SmmFaultTolerantWriteDxeExtra.uni