]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/Variable/RuntimeDxe/VariableStandaloneMm.inf
MdeModulePkg/EbcDebugger: Add check for Entry and RetEntry
[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
48 VarCheck.c\r
49 Variable.h\r
50 PrivilegePolymorphic.h\r
51 VariableExLib.c\r
52 TcgMorLockSmm.c\r
53 SpeculationBarrierSmm.c\r
54\r
55[Packages]\r
56 MdePkg/MdePkg.dec\r
57 MdeModulePkg/MdeModulePkg.dec\r
58 StandaloneMmPkg/StandaloneMmPkg.dec\r
59\r
60[LibraryClasses]\r
61 AuthVariableLib\r
62 BaseLib\r
63 BaseMemoryLib\r
64 DebugLib\r
65 HobLib\r
66 MemoryAllocationLib\r
67 MmServicesTableLib\r
68 StandaloneMmDriverEntryPoint\r
69 SynchronizationLib\r
70 VarCheckLib\r
71\r
72[Protocols]\r
73 gEfiSmmFirmwareVolumeBlockProtocolGuid ## CONSUMES\r
74 ## CONSUMES\r
75 ## NOTIFY\r
76 gEfiSmmFaultTolerantWriteProtocolGuid\r
77 ## PRODUCES\r
78 ## UNDEFINED # SmiHandlerRegister\r
79 gEfiSmmVariableProtocolGuid\r
80 gEfiMmEndOfDxeProtocolGuid ## NOTIFY\r
81 gEdkiiSmmVarCheckProtocolGuid ## PRODUCES\r
82\r
83[Guids]\r
84 ## SOMETIMES_CONSUMES ## GUID # Signature of Variable store header\r
85 ## SOMETIMES_PRODUCES ## GUID # Signature of Variable store header\r
86 ## SOMETIMES_CONSUMES ## HOB\r
87 ## SOMETIMES_PRODUCES ## SystemTable\r
88 gEfiAuthenticatedVariableGuid\r
89\r
90 ## SOMETIMES_CONSUMES ## GUID # Signature of Variable store header\r
91 ## SOMETIMES_PRODUCES ## GUID # Signature of Variable store header\r
92 ## SOMETIMES_CONSUMES ## HOB\r
93 ## SOMETIMES_PRODUCES ## SystemTable\r
94 gEfiVariableGuid\r
95\r
96 ## SOMETIMES_CONSUMES ## Variable:L"PlatformLang"\r
97 ## SOMETIMES_PRODUCES ## Variable:L"PlatformLang"\r
98 ## SOMETIMES_CONSUMES ## Variable:L"Lang"\r
99 ## SOMETIMES_PRODUCES ## Variable:L"Lang"\r
100 gEfiGlobalVariableGuid\r
101\r
102 gEfiMemoryOverwriteControlDataGuid ## SOMETIMES_CONSUMES ## Variable:L"MemoryOverwriteRequestControl"\r
103 gEfiMemoryOverwriteRequestControlLockGuid ## SOMETIMES_PRODUCES ## Variable:L"MemoryOverwriteRequestControlLock"\r
104\r
105 gEfiSystemNvDataFvGuid ## CONSUMES ## GUID\r
106 gEdkiiFaultTolerantWriteGuid ## SOMETIMES_CONSUMES ## HOB\r
107\r
108 ## SOMETIMES_CONSUMES ## Variable:L"VarErrorFlag"\r
109 ## SOMETIMES_PRODUCES ## Variable:L"VarErrorFlag"\r
110 gEdkiiVarErrorFlagGuid\r
111\r
112[FixedPcd]\r
113 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize ## CONSUMES\r
114 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase ## SOMETIMES_CONSUMES\r
115 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 ## CONSUMES\r
116 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize ## CONSUMES\r
117 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize ## CONSUMES\r
118 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVolatileVariableSize ## CONSUMES\r
119 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize ## CONSUMES\r
120 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize ## CONSUMES\r
121 gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize ## CONSUMES\r
122 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxUserNvVariableSpaceSize ## CONSUMES\r
123 gEfiMdeModulePkgTokenSpaceGuid.PcdBoottimeReservedNvVariableSpaceSize ## CONSUMES\r
124 gEfiMdeModulePkgTokenSpaceGuid.PcdReclaimVariableSpaceAtEndOfDxe ## CONSUMES\r
9084239f
SZ
125 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable ## SOMETIMES_CONSUMES\r
126 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved ## SOMETIMES_CONSUMES\r
688b2cad
AB
127\r
128[FeaturePcd]\r
129 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics ## CONSUMES # statistic the information of variable.\r
130 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate ## CONSUMES # Auto update PlatformLang/Lang\r
131\r
132[Depex]\r
133 TRUE\r