-#/** @file\r
-# \r
-# Component discription file for Bds module\r
+## @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, Intel Corporation. <BR>\r
-# All rights reserved. This program and the accompanying materials\r
+# Copyright (c) 2008 - 2016, 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
\r
[Defines]\r
INF_VERSION = 0x00010005\r
BASE_NAME = BdsDxe\r
- FILE_GUID = FC5C7020-1A48-4198-9BE2-EAD5ABC8CF2F\r
+ MODULE_UNI_FILE = BdsDxe.uni\r
+ FILE_GUID = 6D33944A-EC75-4855-A54D-809C75241F6C\r
MODULE_TYPE = DXE_DRIVER\r
- VERSION_STRING = 1.0\r
- EDK_RELEASE_VERSION = 0x00020000\r
- EFI_SPECIFICATION_VERSION = 0x00020000\r
-\r
+ VERSION_STRING = 1.0 \r
ENTRY_POINT = BdsInitialize\r
\r
#\r
# VALID_ARCHITECTURES = IA32 X64 IPF EBC\r
#\r
\r
-[Sources.common]\r
- FrontPage.h\r
+[Sources]\r
Language.h\r
Bds.h\r
- Hotkey.h\r
- BootMaint/BBSsupport.h\r
- BootMngr/BootManager.h\r
- BootMaint/BootMaint.h\r
- String.h\r
- BootMaint/FormGuid.h\r
HwErrRecSupport.c\r
HwErrRecSupport.h\r
-\r
- DeviceMngr/DeviceManager.h\r
- DeviceMngr/DeviceManagerVfr.Vfr\r
- DeviceMngr/DeviceManagerStrings.uni\r
- DeviceMngr/DeviceManager.c\r
- BootMngr/BootManagerVfr.Vfr\r
- BootMngr/BootManagerStrings.uni\r
- BootMngr/BootManager.c\r
- BootMaint/FE.vfr\r
- BootMaint/FileExplorer.c\r
- BootMaint/BootMaint.c\r
- BootMaint/BBSsupport.c\r
- BootMaint/UpdatePage.c\r
- BootMaint/Variable.c\r
- BootMaint/Data.c\r
- BootMaint/ConsoleOption.c\r
- BootMaint/BootOption.c\r
- BootMaint/BmLib.c\r
- BootMaint/Bm.vfr\r
- BootMaint/Bmstring.uni\r
- Hotkey.c\r
- MemoryTest.c\r
- Capsules.c\r
- Strings.uni\r
- String.c\r
Language.c\r
- FrontPageVfr.Vfr\r
- FrontPageStrings.uni\r
- FrontPage.c\r
BdsEntry.c\r
\r
\r
[Packages]\r
MdePkg/MdePkg.dec\r
MdeModulePkg/MdeModulePkg.dec\r
- IntelFrameworkPkg/IntelFrameworkPkg.dec\r
-\r
\r
[LibraryClasses]\r
DevicePathLib\r
BaseLib\r
- HobLib\r
+ MemoryAllocationLib\r
+ UefiDriverEntryPoint\r
+ UefiBootServicesTableLib\r
UefiRuntimeServicesTableLib\r
- IfrSupportLib\r
- ExtendedIfrSupportLib\r
- GenericBdsLib\r
ReportStatusCodeLib\r
- PerformanceLib\r
- DxeServicesTableLib\r
- MemoryAllocationLib\r
- GraphicsLib\r
UefiLib\r
- UefiBootServicesTableLib\r
BaseMemoryLib\r
DebugLib\r
+ UefiBootManagerLib\r
+ PlatformBootManagerLib\r
+ PcdLib\r
PrintLib\r
- HiiLib\r
- ExtendedHiiLib\r
- UefiDriverEntryPoint\r
- PlatformBdsLib\r
- CapsuleLib\r
\r
[Guids]\r
- gEfiGlobalVariableGuid # ALWAYS_CONSUMED\r
- gEfiHobListGuid # ALWAYS_CONSUMED\r
- gEfiBootStateGuid # ALWAYS_CONSUMED\r
- gEfiFileSystemVolumeLabelInfoIdGuid # ALWAYS_CONSUMED\r
- gEfiFileInfoGuid # ALWAYS_CONSUMED\r
- gEfiGenericPlatformVariableGuid\r
- gEfiMiscSubClassGuid\r
- gEfiMemorySubClassGuid\r
- gEfiProcessorSubClassGuid\r
- gEfiCapsuleVendorGuid\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
+ gPerformanceProtocolGuid ## SOMETIMES_PRODUCES ## Variable:L"PerfDataMemAddr" (The ACPI address of performance data)\r
+ gEfiEventReadyToBootGuid ## CONSUMES ## Event\r
\r
[Protocols]\r
- gEfiHiiStringProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
- gEfiSimpleFileSystemProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
- gEfiLoadFileProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
- gEfiCpuIoProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
- gEfiBdsArchProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
- gEfiDataHubProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
- gEfiGenericMemTestProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
- gEfiLegacyBiosProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
- gEfiConsoleControlProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
- gEfiHiiDatabaseProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
- gEfiUgaDrawProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
- gEfiBlockIoProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
- gEfiGraphicsOutputProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
- gEfiSimpleTextInputExProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
- gEfiHiiConfigRoutingProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
- gEfiHiiConfigAccessProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
- gEfiFormBrowser2ProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
- gEfiSerialIoProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
- gEfiDevicePathProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
- gEfiAcpiS3SaveProtocolGuid\r
+ gEfiBdsArchProtocolGuid ## PRODUCES\r
+ gEfiSimpleTextInputExProtocolGuid ## CONSUMES\r
+ gEdkiiVariableLockProtocolGuid ## CONSUMES\r
+ gEfiDeferredImageLoadProtocolGuid ## CONSUMES\r
\r
-[FeaturePcd.common]\r
- gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDepricate\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdSupportHardwareErrorRecord\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdUgaConsumeSupport\r
+[FeaturePcd]\r
+ gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate ## CONSUMES\r
\r
-[Pcd.common]\r
- gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangCodes\r
- gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLang\r
- gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLangCodes\r
- gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLang\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel\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
- gEfiHiiDatabaseProtocolGuid\r
+ TRUE\r
\r
+[UserExtensions.TianoCore."ExtraFiles"]\r
+ BdsDxeExtra.uni\r