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 | # SPDX-License-Identifier: BSD-2-Clause-Patent
|
---|
13 | #
|
---|
14 | ##
|
---|
15 |
|
---|
16 | [Defines]
|
---|
17 | INF_VERSION = 0x0001001B
|
---|
18 | BASE_NAME = FaultTolerantWriteStandaloneMm
|
---|
19 | FILE_GUID = 3aade4ec-63cc-4a48-a928-5a374dd463eb
|
---|
20 | MODULE_TYPE = MM_STANDALONE
|
---|
21 | VERSION_STRING = 1.0
|
---|
22 | PI_SPECIFICATION_VERSION = 0x00010032
|
---|
23 | ENTRY_POINT = StandaloneMmFaultTolerantWriteInitialize
|
---|
24 |
|
---|
25 | #
|
---|
26 | # The following information is for reference only and not required by the build tools.
|
---|
27 | #
|
---|
28 | # VALID_ARCHITECTURES = IA32 X64 ARM AARCH64
|
---|
29 | #
|
---|
30 |
|
---|
31 | [Sources]
|
---|
32 | FtwMisc.c
|
---|
33 | UpdateWorkingBlock.c
|
---|
34 | FaultTolerantWrite.c
|
---|
35 | FaultTolerantWriteStandaloneMm.c
|
---|
36 | FaultTolerantWriteSmm.c
|
---|
37 | FaultTolerantWrite.h
|
---|
38 | FaultTolerantWriteSmmCommon.h
|
---|
39 |
|
---|
40 | [Packages]
|
---|
41 | MdePkg/MdePkg.dec
|
---|
42 | MdeModulePkg/MdeModulePkg.dec
|
---|
43 | StandaloneMmPkg/StandaloneMmPkg.dec
|
---|
44 |
|
---|
45 | [LibraryClasses]
|
---|
46 | BaseLib
|
---|
47 | BaseMemoryLib
|
---|
48 | DebugLib
|
---|
49 | MemoryAllocationLib
|
---|
50 | MmServicesTableLib
|
---|
51 | PcdLib
|
---|
52 | ReportStatusCodeLib
|
---|
53 | StandaloneMmDriverEntryPoint
|
---|
54 |
|
---|
55 | [Guids]
|
---|
56 | #
|
---|
57 | # Signature in EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER
|
---|
58 | #
|
---|
59 | ## CONSUMES ## GUID
|
---|
60 | ## PRODUCES ## GUID
|
---|
61 | gEdkiiWorkingBlockSignatureGuid
|
---|
62 |
|
---|
63 | [Protocols]
|
---|
64 | gEfiSmmSwapAddressRangeProtocolGuid | gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable ## SOMETIMES_CONSUMES
|
---|
65 | ## NOTIFY
|
---|
66 | ## CONSUMES
|
---|
67 | gEfiSmmFirmwareVolumeBlockProtocolGuid
|
---|
68 | ## PRODUCES
|
---|
69 | ## UNDEFINED # SmiHandlerRegister
|
---|
70 | gEfiSmmFaultTolerantWriteProtocolGuid
|
---|
71 | gEfiMmEndOfDxeProtocolGuid ## CONSUMES
|
---|
72 |
|
---|
73 | [FeaturePcd]
|
---|
74 | gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable ## CONSUMES
|
---|
75 |
|
---|
76 | [Pcd]
|
---|
77 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase ## SOMETIMES_CONSUMES
|
---|
78 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64 ## CONSUMES
|
---|
79 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize ## CONSUMES
|
---|
80 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase ## SOMETIMES_CONSUMES
|
---|
81 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64 ## CONSUMES
|
---|
82 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize ## CONSUMES
|
---|
83 |
|
---|
84 | [Depex]
|
---|
85 | TRUE
|
---|