summaryrefslogtreecommitdiffstats
path: root/PrmPkg/Library/DxePrmModuleDiscoveryLib/PrmModuleDiscovery.h
diff options
context:
space:
mode:
authorMichael Kubacki <michael.kubacki@microsoft.com>2020-06-12 14:24:46 -0700
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2022-04-05 00:42:38 +0000
commit6b7dde7cdd1649e59e228535a29aa8d80761a1ba (patch)
tree56f62b4a9d24cb67700cbf73b4176957b35dc122 /PrmPkg/Library/DxePrmModuleDiscoveryLib/PrmModuleDiscovery.h
parentd10b8dc5d84edf6cad7809e2a3301e713bc79d61 (diff)
downloadedk2-6b7dde7cdd1649e59e228535a29aa8d80761a1ba.tar.gz
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>
Diffstat (limited to 'PrmPkg/Library/DxePrmModuleDiscoveryLib/PrmModuleDiscovery.h')
-rw-r--r--PrmPkg/Library/DxePrmModuleDiscoveryLib/PrmModuleDiscovery.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/PrmPkg/Library/DxePrmModuleDiscoveryLib/PrmModuleDiscovery.h b/PrmPkg/Library/DxePrmModuleDiscoveryLib/PrmModuleDiscovery.h
new file mode 100644
index 0000000000..79058d1531
--- /dev/null
+++ b/PrmPkg/Library/DxePrmModuleDiscoveryLib/PrmModuleDiscovery.h
@@ -0,0 +1,27 @@
+/** @file
+
+ Definitions internally used for Platform Runtime Mechanism (PRM) module discovery.
+
+ Copyright (c) Microsoft Corporation
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef PRM_MODULE_DISCOVERY_H_
+#define PRM_MODULE_DISCOVERY_H_
+
+#include <PrmModuleImageContext.h>
+
+#define PRM_MODULE_IMAGE_CONTEXT_LIST_ENTRY_SIGNATURE SIGNATURE_32('P','R','M','E')
+
+#pragma pack(push, 1)
+
+typedef struct {
+ UINTN Signature;
+ LIST_ENTRY Link;
+ PRM_MODULE_IMAGE_CONTEXT Context;
+} PRM_MODULE_IMAGE_CONTEXT_LIST_ENTRY;
+
+#pragma pack(pop)
+
+#endif