aboutsummaryrefslogtreecommitdiff
path: root/include/opal-api.h
diff options
context:
space:
mode:
authorVasant Hegde <hegdevasant@linux.vnet.ibm.com>2019-07-12 16:47:50 +0530
committerOliver O'Halloran <oohall@gmail.com>2019-08-15 17:53:36 +1000
commit8d0c8ae579e2b9802546f4bfd9c757d630645600 (patch)
tree4dfeef61674b7bc1af069a8024d4e9a649f853e1 /include/opal-api.h
parentef6da5f6741c5d6d10407741382c5ed1ad71f791 (diff)
downloadskiboot-8d0c8ae579e2b9802546f4bfd9c757d630645600.zip
skiboot-8d0c8ae579e2b9802546f4bfd9c757d630645600.tar.gz
skiboot-8d0c8ae579e2b9802546f4bfd9c757d630645600.tar.bz2
MPIPL: Add OPAL API to register tags
This patch adds new API to register tags. opal_mpipl_register_tag(enum opal_mpipl_tags tag, uint64_t tag_val) tag: OPAL_MPIPL_TAG_KERNEL During first boot, kernel will setup its metadata area and asks OPAL to preserve metadata area pointer across MPIPL. Post MPIPL kernel requests OPAL to provide metadata pointer and it will use that pointer to retrieve metadata and create dump. OPAL_MPIPL_TAG_BOOT_MEM During MPIPL registration kernel will specify how much memory firmware can use for Post MPIPL load. Post MPIPL petitboot kernel will query for this tag to get boot memory size. Return values: OPAL_SUCCESS : Operation success OPAL_PARAMETER : Payload passed invalid tag Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> [oliver: rebased] Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Diffstat (limited to 'include/opal-api.h')
-rw-r--r--include/opal-api.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/opal-api.h b/include/opal-api.h
index e6b7c23..0134ee1 100644
--- a/include/opal-api.h
+++ b/include/opal-api.h
@@ -220,7 +220,8 @@
#define OPAL_NPU_MEM_ALLOC 171
#define OPAL_NPU_MEM_RELEASE 172
#define OPAL_MPIPL_UPDATE 173
-#define OPAL_LAST 173
+#define OPAL_MPIPL_REGISTER_TAG 174
+#define OPAL_LAST 174
#define QUIESCE_HOLD 1 /* Spin all calls at entry */
#define QUIESCE_REJECT 2 /* Fail all calls with OPAL_BUSY */
@@ -1211,6 +1212,16 @@ enum opal_mpipl_ops {
OPAL_MPIPL_FREE_PRESERVED_MEMORY= 3,
};
+/* Tag will point to various metadata area. Kernel will
+ * use tag to get metadata value.
+ */
+enum opal_mpipl_tags {
+ OPAL_MPIPL_TAG_CPU = 0,
+ OPAL_MPIPL_TAG_OPAL = 1,
+ OPAL_MPIPL_TAG_KERNEL = 2,
+ OPAL_MPIPL_TAG_BOOT_MEM = 3,
+};
+
#endif /* __ASSEMBLY__ */
#endif /* __OPAL_API_H */