public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-platforms] [PATCH V2 00/14] SecFspWrapperPlatformSecLib Cleanup
@ 2019-11-21  8:58 Nate DeSimone
  2019-11-21  8:58 ` [edk2-platforms] [PATCH V2 01/14] KabylakeSiliconPkg: Change MODULE_TYPE of SiliconInitLib to PEIM Nate DeSimone
                   ` (14 more replies)
  0 siblings, 15 replies; 50+ messages in thread
From: Nate DeSimone @ 2019-11-21  8:58 UTC (permalink / raw)
  To: devel
  Cc: Chasel Chiu, Michael Kubacki, Sai Chaganty, Liming Gao,
	Isaac W Oram, Jeremy Soller

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.chiu@intel.com>
Cc: Michael Kubacki <michael.a.kubacki@intel.com>
Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Isaac W Oram <isaac.w.oram@intel.com>
Cc: Jeremy Soller <jeremy@system76.com>
Signed-off-by: Nate DeSimone <nathaniel.l.desimone@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


^ permalink raw reply	[flat|nested] 50+ messages in thread

end of thread, other threads:[~2019-11-22  6:55 UTC | newest]

Thread overview: 50+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-11-21  8:58 [edk2-platforms] [PATCH V2 00/14] SecFspWrapperPlatformSecLib Cleanup Nate DeSimone
2019-11-21  8:58 ` [edk2-platforms] [PATCH V2 01/14] KabylakeSiliconPkg: Change MODULE_TYPE of SiliconInitLib to PEIM Nate DeSimone
2019-11-22  5:15   ` Chiu, Chasel
2019-11-22  6:31   ` Kubacki, Michael A
2019-11-22  6:36   ` Chaganty, Rangasai V
2019-11-21  8:58 ` [edk2-platforms] [PATCH V2 02/14] KabylakeOpenBoardPkg: Update location of SiliconInitLib Nate DeSimone
2019-11-22  5:15   ` [edk2-devel] " Chiu, Chasel
2019-11-22  6:31   ` Kubacki, Michael A
2019-11-21  8:58 ` [edk2-platforms] [PATCH V2 03/14] KabylakeSiliconPkg: Cleanup old comments Nate DeSimone
2019-11-22  5:15   ` Chiu, Chasel
2019-11-22  6:32   ` Kubacki, Michael A
2019-11-22  6:42   ` Chaganty, Rangasai V
2019-11-21  8:58 ` [edk2-platforms] [PATCH V2 04/14] CoffeeLakeSiliconPkg: Move TcoWdtHob.h Nate DeSimone
2019-11-22  5:15   ` Chiu, Chasel
2019-11-22  6:32   ` [edk2-devel] " Kubacki, Michael A
2019-11-22  6:46   ` Chaganty, Rangasai V
2019-11-21  8:58 ` [edk2-platforms] [PATCH V2 05/14] CoffeeLakeSiliconPkg: TcoWdtHob.h Cleanup Nate DeSimone
2019-11-22  5:16   ` Chiu, Chasel
2019-11-22  6:32   ` Kubacki, Michael A
2019-11-22  6:48   ` Chaganty, Rangasai V
2019-11-21  8:58 ` [edk2-platforms] [PATCH V2 06/14] CoffeelakeSiliconPkg: Add SiliconInitLib Nate DeSimone
2019-11-22  5:16   ` Chiu, Chasel
2019-11-22  6:32   ` Kubacki, Michael A
2019-11-22  6:55   ` Chaganty, Rangasai V
2019-11-21  8:58 ` [edk2-platforms] [PATCH V2 07/14] WhiskeylakeOpenBoardPkg: Add SiliconInitLib APIs to BoardInitLib Nate DeSimone
2019-11-22  5:16   ` Chiu, Chasel
2019-11-22  6:32   ` Kubacki, Michael A
2019-11-21  8:58 ` [edk2-platforms] [PATCH V2 08/14] WhiskeylakeOpenBoardPkg: Whitespace cleanup in BoardInitLib Nate DeSimone
2019-11-22  5:16   ` Chiu, Chasel
2019-11-22  6:32   ` Kubacki, Michael A
2019-11-21  8:58 ` [edk2-platforms] [PATCH V2 09/14] WhiskeylakeOpenBoardPkg: Remove SecFspWrapperPlatformSecLib override Nate DeSimone
2019-11-22  5:17   ` Chiu, Chasel
2019-11-22  6:32   ` Kubacki, Michael A
2019-11-21  8:58 ` [edk2-platforms] [PATCH V2 10/14] MinPlatformPkg: FSP Dispatch Mode Support for PlatformSecLib Nate DeSimone
2019-11-22  5:17   ` Chiu, Chasel
2019-11-22  6:32   ` Kubacki, Michael A
2019-11-21  8:58 ` [edk2-platforms] [PATCH V2 11/14] MinPlatformPkg: Coding style cleanups in MinPlatformPkg.dec Nate DeSimone
2019-11-22  5:17   ` Chiu, Chasel
2019-11-22  6:32   ` Kubacki, Michael A
2019-11-21  8:58 ` [edk2-platforms] [PATCH V2 12/14] KabylakeOpenBoardPkg: Add support for PcdFspDispatchModeUseFspPeiMain Nate DeSimone
2019-11-22  5:18   ` Chiu, Chasel
2019-11-22  6:32   ` Kubacki, Michael A
2019-11-21  8:58 ` [edk2-platforms] [PATCH V2 13/14] KabylakeOpenBoardPkg: Remove SecFspWrapperPlatformSecLib override Nate DeSimone
2019-11-22  5:18   ` Chiu, Chasel
2019-11-22  6:32   ` Kubacki, Michael A
2019-11-21  8:58 ` [edk2-platforms] [PATCH V2 14/14] MinPlatformPkg: Remove BoardInitLib dependency from PlatformSecLib Nate DeSimone
2019-11-22  5:18   ` Chiu, Chasel
2019-11-22  6:33   ` Kubacki, Michael A
2019-11-21 17:51 ` [edk2-platforms] [PATCH V2 00/14] SecFspWrapperPlatformSecLib Cleanup Kubacki, Michael A
2019-11-22  0:51   ` Nate DeSimone

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox