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  NetLib
74
75[Guids]
76  ## SOMETIMES_CONSUMES ## HOB         # The hob holding memory type information
77  ## SOMETIMES_CONSUMES ## SystemTable # The identifier of memory type information type in system table
78  ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation"
79  ## SOMETIMES_PRODUCES ## Variable:L"MemoryTypeInformation"
80  gEfiMemoryTypeInformationGuid
81  ## SOMETIMES_CONSUMES ## Variable:L"BootXXXX"    # Boot option variable
82  ## SOMETIMES_PRODUCES ## Variable:L"BootXXXX"    # Boot option variable
83  ## SOMETIMES_CONSUMES ## Variable:L"DriverXXXX"  # Driver load option.
84  ## SOMETIMES_PRODUCES ## Variable:L"DriverXXXX"  # Driver load option.
85  ## SOMETIMES_CONSUMES ## Variable:L"BootNext"    # Next Boot Option
86  ## SOMETIMES_PRODUCES ## Variable:L"BootNext"    # Next Boot Option
87  ## SOMETIMES_CONSUMES ## Variable:L"BootOrder"   # The boot option array
88  ## SOMETIMES_PRODUCES ## Variable:L"BootOrder"   # The boot option array
89  ## SOMETIMES_CONSUMES ## Variable:L"DriverOrder" # The driver order list
90  ## SOMETIMES_CONSUMES ## Variable:L"ConIn"       # The device path of console in device
91  ## SOMETIMES_PRODUCES ## Variable:L"ConIn"       # The device path of console in device
92  ## SOMETIMES_CONSUMES ## Variable:L"ConOut"      # The device path of console out device
93  ## SOMETIMES_PRODUCES ## Variable:L"ConOut"      # The device path of console out device
94  ## SOMETIMES_CONSUMES ## Variable:L"ErrOut"      # The device path of error out device
95  ## SOMETIMES_PRODUCES ## Variable:L"ErrOut"      # The device path of error out device
96  ## SOMETIMES_PRODUCES ## Variable:L"BootCurrent" # The boot option of current boot
97  ## SOMETIMES_PRODUCES ## Variable:L"BootNext"    # The number of next boot option
98  gEfiGlobalVariableGuid
99  gEfiFileInfoGuid                              ## SOMETIMES_CONSUMES ## GUID
100  gPerformanceProtocolGuid                      ## SOMETIMES_PRODUCES ## Variable:L"PerfDataMemAddr" # The ACPI address of performance data
101  gLastEnumLangGuid                             ## SOMETIMES_PRODUCES ## Variable:L"LastEnumLang" # Platform language at last time enumeration.
102  gHdBootDevicePathVariablGuid                  ## SOMETIMES_PRODUCES ## Variable:L"HDDP" # The device path of Boot file on Hard device.
103  gBdsLibStringPackageGuid                      ## CONSUMES ## HII # HII String PackageList Guid
104  ## SOMETIMES_PRODUCES ## Variable:L"LegacyDevOrder"
105  ## SOMETIMES_CONSUMES ## Variable:L"LegacyDevOrder"
106  gEfiLegacyDevOrderVariableGuid
107  gEdkiiStatusCodeDataTypeVariableGuid          ## SOMETIMES_CONSUMES ## GUID
108
109[Protocols]
110  gEfiSimpleFileSystemProtocolGuid              ## SOMETIMES_CONSUMES
111  gEfiLoadFileProtocolGuid                      ## SOMETIMES_CONSUMES
112  gEfiSimpleTextOutProtocolGuid                 ## CONSUMES
113  gEfiPciIoProtocolGuid                         ## SOMETIMES_CONSUMES
114  gEfiLoadedImageProtocolGuid                   ## SOMETIMES_CONSUMES
115  gEfiSimpleNetworkProtocolGuid                 ## SOMETIMES_CONSUMES
116  gEfiDebugPortProtocolGuid                     ## SOMETIMES_CONSUMES
117  gEfiSimpleTextInProtocolGuid                  ## CONSUMES
118  gEfiBlockIoProtocolGuid                       ## SOMETIMES_CONSUMES
119  gEfiFirmwareVolume2ProtocolGuid               ## SOMETIMES_CONSUMES
120  gEfiLegacyBiosProtocolGuid                    ## SOMETIMES_CONSUMES
121  gEfiCpuArchProtocolGuid                       ## CONSUMES
122  gEfiDevicePathProtocolGuid                    ## CONSUMES
123  gEfiAcpiS3SaveProtocolGuid                    ## SOMETIMES_CONSUMES
124  gEfiGraphicsOutputProtocolGuid                ## SOMETIMES_CONSUMES
125  gEfiUgaDrawProtocolGuid |gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport ## SOMETIMES_CONSUMES
126  gEfiOEMBadgingProtocolGuid                    ## SOMETIMES_CONSUMES
127  gEfiHiiFontProtocolGuid                       ## CONSUMES
128  gEfiUserManagerProtocolGuid                   ## SOMETIMES_CONSUMES
129  gEfiUsbIoProtocolGuid                         ## SOMETIMES_CONSUMES
130  gEfiBootLogoProtocolGuid                      ## SOMETIMES_CONSUMES
131
132[FeaturePcd]
133  gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport                   ## CONSUMES
134  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootlogoOnlyEnable ## CONSUMES
135
136[Pcd]
137  gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange ## SOMETIMES_CONSUMES
138  gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeOsLoaderLoad  ## SOMETIMES_CONSUMES
139  gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeOsLoaderStart ## SOMETIMES_CONSUMES
140  gEfiMdeModulePkgTokenSpaceGuid.PcdErrorCodeSetVariable      ## CONSUMES
141  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile      ## CONSUMES
142
143#
144# [BootMode]
145#   RECOVERY_FULL    ## SOMETIMES_CONSUMES # Memory Type Information variable
146#
147
148