]> git.proxmox.com Git - mirror_edk2.git/blob - SecurityPkg/VariableAuthenticated/RuntimeDxe/VariableSmmRuntimeDxe.inf
SecurityPkg Variable: Support the new introduced PcdMaxAuthVariableSize.
[mirror_edk2.git] / SecurityPkg / VariableAuthenticated / RuntimeDxe / VariableSmmRuntimeDxe.inf
1 ## @file
2 # Runtime DXE part corresponding to SMM authenticated variable module
3 #
4 # This module installs variable arch protocol and variable write arch protocol to provide
5 # variable service. This module need work together with SMM authenticated variable module.
6 #
7 # Caution: This module requires additional review when modified.
8 # This driver will have external input - variable data.
9 # This external input must be validated carefully to avoid security issues such as
10 # buffer overflow or integer overflow.
11 # The whole SMM authentication variable design relies on the integrity of flash part and SMM.
12 # which is assumed to be protected by platform. All variable code and metadata in flash/SMM Memory
13 # may not be modified without authorization. If platform fails to protect these resources,
14 # the authentication service provided in this driver will be broken, and the behavior is undefined.
15 #
16 # Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
17 # This program and the accompanying materials
18 # are licensed and made available under the terms and conditions of the BSD License
19 # which accompanies this distribution. The full text of the license may be found at
20 # http://opensource.org/licenses/bsd-license.php
21 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
22 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
23 #
24 ##
25
26 [Defines]
27 INF_VERSION = 0x00010005
28 BASE_NAME = VariableAuthSmmRuntimeDxe
29 MODULE_UNI_FILE = VariableAuthSmmRuntimeDxe.uni
30 FILE_GUID = 067E2381-7234-4798-B49C-D5FECBFF6D07
31 MODULE_TYPE = DXE_RUNTIME_DRIVER
32 VERSION_STRING = 1.0
33 ENTRY_POINT = VariableSmmRuntimeInitialize
34
35 #
36 # The following information is for reference only and not required by the build tools.
37 #
38 # VALID_ARCHITECTURES = IA32 X64
39 #
40 # VIRTUAL_ADDRESS_MAP_CALLBACK = VariableAddressChangeEvent
41 #
42
43 [Sources]
44 VariableSmmRuntimeDxe.c
45 Measurement.c
46
47 [Packages]
48 MdePkg/MdePkg.dec
49 MdeModulePkg/MdeModulePkg.dec
50 SecurityPkg/SecurityPkg.dec
51
52 [LibraryClasses]
53 MemoryAllocationLib
54 BaseLib
55 UefiBootServicesTableLib
56 DebugLib
57 UefiRuntimeLib
58 DxeServicesTableLib
59 UefiDriverEntryPoint
60 PcdLib
61 TpmMeasurementLib
62
63 [Protocols]
64 gEfiVariableWriteArchProtocolGuid ## PRODUCES
65 gEfiVariableArchProtocolGuid ## PRODUCES
66 gEfiSmmCommunicationProtocolGuid ## CONSUMES
67 gEdkiiVariableLockProtocolGuid ## PRODUCES
68
69 ## CONSUMES
70 ## NOTIFY
71 ## UNDEFINED # Used to do smm communication
72 gEfiSmmVariableProtocolGuid
73 gEdkiiVarCheckProtocolGuid ## PRODUCES
74
75 [Guids]
76 gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event
77 gEfiEventExitBootServicesGuid ## CONSUMES ## Event
78
79 ## CONSUMES ## UNDEFINED # Locate protocol
80 ## CONSUMES ## UNDEFINED # Protocol notify
81 gSmmVariableWriteGuid
82
83
84 ## SOMETIMES_CONSUMES ## Variable:L"PK"
85 ## SOMETIMES_CONSUMES ## Variable:L"KEK"
86 ## SOMETIMES_CONSUMES ## Variable:L"SecureBoot"
87 gEfiGlobalVariableGuid
88
89 ## SOMETIMES_CONSUMES ## Variable:L"DB"
90 ## SOMETIMES_CONSUMES ## Variable:L"DBX"
91 gEfiImageSecurityDatabaseGuid
92
93 [Pcd]
94 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize ## CONSUMES
95 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize ## CONSUMES
96 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize ## CONSUMES
97
98 [Depex]
99 gEfiSmmCommunicationProtocolGuid
100
101 [UserExtensions.TianoCore."ExtraFiles"]
102 VariableSmmRuntimeDxeExtra.uni