1## @file
2# Emulation Variable for EFI_RUNTIME_SERVICES.
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) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
8#
9#  This program and the accompanying materials
10#  are licensed and made available under the terms and conditions of the BSD License
11#  which accompanies this distribution. The full text of the license may be found at
12#  http://opensource.org/licenses/bsd-license.php
13#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15#
16#
17##
18
19[Defines]
20  INF_VERSION                    = 0x00010005
21  BASE_NAME                      = EmuVariableRuntimeDxe
22  MODULE_UNI_FILE                = EmuVariableRuntimeDxe.uni
23  FILE_GUID                      = 02B01AD5-7E59-43e8-A6D8-238180613A5A
24  MODULE_TYPE                    = DXE_RUNTIME_DRIVER
25  VERSION_STRING                 = 1.0
26  ENTRY_POINT                    = VariableServiceInitialize
27
28#
29# The following information is for reference only and not required by the build tools.
30#
31#  VALID_ARCHITECTURES           = IA32 X64 EBC
32#
33
34[Sources]
35  InitVariable.c
36  EmuVariable.c
37  Variable.h
38
39
40[Packages]
41  MdePkg/MdePkg.dec
42  MdeModulePkg/MdeModulePkg.dec
43
44
45[LibraryClasses]
46  BaseLib
47  UefiLib
48  UefiBootServicesTableLib
49  UefiDriverEntryPoint
50  UefiRuntimeLib
51  DebugLib
52  MemoryAllocationLib
53  BaseMemoryLib
54  HobLib
55  PcdLib
56
57[Protocols]
58  gEfiVariableArchProtocolGuid                  ## PRODUCES
59  gEfiVariableWriteArchProtocolGuid             ## PRODUCES
60
61[Guids]
62  gEfiEventVirtualAddressChangeGuid             ## CONSUMES             ## Event
63  ## SOMETIMES_CONSUMES   ## Variable:L"PlatformLang"
64  ## SOMETIMES_PRODUCES   ## Variable:L"PlatformLang"
65  ## SOMETIMES_CONSUMES   ## Variable:L"Lang"
66  ## SOMETIMES_PRODUCES   ## Variable:L"Lang"
67  gEfiGlobalVariableGuid
68  ## PRODUCES             ## GUID # Signature of Variable store header
69  ## CONSUMES             ## GUID # Signature of Variable store header
70  ## SOMETIMES_CONSUMES   ## HOB
71  ## SOMETIMES_PRODUCES   ## SystemTable
72  gEfiVariableGuid
73
74[Pcd]
75  gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved      ## CONSUMES
76  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize                 ## CONSUMES
77  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize    ## CONSUMES
78  gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize               ## CONSUMES
79  gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize                ## CONSUMES
80
81[FeaturePcd]
82  gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics   ## CONSUMES # statistic the information of variable.
83
84[Depex]
85  TRUE
86
87[UserExtensions.TianoCore."ExtraFiles"]
88  EmuVariableRuntimeDxeExtra.uni