]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
MdeModulePkg FaultTolerantWrite: Let FaultTolerantWrite driver to depend on gEfiRunti...
[mirror_edk2.git] / MdeModulePkg / Universal / FaultTolerantWriteDxe / FaultTolerantWriteSmm.inf
1 ## @file
2 # This driver installs SMM Fault Tolerant Write (FTW) protocol, which provides fault
3 # tolerant write capability in SMM environment for block devices. Its implementation
4 # depends on the full functionality SMM FVB protocol that support read, write/erase
5 # flash access.
6 #
7 # Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
8 #
9 # This program and the accompanying materials
10 # are licensed and made available under the terms and conditions of the BSD License
11 # which accompanies this distribution. The full text of the license may be found at
12 # http://opensource.org/licenses/bsd-license.php
13 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 #
16 ##
17
18 [Defines]
19 INF_VERSION = 0x00010005
20 BASE_NAME = SmmFaultTolerantWriteDxe
21 FILE_GUID = 470CB248-E8AC-473c-BB4F-81069A1FE6FD
22 MODULE_TYPE = DXE_SMM_DRIVER
23 VERSION_STRING = 1.0
24 PI_SPECIFICATION_VERSION = 0x0001000A
25 ENTRY_POINT = SmmFaultTolerantWriteInitialize
26
27 #
28 # The following information is for reference only and not required by the build tools.
29 #
30 # VALID_ARCHITECTURES = IA32 X64
31 #
32
33 [Sources]
34 FtwMisc.c
35 UpdateWorkingBlock.c
36 FaultTolerantWrite.c
37 FaultTolerantWriteSmm.c
38 FaultTolerantWrite.h
39 FaultTolerantWriteSmmCommon.h
40
41 [Packages]
42 MdePkg/MdePkg.dec
43 MdeModulePkg/MdeModulePkg.dec
44
45 [LibraryClasses]
46 SmmServicesTableLib
47 MemoryAllocationLib
48 BaseMemoryLib
49 UefiDriverEntryPoint
50 DebugLib
51 UefiLib
52 PcdLib
53 ReportStatusCodeLib
54
55 [Guids]
56 gEdkiiWorkingBlockSignatureGuid ## CONSUMES ## FV Signature of Working Space Header
57
58 [Protocols]
59 gEfiSmmSwapAddressRangeProtocolGuid | gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable ## CONSUMES
60 gEfiSmmFirmwareVolumeBlockProtocolGuid ## CONSUMES
61 gEfiSmmFaultTolerantWriteProtocolGuid ## PRODUCES
62 gEfiSmmAccess2ProtocolGuid ## CONSUMES
63 gEfiSmmEndOfDxeProtocolGuid ## CONSUMES
64
65 [FeaturePcd]
66 gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable
67
68 [Pcd]
69 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase
70 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64
71 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize
72 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase
73 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64
74 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize
75
76 #
77 # gBS->CalculateCrc32() is consumed in EntryPoint.
78 # PI spec said: When the DXE Foundation is notified that the EFI_RUNTIME_ARCH_PROTOCOL
79 # has been installed, then the Boot Service CalculateCrc32() is available.
80 # So add gEfiRuntimeArchProtocolGuid Depex here.
81 #
82 [Depex]
83 gEfiSmmFirmwareVolumeBlockProtocolGuid AND gEfiRuntimeArchProtocolGuid
84