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

@@ -22,7 +22,6 @@
[Sources]
PrmAcpiTable.h
PrmLoader.h
PrmLoaderDxe.c
[Packages]
@@ -39,8 +38,9 @@
DebugLib
MemoryAllocationLib
PcdLib
PeCoffLib
PrmContextBufferLib
PrmModuleDiscoveryLib
PrmPeCoffLib
UefiBootServicesTableLib
UefiDriverEntryPoint
UefiLib
@@ -54,7 +54,6 @@
[Protocols]
gEfiAcpiTableProtocolGuid
gEfiLoadedImageProtocolGuid
gPrmConfigProtocolGuid
[Depex]