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 gPerformanceProtocolGuid ## SOMETIMES_PRODUCES ## Variable:L"PerfDataMemAddr" (The ACPI address of performance data) 161 162 [Protocols] 163 gEfiSimpleFileSystemProtocolGuid ## SOMETIMES_CONSUMES 164 gEfiLoadFileProtocolGuid ## SOMETIMES_CONSUMES 165 gEfiBdsArchProtocolGuid ## PRODUCES 166 gEfiSmbiosProtocolGuid ## CONSUMES 167 gEfiGenericMemTestProtocolGuid ## SOMETIMES_CONSUMES 168 gEfiLegacyBiosProtocolGuid ## SOMETIMES_CONSUMES 169 gEfiUgaDrawProtocolGuid |gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport ## SOMETIMES_CONSUMES 170 gEfiBlockIoProtocolGuid ## SOMETIMES_CONSUMES 171 gEfiGraphicsOutputProtocolGuid ## SOMETIMES_CONSUMES 172 ## CONSUMES 173 ## NOTIFY 174 gEfiSimpleTextInputExProtocolGuid 175 gEfiHiiConfigAccessProtocolGuid ## SOMETIMES_PRODUCES 176 gEfiFormBrowser2ProtocolGuid ## CONSUMES 177 gEfiSerialIoProtocolGuid ## SOMETIMES_CONSUMES 178 gEfiDevicePathProtocolGuid ## CONSUMES 179 gEfiDriverHealthProtocolGuid ## SOMETIMES_CONSUMES 180 gEfiPciIoProtocolGuid ## SOMETIMES_CONSUMES 181 gEfiBootLogoProtocolGuid ## SOMETIMES_CONSUMES 182 gEdkiiVariableLockProtocolGuid ## SOMETIMES_CONSUMES 183 184 [FeaturePcd] 185 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate ## CONSUMES 186 gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport ## CONSUMES 187 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootlogoOnlyEnable ## CONSUMES 188 189 [Pcd] 190 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangCodes ## SOMETIMES_CONSUMES 191 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLang ## SOMETIMES_CONSUMES 192 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLangCodes ## CONSUMES 193 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLang ## SOMETIMES_CONSUMES 194 ## CONSUMES 195 ## PRODUCES 196 gEfiMdePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel 197 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow ## PRODUCES 198 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn ## PRODUCES 199 ## SOMETIMES_CONSUMES 200 ## SOMETIMES_PRODUCES 201 gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut 202 ## CONSUMES 203 ## PRODUCES 204 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootState 205 gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor ## CONSUMES 206 gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareRevision ## CONSUMES 207 gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution ## PRODUCES 208 gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution ## PRODUCES 209 gEfiMdeModulePkgTokenSpaceGuid.PcdConInConnectOnDemand ## SOMETIMES_CONSUMES 210 ## CONSUMES 211 ## SOMETIMES_PRODUCES 212 gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutColumn 213 ## CONSUMES 214 ## SOMETIMES_PRODUCES 215 gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow 216 gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution ## CONSUMES 217 gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution ## CONSUMES 218 gEfiMdeModulePkgTokenSpaceGuid.PcdErrorCodeSetVariable ## CONSUMES 219 220 [Depex] 221 TRUE 222 223 # 224 # [BootMode] 225 # FLASH_UPDATE ## SOMETIMES_CONSUMES # Update Capsule Image 226 # 227 228 [UserExtensions.TianoCore."ExtraFiles"] 229 BdsDxeExtra.uni 230