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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to