PrmPkg: Refactor some PrmLoaderDxe functionality into libraries

This change breaks out two sets of responsibilities in
PrmLoaderDxe into libraries:
  * PE/COFF functions -> PrmPeCoffLib
  * PRM module discovery functions -> PrmModuleDiscoveryLib

This is core infrastructure code for PRM functionality that needs
to be directly reused and tested in other places. At this time,
the primary motivating factor is to use this code in two other
locations:
  1.) Link the functionality into unit testing modules
  2.) Link the functionality into a PRM UEFI application

Cc: Andrew Fish <afish@apple.com>
Cc: Kang Gao <kang.gao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Michael Kubacki <michael.kubacki@microsoft.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Benjamin You <benjamin.you@intel.com>
Cc: Liu Yun <yun.y.liu@intel.com>
Cc: Ankit Sinha <ankit.sinha@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Acked-by: Michael D Kinney <michael.d.kinney@intel.com>
Acked-by: Liming Gao <gaoliming@byosoft.com.cn>
Acked-by: Leif Lindholm <quic_llindhol@quicinc.com>
Reviewed-by: Ankit Sinha <ankit.sinha@intel.com>
This commit is contained in:
Michael Kubacki
2020-06-12 14:24:46 -07:00
committed by mergify[bot]
parent d10b8dc5d8
commit 6b7dde7cdd
13 changed files with 1133 additions and 636 deletions

View File

@@ -36,6 +36,14 @@
#
PrmContextBufferLib|Include/Library/PrmContextBufferLib.h
## @libraryclass Provides functionality to discover PRM modules installed by platform firmware
#
PrmModuleDiscoveryLib|Include/Library/PrmModuleDiscoveryLib.h
## @libraryclass Provides additional PE/COFF functionality needed to support the Platform Runtime Mechanism (PRM) loader driver.
#
PrmPeCoffLib|Include/Library/PrmPeCoffLib.h
[Protocols]
## PRM Configuration Protocol
#