]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf
62361c299a3f16f9464632588354c520406e076e
[mirror_edk2.git] / MdeModulePkg / Universal / Variable / RuntimeDxe / VariableSmm.inf
1 ## @file
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.
9 #
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.
14 #
15 # Copyright (c) 2010 - 2014, 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.
22 #
23 #
24 ##
25
26 [Defines]
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
32 VERSION_STRING = 1.0
33 PI_SPECIFICATION_VERSION = 0x0001000A
34 ENTRY_POINT = VariableServiceInitialize
35
36 #
37 # The following information is for reference only and not required by the build tools.
38 #
39 # VALID_ARCHITECTURES = IA32 X64
40 #
41
42
43 [Sources]
44 Reclaim.c
45 Variable.c
46 VariableSmm.c
47 Variable.h
48
49 [Packages]
50 MdePkg/MdePkg.dec
51 MdeModulePkg/MdeModulePkg.dec
52
53 [LibraryClasses]
54 UefiDriverEntryPoint
55 MemoryAllocationLib
56 BaseLib
57 SynchronizationLib
58 UefiLib
59 SmmServicesTableLib
60 BaseMemoryLib
61 DebugLib
62 DxeServicesTableLib
63 HobLib
64 PcdLib
65
66 [Protocols]
67 gEfiSmmFirmwareVolumeBlockProtocolGuid ## CONSUMES
68 ## CONSUMES
69 ## NOTIFY
70 gEfiSmmFaultTolerantWriteProtocolGuid
71 ## PRODUCES
72 ## UNDEFINED # SmiHandlerRegister
73 gEfiSmmVariableProtocolGuid
74 gEfiSmmAccess2ProtocolGuid ## CONSUMES
75 gEfiSmmEndOfDxeProtocolGuid ## CONSUMES
76
77 [Guids]
78 ## PRODUCES ## GUID # Signature of Variable store header
79 ## CONSUMES ## GUID # Signature of Variable store header
80 ## SOMETIMES_CONSUMES ## HOB
81 gEfiVariableGuid
82 ## SOMETIMES_CONSUMES ## Variable:L"PlatformLang"
83 ## SOMETIMES_PRODUCES ## Variable:L"PlatformLang"
84 ## SOMETIMES_CONSUMES ## Variable:L"Lang"
85 ## SOMETIMES_PRODUCES ## Variable:L"Lang"
86 ## SOMETIMES_CONSUMES ## Variable:L"HwErrRecSupport"
87 gEfiGlobalVariableGuid
88 gSmmVariableWriteGuid ## PRODUCES ## UNDEFINED # Install protocol
89 gEfiSystemNvDataFvGuid ## CONSUMES ## GUID
90 gEfiHardwareErrorVariableGuid ## SOMETIMES_CONSUMES ## Variable:L"HwErrRec####"
91 ## SOMETIMES_CONSUMES ## HOB
92 gEdkiiFaultTolerantWriteGuid
93
94 [Pcd]
95 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize ## CONSUMES
96 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase ## SOMETIMES_CONSUMES
97 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 ## CONSUMES
98 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize ## CONSUMES
99 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize ## CONSUMES
100 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize ## CONSUMES
101 gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize ## CONSUMES
102
103 [FeaturePcd]
104 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics ## CONSUMES # statistic the information of variable.
105 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate ## CONSUMES
106
107 [Depex]
108 TRUE
109
110 [UserExtensions.TianoCore."ExtraFiles"]
111 VariableSmmExtra.uni