From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com []) by mx.groups.io with SMTP id smtpd.web10.21389.1574326764546050137 for ; Thu, 21 Nov 2019 00:59:25 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=fail (domain: intel.com, ip: , mailfrom: nathaniel.l.desimone@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Nov 2019 00:59:22 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,224,1571727600"; d="scan'208";a="210033041" Received: from nldesimo-desk1.amr.corp.intel.com ([10.7.159.63]) by orsmga006.jf.intel.com with ESMTP; 21 Nov 2019 00:59:20 -0800 From: "Nate DeSimone" To: devel@edk2.groups.io Cc: Chasel Chiu , Michael Kubacki , Sai Chaganty , Liming Gao , Isaac W Oram , Jeremy Soller Subject: [edk2-platforms] [PATCH V2 00/14] SecFspWrapperPlatformSecLib Cleanup Date: Thu, 21 Nov 2019 00:58:39 -0800 Message-Id: <20191121085853.2626-1-nathaniel.l.desimone@intel.com> X-Mailer: git-send-email 2.24.0.windows.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit This patch series cleans up two outstanding problems with SecFspWrapperPlatformSecLib: 1. There are several copies of SecFspWrapperPlatformSecLib thoughout the codebase, this patch series consolidates the various implementations down to a single implementation contained in MinPlatformPkg. The WhiskeylakeOpenBoardPkg implementation of SecFspWrapperPlatformSecLib diverged from MinPlatformPkg by halting the TCO watch dog timer early in SEC instead of early in PEI. Analysis of this change has shown that it is unnessesary, so this patch series move that code back to PEI. The KabylakeOpenBoardPkg implementation of SecFspWrapperPlatformSecLib contains support for FSP dispatch mode. This was integrated into MinPlatformPkg, eliminating the need for KabylakeOpenBoardPkg version. 2. Due to EFI_PEI_TEMPORARY_RAM_DONE_PPI being implemented by SecMain, the BoardInitLib event callbacks for BeforeTempRamExit() and AfterTempRamExit() are currently linked by PlatformSecLib. Linking BoardInitLib in SEC phase places a lot of restrictions on how BoardInitLib is implemented. To mitigate this, the BoardInitLib calls have been moved to a PlatformInitPreMem. PlatformInitPreMem is invoked by PlatformSecLib using the new PLATFORM_INIT_TEMP_RAM_EXIT_PPI, which then invokes the BoardInitLib event callbacks. This patch series also includes some general cleanup. Cc: Chasel Chiu Cc: Michael Kubacki Cc: Sai Chaganty Cc: Liming Gao Cc: Isaac W Oram Cc: Jeremy Soller Signed-off-by: Nate DeSimone Nate DeSimone (14): KabylakeSiliconPkg: Change MODULE_TYPE of SiliconInitLib to PEIM KabylakeOpenBoardPkg: Update location of SiliconInitLib KabylakeSiliconPkg: Cleanup old comments CoffeeLakeSiliconPkg: Move TcoWdtHob.h CoffeeLakeSiliconPkg: TcoWdtHob.h Cleanup CoffeelakeSiliconPkg: Add SiliconInitLib WhiskeylakeOpenBoardPkg: Add SiliconInitLib APIs to BoardInitLib WhiskeylakeOpenBoardPkg: Whitespace cleanup in BoardInitLib WhiskeylakeOpenBoardPkg: Remove SecFspWrapperPlatformSecLib override MinPlatformPkg: FSP Dispatch Mode Support for PlatformSecLib MinPlatformPkg: Coding style cleanups in MinPlatformPkg.dec KabylakeOpenBoardPkg: Add support for PcdFspDispatchModeUseFspPeiMain KabylakeOpenBoardPkg: Remove SecFspWrapperPlatformSecLib override MinPlatformPkg: Remove BoardInitLib dependency from PlatformSecLib .../FspWrapperPlatformSecLib.c | 186 --------- .../SecFspWrapperPlatformSecLib/FsptCoreUpd.h | 40 -- .../SecFspWrapperPlatformSecLib/Ia32/Fsp.h | 42 -- .../Ia32/PeiCoreEntry.nasm | 130 ------- .../Ia32/SecEntry.nasm | 361 ------------------ .../Ia32/Stack.nasm | 72 ---- .../PlatformInit.c | 47 --- .../SecFspWrapperPlatformSecLib.inf | 97 ----- .../SecGetPerformance.c | 89 ----- .../SecPlatformInformation.c | 78 ---- .../SecRamInitData.c | 36 -- .../SecTempRamDone.c | 73 ---- .../GalagoPro3/OpenBoardPkg.dsc | 4 +- .../KabylakeRvp3/OpenBoardPkg.dsc | 4 +- .../KabylakeRvp3/OpenBoardPkg.fdf | 5 +- .../KabylakeRvp3/OpenBoardPkgPcd.dsc | 20 + .../FspWrapperPlatformSecLib.c | 34 +- .../SecFspWrapperPlatformSecLib.inf | 9 +- .../SecTempRamDone.c | 72 +++- .../Include/Ppi/PlatformInitTempRamExitPpi.h | 55 +++ .../Intel/MinPlatformPkg/MinPlatformPkg.dec | 313 ++++++++------- .../PlatformInitPei/PlatformInitPreMem.c | 76 +++- .../PlatformInitPei/PlatformInitPreMem.inf | 1 + .../FspWrapperPlatformSecLib.c | 163 -------- .../SecFspWrapperPlatformSecLib/FsptCoreUpd.h | 40 -- .../SecFspWrapperPlatformSecLib/Ia32/Fsp.h | 43 --- .../Ia32/PeiCoreEntry.nasm | 130 ------- .../Ia32/SecEntry.nasm | 361 ------------------ .../Ia32/Stack.nasm | 72 ---- .../PlatformInit.c | 54 --- .../SecFspWrapperPlatformSecLib.inf | 97 ----- .../SecGetPerformance.c | 90 ----- .../SecPlatformInformation.c | 79 ---- .../SecRamInitData.c | 37 -- .../SecTempRamDone.c | 48 --- .../Include/Guid/TcoWdtHob.h | 41 -- .../BoardInitLib/PeiBoardInitPostMemLib.inf | 1 + .../BoardInitLib/PeiBoardInitPreMemLib.inf | 1 + .../PeiMultiBoardInitPostMemLib.inf | 1 + .../PeiMultiBoardInitPreMemLib.inf | 2 +- .../PeiWhiskeylakeURvpInitPostMemLib.c | 191 +++++---- .../PeiWhiskeylakeURvpInitPreMemLib.c | 346 +++++++---------- .../BoardInitLib/WhiskeylakeURvpInit.h | 1 + .../WhiskeylakeURvp/OpenBoardPkg.dsc | 7 +- .../Include/Guid/TcoWdtHob.h | 22 ++ .../Include/Library/SiliconInitLib.h | 28 ++ .../PeiSiliconInitLib/PeiSiliconInitLib.inf | 46 +++ .../Library/PeiSiliconInitLib/SiliconInit.c | 19 + .../PeiSiliconInitLib/SiliconInitPreMem.c | 109 ++++++ .../PeiSiliconInitLib.inf} | 5 +- .../SiliconInit.c | 3 + .../SiliconInitPreMem.c | 4 +- 52 files changed, 890 insertions(+), 2995 deletions(-) delete mode 100644 Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/FspWrapperPlatformSecLib.c delete mode 100644 Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/FsptCoreUpd.h delete mode 100644 Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/Fsp.h delete mode 100644 Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/PeiCoreEntry.nasm delete mode 100644 Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/SecEntry.nasm delete mode 100644 Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/Stack.nasm delete mode 100644 Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/PlatformInit.c delete mode 100644 Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecFspWrapperPlatformSecLib.inf delete mode 100644 Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecGetPerformance.c delete mode 100644 Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecPlatformInformation.c delete mode 100644 Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecRamInitData.c delete mode 100644 Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecTempRamDone.c create mode 100644 Platform/Intel/MinPlatformPkg/Include/Ppi/PlatformInitTempRamExitPpi.h delete mode 100644 Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/FspWrapperPlatformSecLib.c delete mode 100644 Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/FsptCoreUpd.h delete mode 100644 Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/Fsp.h delete mode 100644 Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/PeiCoreEntry.nasm delete mode 100644 Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/SecEntry.nasm delete mode 100644 Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/Stack.nasm delete mode 100644 Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/PlatformInit.c delete mode 100644 Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecFspWrapperPlatformSecLib.inf delete mode 100644 Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecGetPerformance.c delete mode 100644 Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecPlatformInformation.c delete mode 100644 Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecRamInitData.c delete mode 100644 Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecTempRamDone.c delete mode 100644 Platform/Intel/WhiskeylakeOpenBoardPkg/Include/Guid/TcoWdtHob.h create mode 100644 Silicon/Intel/CoffeelakeSiliconPkg/Include/Guid/TcoWdtHob.h create mode 100644 Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/SiliconInitLib.h create mode 100644 Silicon/Intel/CoffeelakeSiliconPkg/Library/PeiSiliconInitLib/PeiSiliconInitLib.inf create mode 100644 Silicon/Intel/CoffeelakeSiliconPkg/Library/PeiSiliconInitLib/SiliconInit.c create mode 100644 Silicon/Intel/CoffeelakeSiliconPkg/Library/PeiSiliconInitLib/SiliconInitPreMem.c rename Silicon/Intel/KabylakeSiliconPkg/Library/{SiliconInitLib/SiliconInitLib.inf => PeiSiliconInitLib/PeiSiliconInitLib.inf} (86%) rename Silicon/Intel/KabylakeSiliconPkg/Library/{SiliconInitLib => PeiSiliconInitLib}/SiliconInit.c (95%) rename Silicon/Intel/KabylakeSiliconPkg/Library/{SiliconInitLib => PeiSiliconInitLib}/SiliconInitPreMem.c (95%) -- 2.24.0.windows.2