2 # This module installs SMM variable protocol into SMM protocol database,
3 # which can be used by SMM driver, and installs SMM variable protocol
4 # into BS protocol database, which can be used to notify the SMM Runtime
5 # Dxe driver that the SMM variable service is ready.
6 # This module should be used with SMM Runtime DXE module together. The
7 # SMM Runtime DXE module would install variable arch protocol and variable
8 # write arch protocol based on SMM variable module.
10 # Caution: This module requires additional review when modified.
11 # This driver will have external input - variable data and communicate buffer in SMM mode.
12 # This external input must be validated carefully to avoid security issue like
13 # buffer overflow, integer overflow.
15 # Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
16 # This program and the accompanying materials
17 # are licensed and made available under the terms and conditions of the BSD License
18 # which accompanies this distribution. The full text of the license may be found at
19 # http://opensource.org/licenses/bsd-license.php
20 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
21 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
27 INF_VERSION = 0x00010005
28 BASE_NAME = VariableSmm
29 MODULE_UNI_FILE = VariableSmm.uni
30 FILE_GUID = 23A089B3-EED5-4ac5-B2AB-43E3298C2343
31 MODULE_TYPE = DXE_SMM_DRIVER
33 PI_SPECIFICATION_VERSION = 0x0001000A
34 ENTRY_POINT = VariableServiceInitialize
37 # The following information is for reference only and not required by the build tools.
39 # VALID_ARCHITECTURES = IA32 X64
52 MdeModulePkg/MdeModulePkg.dec
70 gEfiSmmFirmwareVolumeBlockProtocolGuid ## CONSUMES
73 gEfiSmmFaultTolerantWriteProtocolGuid
75 ## UNDEFINED # SmiHandlerRegister
76 gEfiSmmVariableProtocolGuid
77 gEfiSmmAccess2ProtocolGuid ## CONSUMES
78 gEfiSmmEndOfDxeProtocolGuid ## NOTIFY
79 gEdkiiSmmVarCheckProtocolGuid ## PRODUCES
82 ## PRODUCES ## GUID # Signature of Variable store header
83 ## CONSUMES ## GUID # Signature of Variable store header
84 ## SOMETIMES_CONSUMES ## HOB
86 ## SOMETIMES_CONSUMES ## Variable:L"PlatformLang"
87 ## SOMETIMES_PRODUCES ## Variable:L"PlatformLang"
88 ## SOMETIMES_CONSUMES ## Variable:L"Lang"
89 ## SOMETIMES_PRODUCES ## Variable:L"Lang"
90 ## SOMETIMES_CONSUMES ## Variable:L"HwErrRecSupport"
91 gEfiGlobalVariableGuid
92 gSmmVariableWriteGuid ## PRODUCES ## UNDEFINED # Install protocol
93 gEfiSystemNvDataFvGuid ## CONSUMES ## GUID
94 gEfiHardwareErrorVariableGuid ## SOMETIMES_CONSUMES ## Variable:L"HwErrRec####"
95 ## SOMETIMES_CONSUMES ## HOB
96 gEdkiiFaultTolerantWriteGuid
97 gEdkiiVarErrorFlagGuid ## CONSUMES ## GUID
100 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize ## CONSUMES
101 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase ## SOMETIMES_CONSUMES
102 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 ## CONSUMES
103 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize ## CONSUMES
104 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize ## CONSUMES
105 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize ## CONSUMES
106 gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize ## CONSUMES
107 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxUserNvVariableSpaceSize ## CONSUMES
108 gEfiMdeModulePkgTokenSpaceGuid.PcdBoottimeReservedNvVariableSpaceSize ## CONSUMES
109 gEfiMdeModulePkgTokenSpaceGuid.PcdReclaimVariableSpaceAtEndOfDxe ## CONSUMES
112 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics ## CONSUMES # statistic the information of variable.
113 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate ## CONSUMES
118 [UserExtensions.TianoCore."ExtraFiles"]