]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/Variable/RuntimeDxe/VariableStandaloneMm.inf
MdeModulePkg/Variable: Parameterize auth status in VariableParsing
[mirror_edk2.git] / MdeModulePkg / Universal / Variable / RuntimeDxe / VariableStandaloneMm.inf
CommitLineData
688b2cad
AB
1## @file\r
2# Provides SMM variable service.\r
3#\r
4# This module installs SMM variable protocol into SMM protocol database,\r
5# which can be used by SMM driver, and installs SMM variable protocol\r
6# into BS protocol database, which can be used to notify the SMM Runtime\r
7# Dxe driver that the SMM variable service is ready.\r
8# This module should be used with SMM Runtime DXE module together. The\r
9# SMM Runtime DXE module would install variable arch protocol and variable\r
10# write arch protocol based on SMM variable module.\r
11#\r
12# Caution: This module requires additional review when modified.\r
13# This driver will have external input - variable data and communicate buffer in SMM mode.\r
14# This external input must be validated carefully to avoid security issues such as\r
15# buffer overflow or integer overflow.\r
16# The whole SMM authentication variable design relies on the integrity of flash part and SMM.\r
17# which is assumed to be protected by platform. All variable code and metadata in flash/SMM Memory\r
18# may not be modified without authorization. If platform fails to protect these resources,\r
19# the authentication service provided in this driver will be broken, and the behavior is undefined.\r
20#\r
9084239f 21# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>\r
688b2cad 22# Copyright (c) 2018, Linaro, Ltd. All rights reserved.<BR>\r
9d510e61 23# SPDX-License-Identifier: BSD-2-Clause-Patent\r
688b2cad
AB
24#\r
25##\r
26\r
27[Defines]\r
28 INF_VERSION = 0x0001001B\r
29 BASE_NAME = VariableStandaloneMm\r
30 FILE_GUID = 7ee2c0c1-c21a-4113-a53a-66824a95696f\r
31 MODULE_TYPE = MM_STANDALONE\r
32 VERSION_STRING = 1.0\r
33 PI_SPECIFICATION_VERSION = 0x00010032\r
34 ENTRY_POINT = VariableServiceInitialize\r
35\r
36#\r
37# The following information is for reference only and not required by the build tools.\r
38#\r
39# VALID_ARCHITECTURES = IA32 X64 ARM AARCH64\r
40#\r
41\r
42\r
43[Sources]\r
44 Reclaim.c\r
45 Variable.c\r
46 VariableSmm.c\r
47 VariableStandaloneMm.c\r
20a27a64
MK
48 VariableParsing.c\r
49 VariableParsing.h\r
688b2cad
AB
50 VarCheck.c\r
51 Variable.h\r
52 PrivilegePolymorphic.h\r
53 VariableExLib.c\r
54 TcgMorLockSmm.c\r
55 SpeculationBarrierSmm.c\r
56\r
57[Packages]\r
58 MdePkg/MdePkg.dec\r
59 MdeModulePkg/MdeModulePkg.dec\r
60 StandaloneMmPkg/StandaloneMmPkg.dec\r
61\r
62[LibraryClasses]\r
63 AuthVariableLib\r
64 BaseLib\r
65 BaseMemoryLib\r
66 DebugLib\r
67 HobLib\r
68 MemoryAllocationLib\r
69 MmServicesTableLib\r
70 StandaloneMmDriverEntryPoint\r
71 SynchronizationLib\r
72 VarCheckLib\r
73\r
74[Protocols]\r
75 gEfiSmmFirmwareVolumeBlockProtocolGuid ## CONSUMES\r
76 ## CONSUMES\r
77 ## NOTIFY\r
78 gEfiSmmFaultTolerantWriteProtocolGuid\r
79 ## PRODUCES\r
80 ## UNDEFINED # SmiHandlerRegister\r
81 gEfiSmmVariableProtocolGuid\r
82 gEfiMmEndOfDxeProtocolGuid ## NOTIFY\r
83 gEdkiiSmmVarCheckProtocolGuid ## PRODUCES\r
84\r
85[Guids]\r
86 ## SOMETIMES_CONSUMES ## GUID # Signature of Variable store header\r
87 ## SOMETIMES_PRODUCES ## GUID # Signature of Variable store header\r
88 ## SOMETIMES_CONSUMES ## HOB\r
89 ## SOMETIMES_PRODUCES ## SystemTable\r
90 gEfiAuthenticatedVariableGuid\r
91\r
92 ## SOMETIMES_CONSUMES ## GUID # Signature of Variable store header\r
93 ## SOMETIMES_PRODUCES ## GUID # Signature of Variable store header\r
94 ## SOMETIMES_CONSUMES ## HOB\r
95 ## SOMETIMES_PRODUCES ## SystemTable\r
96 gEfiVariableGuid\r
97\r
98 ## SOMETIMES_CONSUMES ## Variable:L"PlatformLang"\r
99 ## SOMETIMES_PRODUCES ## Variable:L"PlatformLang"\r
100 ## SOMETIMES_CONSUMES ## Variable:L"Lang"\r
101 ## SOMETIMES_PRODUCES ## Variable:L"Lang"\r
102 gEfiGlobalVariableGuid\r
103\r
104 gEfiMemoryOverwriteControlDataGuid ## SOMETIMES_CONSUMES ## Variable:L"MemoryOverwriteRequestControl"\r
105 gEfiMemoryOverwriteRequestControlLockGuid ## SOMETIMES_PRODUCES ## Variable:L"MemoryOverwriteRequestControlLock"\r
106\r
107 gEfiSystemNvDataFvGuid ## CONSUMES ## GUID\r
108 gEdkiiFaultTolerantWriteGuid ## SOMETIMES_CONSUMES ## HOB\r
109\r
110 ## SOMETIMES_CONSUMES ## Variable:L"VarErrorFlag"\r
111 ## SOMETIMES_PRODUCES ## Variable:L"VarErrorFlag"\r
112 gEdkiiVarErrorFlagGuid\r
113\r
114[FixedPcd]\r
115 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize ## CONSUMES\r
116 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase ## SOMETIMES_CONSUMES\r
117 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 ## CONSUMES\r
118 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize ## CONSUMES\r
119 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize ## CONSUMES\r
120 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVolatileVariableSize ## CONSUMES\r
121 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize ## CONSUMES\r
122 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize ## CONSUMES\r
123 gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize ## CONSUMES\r
124 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxUserNvVariableSpaceSize ## CONSUMES\r
125 gEfiMdeModulePkgTokenSpaceGuid.PcdBoottimeReservedNvVariableSpaceSize ## CONSUMES\r
126 gEfiMdeModulePkgTokenSpaceGuid.PcdReclaimVariableSpaceAtEndOfDxe ## CONSUMES\r
9084239f
SZ
127 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable ## SOMETIMES_CONSUMES\r
128 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved ## SOMETIMES_CONSUMES\r
688b2cad
AB
129\r
130[FeaturePcd]\r
131 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics ## CONSUMES # statistic the information of variable.\r
132 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate ## CONSUMES # Auto update PlatformLang/Lang\r
133\r
134[Depex]\r
135 TRUE\r