#/** @file # # BDSDxe module is core driver for BDS phase. # When DxeCore dispatching all DXE driver, this module will produce architecture protocol # gEfiBdsArchProtocolGuid. After DxeCore finish dispatching, DxeCore will invoke Entry # interface of protocol gEfiBdsArchProtocolGuid, then BDS phase is entered. # # Generally, this module take reposiblity to connect all necessary devices for platform boot, # these boot device path are hold in PlatformBdsLib library instance produced by platform. # For legacy boot, BDS will transfer control to legacy BIOS after legacy boot device is select. # For EFI boot, BDS will load boot loader file EFI\BOOT\BOOTIA32.EFI, EFI\BOOT\BOOTX64.EFI, # EFI\BOOT\BOOTIA64.EFI file from selected boot device and transfer control to boot loader. # # BDSDxe also maintain the UI for "Boot Manager, Boot Maintaince Manager, Device Manager" which # is used for user to configure boot option or maintain hardware device. # # Copyright (c) 2008 - 2009, Intel Corporation.
# All rights reserved. This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at # http://opensource.org/licenses/bsd-license.php # # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # #**/ [Defines] INF_VERSION = 0x00010005 BASE_NAME = BdsDxe FILE_GUID = FC5C7020-1A48-4198-9BE2-EAD5ABC8CF2F MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 EFI_SPECIFICATION_VERSION = 0x00020000 ENTRY_POINT = BdsInitialize # # The following information is for reference only and not required by the build tools. # # VALID_ARCHITECTURES = IA32 X64 IPF EBC # [Sources.common] FrontPage.h Language.h Bds.h Hotkey.h BootMaint/BBSsupport.h BootMngr/BootManager.h BootMaint/BootMaint.h String.h BootMaint/FormGuid.h HwErrRecSupport.c HwErrRecSupport.h DeviceMngr/DeviceManager.h DeviceMngr/DeviceManagerVfr.Vfr DeviceMngr/DeviceManagerStrings.uni DeviceMngr/DeviceManager.c BootMngr/BootManagerVfr.Vfr BootMngr/BootManagerStrings.uni BootMngr/BootManager.c BootMaint/FE.vfr BootMaint/FileExplorer.c BootMaint/BootMaint.c BootMaint/BBSsupport.c BootMaint/UpdatePage.c BootMaint/Variable.c BootMaint/Data.c BootMaint/ConsoleOption.c BootMaint/BootOption.c BootMaint/BmLib.c BootMaint/Bm.vfr BootMaint/Bmstring.uni Hotkey.c MemoryTest.c Capsules.c Strings.uni String.c Language.c FrontPageVfr.Vfr FrontPageStrings.uni FrontPage.c BdsEntry.c [Packages] MdePkg/MdePkg.dec MdeModulePkg/MdeModulePkg.dec IntelFrameworkPkg/IntelFrameworkPkg.dec IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec [LibraryClasses] DevicePathLib BaseLib HobLib UefiRuntimeServicesTableLib GenericBdsLib ReportStatusCodeLib PerformanceLib MemoryAllocationLib UefiLib UefiBootServicesTableLib BaseMemoryLib DebugLib PrintLib HiiLib UefiDriverEntryPoint PlatformBdsLib CapsuleLib PcdLib [Guids] gEfiGlobalVariableGuid ## SOMETIMES_PRODUCES ## Variable:L"BootNext" (The number of next boot option) ## SOMETIMES_PRODUCES ## Variable:L"BootXX" (Boot option variable) ## SOMETIMES_PRODUCES ## Variable:L"PlatformLang" (Platform supported languange in Rfc4646 format) ## SOMETIMES_PRODUCES ## Variable:L"Lang" (Platform supported languange in Iso639 format) ## SOMETIMES_PRODUCES ## Variable:L"KeyOrder" (Number of hotkey) ## SOMETIMES_PRODUCES ## Variable:L"KeyXX" (Hotkey option variable) ## PRODUCES ## Variable:L"HwErrRecSupport" (The level of platform supported hardware Error Record Persistence) ## 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 ## SOMETIMES_PRODUCES (not PcdUefiVariableDefaultLangDeprecate)## Variable:L"LangCodes" (Value of PcdUefiVariableDefaultLangCodes) ## PRODUCES ## Variable:L"PlatformLangCodes" (Value of PcdUefiVariableDefaultPlatformLangCodes) ## PRODUCES ## Variable:L"Timeout" (The time out value in second of showing progress bar) ## SOMETIMES_PRODUCES ## Variable:L"BootOrder" (The boot option array) ## SOMETIMES_PRODUCES ## Variable:L"DriverOrder" (The driver order list) ## SOMETIMES_CONSUMES ## Variable:L"ConIn" (The device path of console in device) ## SOMETIMES_CONSUMES ## Variable:L"ConOut" (The device path of console out device) ## SOMETIMES_CONSUMES ## Variable:L"ErrOut" (The device path of error out device) gEfiFileSystemVolumeLabelInfoIdGuid ## CONSUMES ## GUID (Indicate the information type is volume) gEfiFileInfoGuid ## CONSUMES ## GUID (Indicate the information type is file) gEfiMiscSubClassGuid ## CONSUMES ## GUID (Indicate the datahub for holding misc sub class record) gEfiMemorySubClassGuid ## CONSUMES ## GUID (Indicate the datahub for holding memory record) gEfiProcessorSubClassGuid ## CONSUMES ## GUID (Indicate the datahub for holding processor record) gEfiCapsuleVendorGuid ## CONSUMES ## GUID (Indicate the hob for holding capsule update image) gEfiHiiPlatformSetupFormsetGuid ## CONSUMES ## GUID (Indicate the formset class guid to be displayed) gEfiIfrTianoGuid ## CONSUMES ## GUID (Extended IFR Guid Opcode) [Protocols] gEfiHiiStringProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiSimpleFileSystemProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiLoadFileProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiBdsArchProtocolGuid # PROTOCOL ALWAYS_PRODUCES gEfiDataHubProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiGenericMemTestProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiLegacyBiosProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiHiiDatabaseProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiUgaDrawProtocolGuid |PcdUgaConsumeSupport # PROTOCOL SOMETIMES_CONSUMES gEfiBlockIoProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiGraphicsOutputProtocolGuid # PROTOCOL SOMETIMES_CONSUMES gEfiSimpleTextInputExProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiHiiConfigRoutingProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiHiiConfigAccessProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiFormBrowser2ProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiSerialIoProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiDevicePathProtocolGuid # PROTOCOL ALWAYS_CONSUMES [FeaturePcd.common] gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport [Pcd.common] gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangCodes gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLang gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLangCodes gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLang gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootState [Depex] TRUE # # [BootMode] # BOOT_ON_FLASH_UPDATE ## SOMETIMES_CONSUMES (Update Capsule Image) # # # [Hob] # HOB ## SOMETIMES_CONSUMES ## GUID EXTENSION Capsule Data Hob # #