From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web10.2430.1576287158438932734 for ; Fri, 13 Dec 2019 17:32:38 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: prince.agyeman@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Dec 2019 17:32:37 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,311,1571727600"; d="scan'208";a="297091504" Received: from paagyema-desk2.amr.corp.intel.com ([10.24.15.84]) by orsmga001.jf.intel.com with ESMTP; 13 Dec 2019 17:32:37 -0800 From: "Agyeman, Prince" To: devel@edk2.groups.io Subject: [edk2-platforms] [PATCH 00/11] Add BDS Hook Points Date: Fri, 13 Dec 2019 17:32:26 -0800 Message-Id: X-Mailer: git-send-email 2.19.1.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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