1## @file
2#  General BDS library.
3#
4#  General BDS defines and produce general interfaces for platform BDS driver including:
5#  1) BDS boot policy interface;
6#  2) BDS boot device connect interface;
7#  3) BDS Misc interfaces for mainting boot variable, ouput string, etc.
8#
9#  Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
10#  This program and the accompanying materials
11#  are licensed and made available under the terms and conditions of the BSD License
12#  which accompanies this distribution.  The full text of the license may be found at
13#  http://opensource.org/licenses/bsd-license.php
14#
15#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
16#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17#
18##
19
20[Defines]
21  INF_VERSION                    = 0x00010005
22  BASE_NAME                      = GenericBdsLib
23  MODULE_UNI_FILE                = GenericBdsLib.uni
24  FILE_GUID                      = e405ec31-ccaa-4dd4-83e8-0aec01703f7e
25  MODULE_TYPE                    = DXE_DRIVER
26  VERSION_STRING                 = 1.0
27  LIBRARY_CLASS                  = GenericBdsLib|DXE_DRIVER DXE_RUNTIME_DRIVER UEFI_APPLICATION
28  CONSTRUCTOR                    = GenericBdsLibConstructor
29
30#
31# The following information is for reference only and not required by the build tools.
32#
33#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
34#
35
36[Sources]
37  DevicePath.c
38  Performance.c
39  BdsConnect.c
40  BdsMisc.c
41  BdsConsole.c
42  BdsBoot.c
43  InternalBdsLib.h
44  String.h
45  String.c
46  GenericBdsStrings.uni
47
48[Packages]
49  MdePkg/MdePkg.dec
50  MdeModulePkg/MdeModulePkg.dec
51  IntelFrameworkPkg/IntelFrameworkPkg.dec
52  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
53
54[LibraryClasses]
55  DevicePathLib
56  PeCoffGetEntryPointLib
57  BaseLib
58  HobLib
59  UefiRuntimeServicesTableLib
60  DxeServicesTableLib
61  MemoryAllocationLib
62  UefiLib
63  UefiBootServicesTableLib
64  BaseMemoryLib
65  DebugLib
66  PrintLib
67  PcdLib
68  PerformanceLib
69  TimerLib
70  DxeServicesLib
71  HiiLib
72  ReportStatusCodeLib
73
74[Guids]
75  ## SOMETIMES_CONSUMES ## HOB         # The hob holding memory type information
76  ## SOMETIMES_CONSUMES ## SystemTable # The identifier of memory type information type in system table
77  ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation"
78  ## SOMETIMES_PRODUCES ## Variable:L"MemoryTypeInformation"
79  gEfiMemoryTypeInformationGuid
80  ## SOMETIMES_CONSUMES ## Variable:L"BootXXXX"    # Boot option variable
81  ## SOMETIMES_PRODUCES ## Variable:L"BootXXXX"    # Boot option variable
82  ## SOMETIMES_CONSUMES ## Variable:L"DriverXXXX"  # Driver load option.
83  ## SOMETIMES_PRODUCES ## Variable:L"DriverXXXX"  # Driver load option.
84  ## SOMETIMES_CONSUMES ## Variable:L"BootNext"    # Next Boot Option
85  ## SOMETIMES_PRODUCES ## Variable:L"BootNext"    # Next Boot Option
86  ## SOMETIMES_CONSUMES ## Variable:L"BootOrder"   # The boot option array
87  ## SOMETIMES_PRODUCES ## Variable:L"BootOrder"   # The boot option array
88  ## SOMETIMES_CONSUMES ## Variable:L"DriverOrder" # The driver order list
89  ## SOMETIMES_CONSUMES ## Variable:L"ConIn"       # The device path of console in device
90  ## SOMETIMES_PRODUCES ## Variable:L"ConIn"       # The device path of console in device
91  ## SOMETIMES_CONSUMES ## Variable:L"ConOut"      # The device path of console out device
92  ## SOMETIMES_PRODUCES ## Variable:L"ConOut"      # The device path of console out device
93  ## SOMETIMES_CONSUMES ## Variable:L"ErrOut"      # The device path of error out device
94  ## SOMETIMES_PRODUCES ## Variable:L"ErrOut"      # The device path of error out device
95  ## SOMETIMES_PRODUCES ## Variable:L"BootCurrent" # The boot option of current boot
96  ## SOMETIMES_PRODUCES ## Variable:L"BootNext"    # The number of next boot option
97  gEfiGlobalVariableGuid
98  gEfiFileInfoGuid                              ## SOMETIMES_CONSUMES ## GUID
99  gPerformanceProtocolGuid                      ## SOMETIMES_PRODUCES ## Variable:L"PerfDataMemAddr" # The ACPI address of performance data
100  gLastEnumLangGuid                             ## SOMETIMES_PRODUCES ## Variable:L"LastEnumLang" # Platform language at last time enumeration.
101  gHdBootDevicePathVariablGuid                  ## SOMETIMES_PRODUCES ## Variable:L"HDDP" # The device path of Boot file on Hard device.
102  gBdsLibStringPackageGuid                      ## CONSUMES ## HII # HII String PackageList Guid
103  ## SOMETIMES_PRODUCES ## Variable:L"LegacyDevOrder"
104  ## SOMETIMES_CONSUMES ## Variable:L"LegacyDevOrder"
105  gEfiLegacyDevOrderVariableGuid
106  gEdkiiStatusCodeDataTypeVariableGuid          ## SOMETIMES_CONSUMES ## GUID
107
108[Protocols]
109  gEfiSimpleFileSystemProtocolGuid              ## SOMETIMES_CONSUMES
110  gEfiLoadFileProtocolGuid                      ## SOMETIMES_CONSUMES
111  gEfiSimpleTextOutProtocolGuid                 ## CONSUMES
112  gEfiPciIoProtocolGuid                         ## SOMETIMES_CONSUMES
113  gEfiLoadedImageProtocolGuid                   ## SOMETIMES_CONSUMES
114  gEfiSimpleNetworkProtocolGuid                 ## SOMETIMES_CONSUMES
115  gEfiDebugPortProtocolGuid                     ## SOMETIMES_CONSUMES
116  gEfiSimpleTextInProtocolGuid                  ## CONSUMES
117  gEfiBlockIoProtocolGuid                       ## SOMETIMES_CONSUMES
118  gEfiFirmwareVolume2ProtocolGuid               ## SOMETIMES_CONSUMES
119  gEfiLegacyBiosProtocolGuid                    ## SOMETIMES_CONSUMES
120  gEfiCpuArchProtocolGuid                       ## CONSUMES
121  gEfiDevicePathProtocolGuid                    ## CONSUMES
122  gEfiGraphicsOutputProtocolGuid                ## SOMETIMES_CONSUMES
123  gEfiUgaDrawProtocolGuid |gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport ## SOMETIMES_CONSUMES
124  gEfiOEMBadgingProtocolGuid                    ## SOMETIMES_CONSUMES
125  gEfiHiiFontProtocolGuid                       ## CONSUMES
126  gEfiUserManagerProtocolGuid                   ## SOMETIMES_CONSUMES
127  gEfiUsbIoProtocolGuid                         ## SOMETIMES_CONSUMES
128  gEfiBootLogoProtocolGuid                      ## SOMETIMES_CONSUMES
129
130[FeaturePcd]
131  gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport                   ## CONSUMES
132  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootlogoOnlyEnable ## CONSUMES
133
134[Pcd]
135  gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange ## SOMETIMES_CONSUMES
136  gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeOsLoaderLoad  ## SOMETIMES_CONSUMES
137  gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeOsLoaderStart ## SOMETIMES_CONSUMES
138  gEfiMdeModulePkgTokenSpaceGuid.PcdErrorCodeSetVariable      ## CONSUMES
139  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile      ## CONSUMES
140
141#
142# [BootMode]
143#   RECOVERY_FULL    ## SOMETIMES_CONSUMES # Memory Type Information variable
144#
145
146