1## @file 2# BDSDxe module is core driver for BDS phase. 3# 4# When DxeCore dispatching all DXE driver, this module will produce architecture protocol 5# gEfiBdsArchProtocolGuid. After DxeCore finish dispatching, DxeCore will invoke Entry 6# interface of protocol gEfiBdsArchProtocolGuid, then BDS phase is entered. 7# 8# Generally, this module take reposiblity to connect all necessary devices for platform boot, 9# these boot device path are hold in PlatformBdsLib library instance produced by platform. 10# For legacy boot, BDS will transfer control to legacy BIOS after legacy boot device is select. 11# For EFI boot, BDS will load boot loader file EFI\BOOT\BOOTIA32.EFI, EFI\BOOT\BOOTX64.EFI, 12# EFI\BOOT\BOOTIA64.EFI file from selected boot device and transfer control to boot loader. 13# 14# BDSDxe also maintain the UI for "Boot Manager, Boot Maintaince Manager, Device Manager" which 15# is used for user to configure boot option or maintain hardware device. 16# 17# Copyright (c) 2008 - 2015, Intel Corporation. All rights reserved.<BR> 18# This program and the accompanying materials 19# are licensed and made available under the terms and conditions of the BSD License 20# which accompanies this distribution. The full text of the license may be found at 21# http://opensource.org/licenses/bsd-license.php 22# 23# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 24# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 25# 26## 27 28[Defines] 29 INF_VERSION = 0x00010005 30 BASE_NAME = BdsDxe 31 MODULE_UNI_FILE = BdsDxe.uni 32 FILE_GUID = FC5C7020-1A48-4198-9BE2-EAD5ABC8CF2F 33 MODULE_TYPE = DXE_DRIVER 34 VERSION_STRING = 1.0 35 ENTRY_POINT = BdsInitialize 36 37# 38# The following information is for reference only and not required by the build tools. 39# 40# VALID_ARCHITECTURES = IA32 X64 IPF EBC 41# 42 43[Sources] 44 FrontPage.h 45 Language.h 46 Bds.h 47 Hotkey.h 48 BootMaint/BBSsupport.h 49 BootMngr/BootManager.h 50 BootMaint/BootMaint.h 51 String.h 52 BootMaint/FormGuid.h 53 HwErrRecSupport.c 54 HwErrRecSupport.h 55 56 DeviceMngr/DeviceManager.h 57 DeviceMngr/DeviceManagerVfr.h 58 DeviceMngr/DeviceManagerVfr.Vfr 59 DeviceMngr/DriverHealthVfr.Vfr 60 DeviceMngr/DeviceManagerStrings.uni 61 DeviceMngr/DeviceManager.c 62 BootMngr/BootManagerVfr.Vfr 63 BootMngr/BootManagerStrings.uni 64 BootMngr/BootManager.c 65 BootMaint/FE.vfr 66 BootMaint/FileExplorer.c 67 BootMaint/BootMaint.c 68 BootMaint/BBSsupport.c 69 BootMaint/UpdatePage.c 70 BootMaint/Variable.c 71 BootMaint/Data.c 72 BootMaint/ConsoleOption.c 73 BootMaint/BootOption.c 74 BootMaint/BmLib.c 75 BootMaint/Bm.vfr 76 BootMaint/Bmstring.uni 77 Hotkey.c 78 MemoryTest.c 79 Capsules.c 80 Strings.uni 81 String.c 82 Language.c 83 FrontPageVfr.Vfr 84 FrontPageStrings.uni 85 FrontPage.c 86 BdsEntry.c 87 88 89[Packages] 90 MdePkg/MdePkg.dec 91 MdeModulePkg/MdeModulePkg.dec 92 IntelFrameworkPkg/IntelFrameworkPkg.dec 93 IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec 94 95[LibraryClasses] 96 DevicePathLib 97 BaseLib 98 HobLib 99 UefiRuntimeServicesTableLib 100 GenericBdsLib 101 ReportStatusCodeLib 102 PerformanceLib 103 MemoryAllocationLib 104 UefiLib 105 UefiBootServicesTableLib 106 BaseMemoryLib 107 DebugLib 108 PrintLib 109 HiiLib 110 UefiDriverEntryPoint 111 PlatformBdsLib 112 CapsuleLib 113 PcdLib 114 UefiHiiServicesLib 115 116[Guids] 117 ## SOMETIMES_PRODUCES ## Variable:L"BootXXXX" # Boot option variable 118 ## SOMETIMES_PRODUCES ## Variable:L"DriverXXXX" # Driver load option. 119 ## SOMETIMES_PRODUCES ## Variable:L"PlatformLang" # Platform supported languange in Rfc4646 format 120 ## SOMETIMES_PRODUCES ## Variable:L"Lang" # Platform supported languange in Iso639 format 121 ## SOMETIMES_PRODUCES ## Variable:L"LangCodes" # Value of PcdUefiVariableDefaultLangCodes 122 ## PRODUCES ## Variable:L"PlatformLangCodes" # Value of PcdUefiVariableDefaultPlatformLangCodes 123 ## SOMETIMES_PRODUCES ## Variable:L"KeyXXXX" # Hotkey option variable 124 ## PRODUCES ## Variable:L"HwErrRecSupport" # The level of platform supported hardware Error Record Persistence 125 ## PRODUCES ## Variable:L"Timeout" # The time out value in second of showing progress bar 126 ## 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 127 ## SOMETIMES_PRODUCES ## Variable:L"BootOrder" # The boot option array 128 ## SOMETIMES_PRODUCES ## Variable:L"DriverOrder" # The driver order list 129 ## SOMETIMES_CONSUMES ## Variable:L"ConIn" # The device path of console in device 130 ## SOMETIMES_PRODUCES ## Variable:L"ConIn" # The device path of console in device 131 ## SOMETIMES_CONSUMES ## Variable:L"ConOut" # The device path of console out device 132 ## SOMETIMES_PRODUCES ## Variable:L"ConOut" # The device path of console out device 133 ## SOMETIMES_CONSUMES ## Variable:L"ErrOut" # The device path of error out device 134 ## SOMETIMES_PRODUCES ## Variable:L"ErrOut" # The device path of error out device 135 ## SOMETIMES_CONSUMES ## Variable:L"ConInDev" # The device path of console in device 136 ## SOMETIMES_CONSUMES ## Variable:L"ConOutDev" # The device path of console out device 137 ## SOMETIMES_CONSUMES ## Variable:L"ErrOutDev" # The device path of error out device 138 ## SOMETIMES_PRODUCES ## Variable:L"BootNext" # The number of next boot option 139 gEfiGlobalVariableGuid 140 gEfiFileSystemVolumeLabelInfoIdGuid ## SOMETIMES_CONSUMES ## UNDEFINED # Indicate the information type is volume 141 gEfiFileInfoGuid ## SOMETIMES_CONSUMES ## UNDEFINED # Indicate the information type is file 142 gEfiHiiPlatformSetupFormsetGuid ## SOMETIMES_CONSUMES ## UNDEFINED # Indicate the formset class guid to be displayed 143 gEfiIfrTianoGuid ## SOMETIMES_PRODUCES ## UNDEFINED # Extended IFR Guid Opcode 144 gEfiHiiDriverHealthFormsetGuid ## SOMETIMES_CONSUMES ## UNDEFINED # Indicate the Driver Health formset class guid to be displayed 145 ## SOMETIMES_PRODUCES ## Variable:L"LegacyDevOrder" 146 ## SOMETIMES_CONSUMES ## Variable:L"LegacyDevOrder" 147 gEfiLegacyDevOrderVariableGuid 148 gFrontPageFormSetGuid ## SOMETIMES_CONSUMES ## HII # FrontPage HII Package 149 gBootMaintFormSetGuid ## SOMETIMES_CONSUMES ## HII # BootMaint HII Package 150 gFileExploreFormSetGuid ## SOMETIMES_CONSUMES ## HII # FileExplore HII Package 151 gBootManagerFormSetGuid ## SOMETIMES_CONSUMES ## HII # BootManager HII Package 152 gDeviceManagerFormSetGuid ## SOMETIMES_CONSUMES ## HII # DeviceManager HII Package 153 gDriverHealthFormSetGuid ## SOMETIMES_CONSUMES ## HII # DriverHealth HII Package 154 ## SOMETIMES_PRODUCES ## Event 155 ## SOMETIMES_CONSUMES ## Event 156 gConnectConInEventGuid 157 gEfiFmpCapsuleGuid ## SOMETIMES_CONSUMES ## GUID # FMP Capsule 158 gEdkiiStatusCodeDataTypeVariableGuid ## SOMETIMES_CONSUMES ## GUID 159 gEfiUartDevicePathGuid ## SOMETIMES_CONSUMES ## GUID (Identify the device path for UARD device) 160 161[Protocols] 162 gEfiSimpleFileSystemProtocolGuid ## SOMETIMES_CONSUMES 163 gEfiLoadFileProtocolGuid ## SOMETIMES_CONSUMES 164 gEfiBdsArchProtocolGuid ## PRODUCES 165 gEfiSmbiosProtocolGuid ## CONSUMES 166 gEfiGenericMemTestProtocolGuid ## SOMETIMES_CONSUMES 167 gEfiLegacyBiosProtocolGuid ## SOMETIMES_CONSUMES 168 gEfiUgaDrawProtocolGuid |gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport ## SOMETIMES_CONSUMES 169 gEfiBlockIoProtocolGuid ## SOMETIMES_CONSUMES 170 gEfiGraphicsOutputProtocolGuid ## SOMETIMES_CONSUMES 171 ## CONSUMES 172 ## NOTIFY 173 gEfiSimpleTextInputExProtocolGuid 174 gEfiHiiConfigAccessProtocolGuid ## SOMETIMES_PRODUCES 175 gEfiFormBrowser2ProtocolGuid ## CONSUMES 176 gEfiSerialIoProtocolGuid ## SOMETIMES_CONSUMES 177 gEfiDevicePathProtocolGuid ## CONSUMES 178 gEfiDriverHealthProtocolGuid ## SOMETIMES_CONSUMES 179 gEfiPciIoProtocolGuid ## SOMETIMES_CONSUMES 180 gEfiBootLogoProtocolGuid ## SOMETIMES_CONSUMES 181 gEdkiiVariableLockProtocolGuid ## SOMETIMES_CONSUMES 182 183[FeaturePcd] 184 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate ## CONSUMES 185 gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport ## CONSUMES 186 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootlogoOnlyEnable ## CONSUMES 187 188[Pcd] 189 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangCodes ## SOMETIMES_CONSUMES 190 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLang ## SOMETIMES_CONSUMES 191 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLangCodes ## CONSUMES 192 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLang ## SOMETIMES_CONSUMES 193 ## CONSUMES 194 ## PRODUCES 195 gEfiMdePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel 196 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow ## PRODUCES 197 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn ## PRODUCES 198 ## SOMETIMES_CONSUMES 199 ## SOMETIMES_PRODUCES 200 gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut 201 ## CONSUMES 202 ## PRODUCES 203 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootState 204 gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor ## CONSUMES 205 gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareRevision ## CONSUMES 206 gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution ## PRODUCES 207 gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution ## PRODUCES 208 gEfiMdeModulePkgTokenSpaceGuid.PcdConInConnectOnDemand ## SOMETIMES_CONSUMES 209 ## CONSUMES 210 ## SOMETIMES_PRODUCES 211 gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutColumn 212 ## CONSUMES 213 ## SOMETIMES_PRODUCES 214 gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow 215 gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution ## CONSUMES 216 gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution ## CONSUMES 217 gEfiMdeModulePkgTokenSpaceGuid.PcdErrorCodeSetVariable ## CONSUMES 218 219[Depex] 220 TRUE 221 222# 223# [BootMode] 224# FLASH_UPDATE ## SOMETIMES_CONSUMES # Update Capsule Image 225# 226 227[UserExtensions.TianoCore."ExtraFiles"] 228 BdsDxeExtra.uni 229