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 <chasel.c...@intel.com>
Cc: Michael Kubacki <michael.a.kuba...@intel.com>
Cc: Sai Chaganty <rangasai.v.chaga...@intel.com>
Cc: Liming Gao <liming....@intel.com>
Cc: Isaac W Oram <isaac.w.o...@intel.com>
Cc: Jeremy Soller <jer...@system76.com>
Signed-off-by: Nate DeSimone <nathaniel.l.desim...@intel.com>

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


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51016): https://edk2.groups.io/g/devel/message/51016
Mute This Topic: https://groups.io/mt/61073533/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to