The patches add a pure UEFI Boot Manager to MdeModulePkg. Platform can link the BdsDxe driver to NULL class library LegacyBootManagerLib to provide legacy boot support. A very simple boot manager menu BootManagerMenuApp is provided. DriverHealthManagerDxe provides the generic driver health checking logic. PCD moving to MdePkg is because these PCDs can map to UEFI spec defined NV variables. PCD moving to MdeModulePkg is because these PCDs are implementation specific. I tried to fix all the PCD references to resolve the build failure. V3 splits the patch to avoid build failures when user doesn't pull all the commits. V3 refines the library file names and library internal function names to avoid confliction when linking to 3rd party modules.
You can also review the change in url: https://github.com/tianocore/edk2/compare/master...niruiyu:new_bds Ruiyu Ni (16): Copy PCD from IntelFrameworkModulePkg to MdePkg and MdeModulePkg IntelFrameworkModulePkg: Change BdsDxe to use new PCDs defined in MdePkg and MdeModulePkg. Nt32Pkg: Use the new PCDs defined in MdePkg and MdeModulePkg. EdkCompatibilityPkg: Use the new PCDs defined in MdePkg. DuetPkg: Use the new PCDs defined in MdePkg. OvmfPkg: Use the new PCDs defined in MdePkg and MdeModulePkg. EmulatorPkg: Use the new PCDs defined in MdePkg. ArmPlatformPkg: Use the new PCDs defined in MdePkg and MdeModulePkg. CorebootPayloadPkg: Use the new PCDs defined in MdePkg. Vlv2TbltDevicePkg: Use the new PCDs defined in MdePkg and MdeModulePkg. MdeModulePkg: Add UefiBootManagerLib MdeModulePkg: Add BdsDxe driver and PlatformBootManagerNull library. MdeModulePkg: Add BootManagerMenuApp. IntelFrameworkModulePkg: Add LegacyBootManagerLib. MdeModulePkg: Add DriverHealthManagerDxe driver. Remove obsolete PCDs (new ones are moved to MdePkg and MdeModulePkg) ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc | 6 +- ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationXen.dsc | 2 +- ArmPlatformPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf | 2 +- CorebootPayloadPkg/Library/PlatformBdsLib/PlatformBdsLib.inf | 2 +- DuetPkg/Library/DuetBdsLib/PlatformBds.inf | 14 +- EdkCompatibilityPkg/Compatibility/FrameworkHiiOnUefiHiiThunk/FrameworkHiiOnUefiHiiThunk.inf | 4 +- EmulatorPkg/Library/EmuBdsLib/EmuBdsLib.inf | 4 +- IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec | 35 - IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc | 3 +- IntelFrameworkModulePkg/Library/LegacyBootManagerLib/InternalLegacyBm.h | 66 + IntelFrameworkModulePkg/Library/LegacyBootManagerLib/LegacyBm.c | 1536 +++++++++++++ IntelFrameworkModulePkg/Library/LegacyBootManagerLib/LegacyBootManagerLib.inf | 65 + IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf | 14 +- MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu.c | 1041 +++++++++ MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu.h | 60 + MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf | 60 + MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuStrings.uni | Bin 0 -> 2756 bytes MdeModulePkg/Include/Library/PlatformBootManagerLib.h | 62 + MdeModulePkg/Include/Library/UefiBootManagerLib.h | 657 ++++++ MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf | 4 +- MdeModulePkg/Library/PlatformBootManagerLibNull/PlatformBootManager.c | 67 + MdeModulePkg/Library/PlatformBootManagerLibNull/PlatformBootManagerLibNull.inf | 36 + MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c | 2278 ++++++++++++++++++++ MdeModulePkg/Library/UefiBootManagerLib/BmConnect.c | 318 +++ MdeModulePkg/Library/UefiBootManagerLib/BmConsole.c | 748 +++++++ MdeModulePkg/Library/UefiBootManagerLib/BmDriverHealth.c | 578 +++++ MdeModulePkg/Library/UefiBootManagerLib/BmHotkey.c | 1101 ++++++++++ MdeModulePkg/Library/UefiBootManagerLib/BmLoadOption.c | 982 +++++++++ MdeModulePkg/Library/UefiBootManagerLib/BmMisc.c | 507 +++++ MdeModulePkg/Library/UefiBootManagerLib/BmPerformance.c | 358 +++ MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h | 364 ++++ MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf | 110 + MdeModulePkg/MdeModulePkg.dec | 40 +- MdeModulePkg/MdeModulePkg.dsc | 8 + MdeModulePkg/Universal/BdsDxe/Bds.h | 106 + MdeModulePkg/Universal/BdsDxe/BdsDxe.inf | 101 + MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 1246 +++++++++++ MdeModulePkg/Universal/BdsDxe/HwErrRecSupport.c | 48 + MdeModulePkg/Universal/BdsDxe/HwErrRecSupport.h | 32 + MdeModulePkg/Universal/BdsDxe/Language.c | 202 ++ MdeModulePkg/Universal/BdsDxe/Language.h | 30 + MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthConfigureVfr.Vfr | 39 + MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.c | 990 +++++++++ MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.h | 133 ++ MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf | 74 + MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerStrings.uni | Bin 0 -> 4140 bytes MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerVfr.Vfr | 38 + MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerVfr.h | 32 + MdePkg/MdePkg.dec | 11 + Nt32Pkg/Library/Nt32BdsLib/Nt32BdsLib.inf | 4 +- Nt32Pkg/Nt32Pkg.dsc | 8 +- OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf | 4 +- OvmfPkg/OvmfPkgIa32.dsc | 8 +- OvmfPkg/OvmfPkgIa32X64.dsc | 8 +- OvmfPkg/OvmfPkgX64.dsc | 8 +- Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf | 12 +- Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 14 +- Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 14 +- Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 14 +- 59 files changed, 14198 insertions(+), 110 deletions(-) create mode 100644 IntelFrameworkModulePkg/Library/LegacyBootManagerLib/InternalLegacyBm.h create mode 100644 IntelFrameworkModulePkg/Library/LegacyBootManagerLib/LegacyBm.c create mode 100644 IntelFrameworkModulePkg/Library/LegacyBootManagerLib/LegacyBootManagerLib.inf create mode 100644 MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu.c create mode 100644 MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu.h create mode 100644 MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf create mode 100644 MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuStrings.uni create mode 100644 MdeModulePkg/Include/Library/PlatformBootManagerLib.h create mode 100644 MdeModulePkg/Include/Library/UefiBootManagerLib.h create mode 100644 MdeModulePkg/Library/PlatformBootManagerLibNull/PlatformBootManager.c create mode 100644 MdeModulePkg/Library/PlatformBootManagerLibNull/PlatformBootManagerLibNull.inf create mode 100644 MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c create mode 100644 MdeModulePkg/Library/UefiBootManagerLib/BmConnect.c create mode 100644 MdeModulePkg/Library/UefiBootManagerLib/BmConsole.c create mode 100644 MdeModulePkg/Library/UefiBootManagerLib/BmDriverHealth.c create mode 100644 MdeModulePkg/Library/UefiBootManagerLib/BmHotkey.c create mode 100644 MdeModulePkg/Library/UefiBootManagerLib/BmLoadOption.c create mode 100644 MdeModulePkg/Library/UefiBootManagerLib/BmMisc.c create mode 100644 MdeModulePkg/Library/UefiBootManagerLib/BmPerformance.c create mode 100644 MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h create mode 100644 MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf create mode 100644 MdeModulePkg/Universal/BdsDxe/Bds.h create mode 100644 MdeModulePkg/Universal/BdsDxe/BdsDxe.inf create mode 100644 MdeModulePkg/Universal/BdsDxe/BdsEntry.c create mode 100644 MdeModulePkg/Universal/BdsDxe/HwErrRecSupport.c create mode 100644 MdeModulePkg/Universal/BdsDxe/HwErrRecSupport.h create mode 100644 MdeModulePkg/Universal/BdsDxe/Language.c create mode 100644 MdeModulePkg/Universal/BdsDxe/Language.h create mode 100644 MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthConfigureVfr.Vfr create mode 100644 MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.c create mode 100644 MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.h create mode 100644 MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf create mode 100644 MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerStrings.uni create mode 100644 MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerVfr.Vfr create mode 100644 MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerVfr.h -- 1.9.5.msysgit.1 ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
