+## @file\r
+# BdsDxe module is core driver for BDS phase.\r
+#\r
+# When DxeCore dispatching all DXE driver, this module will produce architecture protocol \r
+# gEfiBdsArchProtocolGuid. After DxeCore finish dispatching, DxeCore will invoke Entry\r
+# interface of protocol gEfiBdsArchProtocolGuid, then BDS phase is entered.\r
+# \r
+# Copyright (c) 2008 - 2015, 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
+# 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
+[Defines]\r
+ INF_VERSION = 0x00010005\r
+ BASE_NAME = BdsDxe\r
+ FILE_GUID = 6D33944A-EC75-4855-A54D-809C75241F6C\r
+ MODULE_TYPE = DXE_DRIVER\r
+ VERSION_STRING = 1.0 \r
+ ENTRY_POINT = BdsInitialize\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
+#\r
+\r
+[Sources]\r
+ Language.h\r
+ Bds.h\r
+ HwErrRecSupport.c\r
+ HwErrRecSupport.h\r
+ Language.c\r
+ BdsEntry.c\r
+\r
+\r
+[Packages]\r
+ MdePkg/MdePkg.dec\r
+ MdeModulePkg/MdeModulePkg.dec\r
+\r
+[LibraryClasses]\r
+ DevicePathLib\r
+ BaseLib\r
+ MemoryAllocationLib\r
+ UefiDriverEntryPoint\r
+ UefiBootServicesTableLib\r
+ UefiRuntimeServicesTableLib\r
+ ReportStatusCodeLib\r
+ UefiLib\r
+ BaseMemoryLib\r
+ DebugLib\r
+ UefiBootManagerLib\r
+ PlatformBootManagerLib\r
+ PcdLib\r
+\r
+[Guids]\r
+ gEfiGlobalVariableGuid ## SOMETIMES_PRODUCES ## Variable:L"BootNext" (The number of next boot option)\r
+ ## SOMETIMES_PRODUCES ## Variable:L"Boot####" (Boot option variable)\r
+ ## SOMETIMES_PRODUCES ## Variable:L"PlatformLang" (Platform supported languange in Rfc4646 format)\r
+ ## SOMETIMES_PRODUCES ## Variable:L"Lang" (Platform supported languange in Iso639 format)\r
+ ## SOMETIMES_PRODUCES ## Variable:L"Key####" (Hotkey option variable)\r
+ ## PRODUCES ## Variable:L"HwErrRecSupport" (The level of platform supported hardware Error Record Persistence)\r
+ ## SOMETIMES_PRODUCES ## Variable:L"BootOptionSupport" (The feature supported in boot option menu, value could be: EFI_BOOT_OPTION_SUPPORT_KEY, EFI_BOOT_OPTION_SUPPORT_APP\r
+ ## SOMETIMES_PRODUCES (not PcdUefiVariableDefaultLangDeprecate) ## Variable:L"LangCodes" (Value of PcdUefiVariableDefaultLangCodes)\r
+ ## PRODUCES ## Variable:L"PlatformLangCodes" (Value of PcdUefiVariableDefaultPlatformLangCodes)\r
+ ## PRODUCES ## Variable:L"Timeout" (The time out value in second of showing progress bar)\r
+ ## SOMETIMES_PRODUCES ## Variable:L"BootOrder" (The boot option array)\r
+ ## SOMETIMES_PRODUCES ## 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
+ gConnectConInEventGuid ## SOMETIMES_CONSUMES ## Event\r
+ gEdkiiStatusCodeDataTypeVariableGuid ## SOMETIMES_CONSUMES ## GUID\r
+\r
+[Protocols]\r
+ gEfiBdsArchProtocolGuid ## PRODUCES\r
+ gEfiSimpleTextInputExProtocolGuid ## CONSUMES\r
+ gEdkiiVariableLockProtocolGuid ## CONSUMES\r
+\r
+[FeaturePcd]\r
+ gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate ## CONSUMES\r
+\r
+[Pcd]\r
+ gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangCodes ## CONSUMES\r
+ gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLang ## SOMETIMES_CONSUMES\r
+ gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLangCodes ## CONSUMES\r
+ gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLang ## CONSUMES\r
+ gEfiMdePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel ## CONSUMES\r
+ gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareRevision ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdConInConnectOnDemand ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdErrorCodeSetVariable ## SOMETIMES_CONSUMES\r
+\r
+[Depex]\r
+ TRUE\r