## @file\r
-# \r
+# General BDS library.\r
+#\r
# General BDS defines and produce general interfaces for platform BDS driver including:\r
# 1) BDS boot policy interface;\r
# 2) BDS boot device connect interface;\r
# 3) BDS Misc interfaces for mainting boot variable, ouput string, etc.\r
-# \r
-# Copyright (c) 2007 - 2012, Intel Corporation. All rights reserved.<BR>\r
+#\r
+# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
# which accompanies this distribution. The full text of the license may be found at\r
# http://opensource.org/licenses/bsd-license.php\r
-# \r
+#\r
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-# \r
+#\r
##\r
\r
[Defines]\r
INF_VERSION = 0x00010005\r
BASE_NAME = GenericBdsLib\r
+ MODULE_UNI_FILE = GenericBdsLib.uni\r
FILE_GUID = e405ec31-ccaa-4dd4-83e8-0aec01703f7e\r
MODULE_TYPE = DXE_DRIVER\r
VERSION_STRING = 1.0\r
- LIBRARY_CLASS = GenericBdsLib|DXE_DRIVER UEFI_APPLICATION \r
+ LIBRARY_CLASS = GenericBdsLib|DXE_DRIVER DXE_RUNTIME_DRIVER UEFI_APPLICATION\r
CONSTRUCTOR = GenericBdsLibConstructor\r
\r
#\r
# The following information is for reference only and not required by the build tools.\r
#\r
-# VALID_ARCHITECTURES = IA32 X64 IPF EBC\r
+# VALID_ARCHITECTURES = IA32 X64 EBC\r
#\r
\r
[Sources]\r
DevicePath.c\r
- Performance.c\r
BdsConnect.c\r
BdsMisc.c\r
BdsConsole.c\r
String.h\r
String.c\r
GenericBdsStrings.uni\r
- \r
+\r
[Packages]\r
MdePkg/MdePkg.dec\r
MdeModulePkg/MdeModulePkg.dec\r
DxeServicesLib\r
HiiLib\r
ReportStatusCodeLib\r
+ BmpSupportLib\r
\r
[Guids]\r
- gEfiVT100PlusGuid ## CONSUMES ## GUID (The type of terminal)\r
- gEfiVT100Guid ## CONSUMES ## GUID (The type of terminal)\r
- ## CONSUMES ## GUID HOB (The hob holding memory type information)\r
- gEfiMemoryTypeInformationGuid ## CONSUMES ## GUID (The identifier of memory type information type in system table)\r
- gEfiVTUTF8Guid ## CONSUMES ## GUID (The type of terminal)\r
- ## SOMETIMES_CONSUMES ## Variable:L"BootXX" (Boot option variable)\r
- ## CONSUMES ## Variable:L"Timeout" (The time out value in second of showing progress bar)\r
- ## SOMETIMES_CONSUMES ## Variable:L"BootOrder" (The boot option array)\r
- ## SOMETIMES_CONSUMES ## Variable:L"DriverOrder" (The driver order list)\r
- ## SOMETIMES_CONSUMES ## Variable:L"ConIn" (The device path of console in device)\r
- ## SOMETIMES_CONSUMES ## Variable:L"ConOut" (The device path of console out device)\r
- ## SOMETIMES_CONSUMES ## Variable:L"ErrOut" (The device path of error out device)\r
- gEfiGlobalVariableGuid ## SOMETIMES_PRODUCES ## Variable:L"BootCurrent" (The boot option of current boot)\r
- gEfiFileInfoGuid ## CONSUMES ## GUID\r
- gEfiPcAnsiGuid ## CONSUMES ## GUID (The type of terminal)\r
- gPerformanceProtocolGuid ## SOMETIMES_PRODUCES ## Variable:L"PerfDataMemAddr" (The ACPI address of performance data)\r
- gEfiUartDevicePathGuid ## CONSUMES ## GUID (Identify the device path for UARD device)\r
- gEfiSasDevicePathGuid ## CONSUMES ## GUID (Identify the device path for SAS device)\r
- gLastEnumLangGuid ## SOMETIMES_PRODUCES ## Variable:L"LastEnumLang" (Platform language at last time enumeration.)\r
- gHdBootDevicePathVariablGuid ## SOMETIMES_PRODUCES ## Variable:L"HDDP" (The device path of Boot file on Hard device.)\r
- gBdsLibStringPackageGuid ## PRODUCES ## GUID (HII String PackageList Guid)\r
+ ## SOMETIMES_CONSUMES ## HOB # The hob holding memory type information\r
+ ## SOMETIMES_CONSUMES ## SystemTable # The identifier of memory type information type in system table\r
+ ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation"\r
+ ## SOMETIMES_PRODUCES ## Variable:L"MemoryTypeInformation"\r
+ gEfiMemoryTypeInformationGuid\r
+ ## SOMETIMES_CONSUMES ## Variable:L"BootXXXX" # Boot option variable\r
+ ## SOMETIMES_PRODUCES ## Variable:L"BootXXXX" # Boot option variable\r
+ ## SOMETIMES_CONSUMES ## Variable:L"DriverXXXX" # Driver load option.\r
+ ## SOMETIMES_PRODUCES ## Variable:L"DriverXXXX" # Driver load option.\r
+ ## SOMETIMES_CONSUMES ## Variable:L"BootNext" # Next Boot Option\r
+ ## SOMETIMES_PRODUCES ## Variable:L"BootNext" # Next Boot Option\r
+ ## SOMETIMES_CONSUMES ## Variable:L"BootOrder" # The boot option array\r
+ ## SOMETIMES_PRODUCES ## Variable:L"BootOrder" # The boot option array\r
+ ## SOMETIMES_CONSUMES ## Variable:L"DriverOrder" # The driver order list\r
+ ## SOMETIMES_CONSUMES ## Variable:L"ConIn" # The device path of console in device\r
+ ## SOMETIMES_PRODUCES ## Variable:L"ConIn" # The device path of console in device\r
+ ## SOMETIMES_CONSUMES ## Variable:L"ConOut" # The device path of console out device\r
+ ## SOMETIMES_PRODUCES ## Variable:L"ConOut" # The device path of console out device\r
+ ## SOMETIMES_CONSUMES ## Variable:L"ErrOut" # The device path of error out device\r
+ ## SOMETIMES_PRODUCES ## Variable:L"ErrOut" # The device path of error out device\r
+ ## SOMETIMES_PRODUCES ## Variable:L"BootCurrent" # The boot option of current boot\r
+ ## SOMETIMES_PRODUCES ## Variable:L"BootNext" # The number of next boot option\r
+ gEfiGlobalVariableGuid\r
+ gEfiFileInfoGuid ## SOMETIMES_CONSUMES ## GUID\r
+ gLastEnumLangGuid ## SOMETIMES_PRODUCES ## Variable:L"LastEnumLang" # Platform language at last time enumeration.\r
+ gHdBootDevicePathVariablGuid ## SOMETIMES_PRODUCES ## Variable:L"HDDP" # The device path of Boot file on Hard device.\r
+ gBdsLibStringPackageGuid ## CONSUMES ## HII # HII String PackageList Guid\r
+ ## SOMETIMES_PRODUCES ## Variable:L"LegacyDevOrder"\r
+ ## SOMETIMES_CONSUMES ## Variable:L"LegacyDevOrder"\r
+ gEfiLegacyDevOrderVariableGuid\r
+ gEdkiiStatusCodeDataTypeVariableGuid ## SOMETIMES_CONSUMES ## GUID\r
\r
[Protocols]\r
- gEfiSimpleFileSystemProtocolGuid # PROTOCOL CONSUMES\r
- gEfiLoadFileProtocolGuid # PROTOCOL CONSUMES\r
- gEfiSimpleTextOutProtocolGuid # PROTOCOL CONSUMES\r
- gEfiPciIoProtocolGuid # PROTOCOL CONSUMES\r
- gEfiLoadedImageProtocolGuid # PROTOCOL CONSUMES\r
- gEfiDevicePathToTextProtocolGuid # PROTOCOL SOMETIMES_CONSUMES\r
- gEfiSimpleNetworkProtocolGuid # PROTOCOL CONSUMES\r
- gEfiDebugPortProtocolGuid # PROTOCOL CONSUMES\r
- gEfiSimpleTextInProtocolGuid # PROTOCOL CONSUMES\r
- gEfiBlockIoProtocolGuid # PROTOCOL CONSUMES\r
- gEfiFirmwareVolume2ProtocolGuid # PROTOCOL CONSUMES\r
- gEfiLegacyBiosProtocolGuid # PROTOCOL SOMETIMES_CONSUMES\r
- gEfiCpuArchProtocolGuid # PROTOCOL CONSUMES\r
- gEfiDevicePathProtocolGuid # PROTOCOL CONSUMES\r
- gEfiAcpiS3SaveProtocolGuid # PROTOCOL CONSUMES\r
- gEfiGraphicsOutputProtocolGuid # PROTOCOL SOMETIMES_CONSUMES\r
- gEfiUgaDrawProtocolGuid |gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport # PROTOCOL SOMETIMES_CONSUMES\r
- gEfiOEMBadgingProtocolGuid # PROTOCOL CONSUMES\r
- gEfiHiiFontProtocolGuid # PROTOCOL CONSUMES\r
- gEfiUserManagerProtocolGuid # PROTOCOL CONSUMES\r
- gEfiUsbIoProtocolGuid # PROTOCOL SOMETIMES_CONSUMES\r
- gEfiBootLogoProtocolGuid # PROTOCOL SOMETIMES_CONSUMES\r
+ gEfiSimpleFileSystemProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiLoadFileProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiSimpleTextOutProtocolGuid ## CONSUMES\r
+ gEfiPciIoProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiLoadedImageProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiSimpleNetworkProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiDebugPortProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiSimpleTextInProtocolGuid ## CONSUMES\r
+ gEfiBlockIoProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiFirmwareVolume2ProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiLegacyBiosProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiCpuArchProtocolGuid ## CONSUMES\r
+ gEfiDevicePathProtocolGuid ## CONSUMES\r
+ gEfiGraphicsOutputProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiUgaDrawProtocolGuid |gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport ## SOMETIMES_CONSUMES\r
+ gEfiOEMBadgingProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiHiiFontProtocolGuid ## CONSUMES\r
+ gEfiUserManagerProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiUsbIoProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiBootLogoProtocolGuid ## SOMETIMES_CONSUMES\r
\r
[FeaturePcd]\r
- gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootlogoOnlyEnable\r
+ gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport ## CONSUMES\r
+ gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootlogoOnlyEnable ## CONSUMES\r
\r
[Pcd]\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeOsLoaderLoad\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeOsLoaderStart\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange ## SOMETIMES_CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeOsLoaderLoad ## SOMETIMES_CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeOsLoaderStart ## SOMETIMES_CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdErrorCodeSetVariable ## CONSUMES\r
+ gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile ## CONSUMES\r
+\r
+#\r
+# [BootMode]\r
+# RECOVERY_FULL ## SOMETIMES_CONSUMES # Memory Type Information variable\r
+#\r
+\r