1## @file
2#  Provides authenticated variable service for IPF platform
3#
4#  This module installs variable arch protocol and variable write arch protocol to provide
5#  four EFI_RUNTIME_SERVICES: SetVariable, GetVariable, GetNextVariableName and QueryVariableInfo.
6#
7# Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
8# This program and the accompanying materials
9# are licensed and made available under the terms and conditions of the BSD License
10# which accompanies this distribution. The full text of the license may be found at
11# http://opensource.org/licenses/bsd-license.php
12# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14#
15##
16
17[Defines]
18  INF_VERSION                    = 0x00010005
19  BASE_NAME                      = EsalVariableDxeSal
20  MODULE_UNI_FILE                = EsalVariableDxeSal.uni
21  FILE_GUID                      = 14610837-4E97-4427-96E0-21D9B2956996
22  MODULE_TYPE                    = DXE_SAL_DRIVER
23  VERSION_STRING                 = 1.0
24
25  ENTRY_POINT                    = VariableServiceInitialize
26
27#
28# The following information is for reference only and not required by the build tools.
29#
30#  VALID_ARCHITECTURES           = IPF
31#
32#  VIRTUAL_ADDRESS_MAP_CALLBACK  =  VariableClassAddressChangeEvent
33#
34
35[Sources.common]
36  InitVariable.c
37  Reclaim.c
38  Variable.c
39  Variable.h
40  AuthService.c
41  AuthService.h
42
43[Packages]
44  MdePkg/MdePkg.dec
45  MdeModulePkg/MdeModulePkg.dec
46  CryptoPkg/CryptoPkg.dec
47  SecurityPkg/SecurityPkg.dec
48
49[LibraryClasses]
50  MemoryAllocationLib
51  BaseLib
52  SynchronizationLib
53  UefiLib
54  UefiBootServicesTableLib
55  BaseMemoryLib
56  DebugLib
57  UefiRuntimeLib
58  DxeServicesTableLib
59  UefiDriverEntryPoint
60  PcdLib
61  ExtendedSalLib
62  BaseCryptLib
63  HobLib
64
65[Protocols]
66  gEfiFirmwareVolumeBlockProtocolGuid           ## SOMETIMES_CONSUMES
67  gEfiFaultTolerantWriteProtocolGuid            ## SOMETIMES_CONSUMES
68
69[Guids]
70  ## SOMETIMES_CONSUMES   ## Variable:L"PK"
71  ## CONSUMES             ## Variable:L"SetupMode"
72  ## PRODUCES             ## Variable:L"SetupMode"
73  ## CONSUMES             ## Variable:L"SignatureSupport"
74  ## PRODUCES             ## Variable:L"SignatureSupport"
75  gEfiGlobalVariableGuid
76
77  ## PRODUCES             ## GUID # Variable store header
78  ## CONSUMES             ## GUID # Variable store header
79  ## SOMETIMES_CONSUMES   ## HOB
80  ## SOMETIMES_PRODUCES   ## SystemTable
81  gEfiAuthenticatedVariableGuid
82
83  gEfiEventVirtualAddressChangeGuid             ## CONSUMES               ## Event
84  gEfiCertRsa2048Sha256Guid                     ## CONSUMES               ## GUID        # Unique ID for the format of the CertType.
85
86  ## SOMETIMES_CONSUMES   ## Variable:L"DB"
87  ## SOMETIMES_CONSUMES   ## Variable:L"DBX"
88  gEfiImageSecurityDatabaseGuid
89
90[Pcd.common]
91  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize            ## CONSUMES
92  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase            ## SOMETIMES_CONSUMES
93  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize                       ## CONSUMES
94  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize          ## CONSUMES
95  gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize                     ## CONSUMES
96  gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize                      ## CONSUMES
97
98[FeaturePcd.common]
99  gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics             ## CONSUMES    # statistic the information of variable.
100
101[Depex]
102  gEfiExtendedSalFvBlockServicesProtocolGuid AND gEfiFaultTolerantWriteProtocolGuid
103
104[UserExtensions.TianoCore."ExtraFiles"]
105  EsalVariableDxeSalExtra.uni