]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf
MdeModulePkg Variable: Introduce PcdReclaimVariableSpaceAtEndOfDxe
[mirror_edk2.git] / MdeModulePkg / Universal / Variable / RuntimeDxe / VariableSmm.inf
CommitLineData
4b738c76 1## @file\r
4b738c76
HT
2# This module installs SMM variable protocol into SMM protocol database,\r
3# which can be used by SMM driver, and installs SMM variable protocol \r
4# into BS protocol database, which can be used to notify the SMM Runtime\r
5# Dxe driver that the SMM variable service is ready.\r
6# This module should be used with SMM Runtime DXE module together. The \r
7# SMM Runtime DXE module would install variable arch protocol and variable \r
8# write arch protocol based on SMM variable module.\r
9#\r
10# Caution: This module requires additional review when modified.\r
11# This driver will have external input - variable data and communicate buffer in SMM mode.\r
12# This external input must be validated carefully to avoid security issue like\r
13# buffer overflow, integer overflow.\r
14#\r
efb01a10 15# Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>\r
4b738c76
HT
16# This program and the accompanying materials\r
17# are licensed and made available under the terms and conditions of the BSD License\r
18# which accompanies this distribution. The full text of the license may be found at\r
19# http://opensource.org/licenses/bsd-license.php\r
20# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
21# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
22#\r
23#\r
24##\r
25\r
26[Defines]\r
27 INF_VERSION = 0x00010005\r
28 BASE_NAME = VariableSmm\r
6036e94d 29 MODULE_UNI_FILE = VariableSmm.uni\r
4b738c76
HT
30 FILE_GUID = 23A089B3-EED5-4ac5-B2AB-43E3298C2343\r
31 MODULE_TYPE = DXE_SMM_DRIVER\r
32 VERSION_STRING = 1.0\r
33 PI_SPECIFICATION_VERSION = 0x0001000A\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\r
40#\r
41\r
42\r
43[Sources]\r
44 Reclaim.c\r
45 Variable.c\r
46 VariableSmm.c\r
efb01a10 47 VarCheck.c\r
4b738c76
HT
48 Variable.h\r
49\r
50[Packages]\r
51 MdePkg/MdePkg.dec\r
52 MdeModulePkg/MdeModulePkg.dec\r
53\r
54[LibraryClasses]\r
55 UefiDriverEntryPoint\r
56 MemoryAllocationLib\r
57 BaseLib\r
58 SynchronizationLib\r
59 UefiLib\r
60 SmmServicesTableLib\r
61 BaseMemoryLib\r
62 DebugLib\r
63 DxeServicesTableLib\r
64 HobLib\r
65 PcdLib\r
efb01a10 66 DevicePathLib\r
4b738c76
HT
67\r
68[Protocols]\r
6036e94d
SZ
69 gEfiSmmFirmwareVolumeBlockProtocolGuid ## CONSUMES\r
70 ## CONSUMES\r
71 ## NOTIFY\r
72 gEfiSmmFaultTolerantWriteProtocolGuid\r
73 ## PRODUCES\r
74 ## UNDEFINED # SmiHandlerRegister\r
75 gEfiSmmVariableProtocolGuid\r
76 gEfiSmmAccess2ProtocolGuid ## CONSUMES\r
efb01a10
SZ
77 gEfiSmmEndOfDxeProtocolGuid ## NOTIFY\r
78 gEdkiiSmmVarCheckProtocolGuid ## PRODUCES\r
4b738c76
HT
79\r
80[Guids]\r
6036e94d
SZ
81 ## PRODUCES ## GUID # Signature of Variable store header\r
82 ## CONSUMES ## GUID # Signature of Variable store header\r
83 ## SOMETIMES_CONSUMES ## HOB\r
84 gEfiVariableGuid\r
85 ## SOMETIMES_CONSUMES ## Variable:L"PlatformLang"\r
86 ## SOMETIMES_PRODUCES ## Variable:L"PlatformLang"\r
87 ## SOMETIMES_CONSUMES ## Variable:L"Lang"\r
88 ## SOMETIMES_PRODUCES ## Variable:L"Lang"\r
89 ## SOMETIMES_CONSUMES ## Variable:L"HwErrRecSupport"\r
90 gEfiGlobalVariableGuid\r
91 gSmmVariableWriteGuid ## PRODUCES ## UNDEFINED # Install protocol\r
92 gEfiSystemNvDataFvGuid ## CONSUMES ## GUID\r
93 gEfiHardwareErrorVariableGuid ## SOMETIMES_CONSUMES ## Variable:L"HwErrRec####"\r
94 ## SOMETIMES_CONSUMES ## HOB\r
95 gEdkiiFaultTolerantWriteGuid\r
4edb1866 96 gEdkiiVarErrorFlagGuid ## CONSUMES ## GUID\r
4b738c76
HT
97\r
98[Pcd]\r
6036e94d
SZ
99 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize ## CONSUMES\r
100 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase ## SOMETIMES_CONSUMES\r
101 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 ## CONSUMES\r
102 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize ## CONSUMES\r
103 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize ## CONSUMES\r
104 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize ## CONSUMES\r
105 gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize ## CONSUMES\r
4edb1866
SZ
106 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxUserNvVariableSpaceSize ## CONSUMES\r
107 gEfiMdeModulePkgTokenSpaceGuid.PcdBoottimeReservedNvVariableSpaceSize ## CONSUMES\r
0fb5e515
SZ
108 gEfiMdeModulePkgTokenSpaceGuid.PcdReclaimVariableSpaceAtEndOfDxe ## CONSUMES\r
109\r
4b738c76 110[FeaturePcd]\r
6036e94d
SZ
111 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics ## CONSUMES # statistic the information of variable.\r
112 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate ## CONSUMES\r
4b738c76
HT
113\r
114[Depex]\r
115 TRUE\r
116\r
6036e94d
SZ
117[UserExtensions.TianoCore."ExtraFiles"]\r
118 VariableSmmExtra.uni\r