aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStewart Smith <stewart@linux.vnet.ibm.com>2016-07-06 17:26:43 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2016-07-06 17:39:37 +1000
commit1bd1063a9953ec77cb5b22ae2ae1c2ed563059a8 (patch)
tree925fd80aa95632ab3eca44715e9e38a96229bec2
parentf1f38e6ca8342737ee34d58f6a73abd05ea8d28c (diff)
downloadskiboot-1bd1063a9953ec77cb5b22ae2ae1c2ed563059a8.zip
skiboot-1bd1063a9953ec77cb5b22ae2ae1c2ed563059a8.tar.gz
skiboot-1bd1063a9953ec77cb5b22ae2ae1c2ed563059a8.tar.bz2
Reserve OPAL API numbers for XICS emulation for XIVE
Additionally, we put in some skeleton docs for what's coming, key points being that this is for P9 and above, relies on a device being present in the device tree and is modelled on the PAPR calls. Suggested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-rw-r--r--doc/opal-api/opal-int-eoi-124.txt15
-rw-r--r--doc/opal-api/opal-int-get-xirr-122.txt15
-rw-r--r--doc/opal-api/opal-int-set-cppr-123.txt16
-rw-r--r--doc/opal-api/opal-int-set-mfrr-125.txt15
-rw-r--r--include/opal-api.h6
5 files changed, 66 insertions, 1 deletions
diff --git a/doc/opal-api/opal-int-eoi-124.txt b/doc/opal-api/opal-int-eoi-124.txt
new file mode 100644
index 0000000..9405018
--- /dev/null
+++ b/doc/opal-api/opal-int-eoi-124.txt
@@ -0,0 +1,15 @@
+OPAL_INT_EOI
+------------
+
+static int64_t opal_xive_eoi(uint32_t xirr)
+
+Not yet implemented.
+
+Modelled on the H_EOI PAPR call.
+
+For P9 and above systems where host doesn't know about interrupt controller.
+An OS can instead make OPAL calls for XICS emulation.
+
+For an OS to use this OPAL call, an "ibm,opal-intc" compatible device must
+exist in the device tree. If OPAL does not create such a device, the host
+OS MUST NOT use this call.
diff --git a/doc/opal-api/opal-int-get-xirr-122.txt b/doc/opal-api/opal-int-get-xirr-122.txt
new file mode 100644
index 0000000..efa86d5
--- /dev/null
+++ b/doc/opal-api/opal-int-get-xirr-122.txt
@@ -0,0 +1,15 @@
+OPAL_INT_GET_XIRR
+-----------------
+
+int64_t opal_xive_get_xirr(uint32_t *out_xirr, bool just_poll)
+
+Not yet implemented.
+
+Modelled on the PAPR call.
+
+For P9 and above systems where host doesn't know about interrupt controller.
+An OS can instead make OPAL calls for XICS emulation.
+
+For an OS to use this OPAL call, an "ibm,opal-intc" compatible device must
+exist in the device tree. If OPAL does not create such a device, the host
+OS MUST NOT use this call.
diff --git a/doc/opal-api/opal-int-set-cppr-123.txt b/doc/opal-api/opal-int-set-cppr-123.txt
new file mode 100644
index 0000000..b6858c9
--- /dev/null
+++ b/doc/opal-api/opal-int-set-cppr-123.txt
@@ -0,0 +1,16 @@
+OPAL_INT_SET_CPPR
+-----------------
+
+static int64_t opal_xive_set_cppr(uint8_t cppr)
+
+
+Not yet implemented.
+
+Modelled on the H_CPPR PAPR call.
+
+For P9 and above systems where host doesn't know about interrupt controller.
+An OS can instead make OPAL calls for XICS emulation.
+
+For an OS to use this OPAL call, an "ibm,opal-intc" compatible device must
+exist in the device tree. If OPAL does not create such a device, the host
+OS MUST NOT use this call.
diff --git a/doc/opal-api/opal-int-set-mfrr-125.txt b/doc/opal-api/opal-int-set-mfrr-125.txt
new file mode 100644
index 0000000..64a7506
--- /dev/null
+++ b/doc/opal-api/opal-int-set-mfrr-125.txt
@@ -0,0 +1,15 @@
+OPAL_INT_SET_MFRR
+-----------------
+
+static int64_t opal_xive_set_mfrr(uint32_t cpu, uint8_t mfrr)
+
+Not yet implemented.
+
+Modelled on the H_IPI PAPR call.
+
+For P9 and above systems where host doesn't know about interrupt controller.
+An OS can instead make OPAL calls for XICS emulation.
+
+For an OS to use this OPAL call, an "ibm,opal-intc" compatible device must
+exist in the device tree. If OPAL does not create such a device, the host
+OS MUST NOT use this call.
diff --git a/include/opal-api.h b/include/opal-api.h
index 917d751..84c6925 100644
--- a/include/opal-api.h
+++ b/include/opal-api.h
@@ -167,7 +167,11 @@
#define OPAL_PCI_GET_PRESENCE_STATE 119
#define OPAL_PCI_GET_POWER_STATE 120
#define OPAL_PCI_SET_POWER_STATE 121
-#define OPAL_LAST 121
+#define OPAL_INT_GET_XIRR 122 /* Not yet implemented */
+#define OPAL_INT_SET_CPPR 123 /* Not yet implemented */
+#define OPAL_INT_EOI 124 /* Not yet implemented */
+#define OPAL_INT_SET_MFRR 125 /* Not yet implemented */
+#define OPAL_LAST 125
/* Device tree flags */