REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2336
This patch series implements BDS hook points as defined in the EDK II Minimum Platform Specification. For details, see https://edk2-docs.gitbooks.io/edk-ii-minimum-platform-specification/appendix_a_full_maps/a3_bds_hook_points.html What was done: * MinplatformPkg: Three BDS event group PCDs were added - gBdsEventBeforeConsoleAfterTrustedConsoleGuid - gBdsEventBeforeConsoleBeforeEndOfDxeGuid - gBdsEventAfterConsoleReadyBeforeBootOptionGuid * DxePlatformBootManager: MinplatformPkg's DxePlatformBootManager library instance was modified to signal the three newly added BDS events groups * BoardBdsHookLib: BDS event callback library was added. This library implements the callbacks for the three Bds event groups as well as callbacks for already existing gEfiEndOfDxeEventGroupGuid, gEfiPciEnumerationCompleteProtocolGuid and gEfiDxeSmmReadyToLockProtocolGuid event groups - A default implementation of the board BDS hook library was added to BoardModulePkg - A SimicOpenBoardPkg specific implementation of the Board BDS hook library was also added * BoardBdsHookDxe: A generic DXE driver that registers the callbacks implemented in the Board BDS hook library was added * BoardBootManagerLib: A board boot manager library was added. This library implements PlatformBootManagerWaitCallback and PlatformBootManagerUnableToBoot needed by Minplatform's PlatformBootManager libary instance. - A null instance of this library was added to MinplatformPkg - A default instance of this library was added to BoardModulePkg - A SimicOpenBoardPkg instance was implemented * Support for the BDS Hook points were added to all the Minplatform boards Prince Agyeman (11): MinPlatformPkg: Add BDS Hook Point Guids BoardModulePkg: Add BDS Hook Library BoardModulePkg: Add BDS Hook DXE Driver MinPlatformPkg: Add BDS Board Boot Manager library MinPlatformPkg: Add BDS Hook Points BoardModulePkg: Add Generic BoardBootManagerLib KabylakeOpenBoardPkg: Add BDS Hook Dxe Driver WhiskeylakeOpenBoardPkg: Add BDS Hook Dxe Driver SimicsOpenBoardPkg: Add Bds Hook Library SimicsOpenBoardPkg: Add BDS Board Boot Manager library SimicsOpenBoardPkg: Add Bds Hook Points .../BoardBdsHookDxe/BoardBdsHookDxe.c | 121 ++ .../BoardBdsHookDxe/BoardBdsHookDxe.inf | 46 + .../Include/Library/BoardBdsHookLib.h | 100 + .../Library/BoardBdsHookLib/BoardBdsHook.h | 211 +++ .../Library/BoardBdsHookLib/BoardBdsHookLib.c | 1390 ++++++++++++++ .../BoardBdsHookLib/BoardBdsHookLib.inf | 95 + .../BoardBdsHookLib/BoardBootOption.c} | 87 +- .../BoardBdsHookLib/BoardMemoryTest.c} | 4 +- .../BoardBootManagerLib/BoardBootManager.c | 103 ++ .../BoardBootManagerLib.inf | 39 + .../GalagoPro3/OpenBoardPkg.dsc | 7 + .../GalagoPro3/OpenBoardPkg.fdf | 1 + .../KabylakeRvp3/OpenBoardPkg.dsc | 6 + .../KabylakeRvp3/OpenBoardPkg.fdf | 1 + .../BoardBootManagerLib.c | 38 + .../BoardBootManagerLibNull.inf | 31 + .../DxePlatformBootManagerLib/BdsPlatform.c | 1262 +------------ .../DxePlatformBootManagerLib/BdsPlatform.h | 181 +- .../DxePlatformBootManagerLib.inf | 51 +- .../Include/Library/BoardBootManagerLib.h | 39 + .../Intel/MinPlatformPkg/MinPlatformPkg.dec | 5 + .../BoardX58Ich10/OpenBoardPkg.dsc | 10 +- .../BoardX58Ich10/OpenBoardPkg.fdf | 1 + .../Library/BoardBdsHookLib/BoardBdsHook.h | 173 ++ .../Library/BoardBdsHookLib/BoardBdsHookLib.c | 1630 +++++++++++++++++ .../BoardBdsHookLib/BoardBdsHookLib.inf | 81 + .../BoardBootManagerLib/BoardBootManager.c | 67 + .../BoardBootManagerLib.inf | 45 + .../WhiskeylakeURvp/OpenBoardPkg.dsc | 4 + .../WhiskeylakeURvp/OpenBoardPkg.fdf | 1 + 30 files changed, 4421 insertions(+), 1409 deletions(-) create mode 100644 Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.c create mode 100644 Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf create mode 100644 Platform/Intel/BoardModulePkg/Include/Library/BoardBdsHookLib.h create mode 100644 Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHook.h create mode 100644 Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.c create mode 100644 Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.inf rename Platform/Intel/{MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/PlatformBootOption.c => BoardModulePkg/Library/BoardBdsHookLib/BoardBootOption.c} (87%) rename Platform/Intel/{MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/MemoryTest.c => BoardModulePkg/Library/BoardBdsHookLib/BoardMemoryTest.c} (93%) create mode 100644 Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManager.c create mode 100644 Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManagerLib.inf create mode 100644 Platform/Intel/MinPlatformPkg/Bds/Library/BoardBootManagerLibNull/BoardBootManagerLib.c create mode 100644 Platform/Intel/MinPlatformPkg/Bds/Library/BoardBootManagerLibNull/BoardBootManagerLibNull.inf create mode 100644 Platform/Intel/MinPlatformPkg/Include/Library/BoardBootManagerLib.h create mode 100644 Platform/Intel/SimicsOpenBoardPkg/Library/BoardBdsHookLib/BoardBdsHook.h create mode 100644 Platform/Intel/SimicsOpenBoardPkg/Library/BoardBdsHookLib/BoardBdsHookLib.c create mode 100644 Platform/Intel/SimicsOpenBoardPkg/Library/BoardBdsHookLib/BoardBdsHookLib.inf create mode 100644 Platform/Intel/SimicsOpenBoardPkg/Library/BoardBootManagerLib/BoardBootManager.c create mode 100644 Platform/Intel/SimicsOpenBoardPkg/Library/BoardBootManagerLib/BoardBootManagerLib.inf -- 2.19.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#52222): https://edk2.groups.io/g/devel/message/52222 Mute This Topic: https://groups.io/mt/68590720/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-