aboutsummaryrefslogtreecommitdiffstats
path: root/roms/skiboot/doc/opal-api/index.rst
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/skiboot/doc/opal-api/index.rst
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/skiboot/doc/opal-api/index.rst')
-rw-r--r--roms/skiboot/doc/opal-api/index.rst676
1 files changed, 676 insertions, 0 deletions
diff --git a/roms/skiboot/doc/opal-api/index.rst b/roms/skiboot/doc/opal-api/index.rst
new file mode 100644
index 000000000..663108889
--- /dev/null
+++ b/roms/skiboot/doc/opal-api/index.rst
@@ -0,0 +1,676 @@
+.. _opal-api:
+
+======================
+OPAL API Documentation
+======================
+
+The OPAL API is the interface between an Operating System and OPAL.
+
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| Name | API Token ID | Introduced | Required | Notes |
+| | | | as of | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_TEST` | 0 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_CONSOLE_WRITE` | 1 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_CONSOLE_READ` | 2 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_RTC_READ` | 3 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_RTC_WRITE` | 4 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_CEC_POWER_DOWN` | 5 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_CEC_REBOOT` | 6 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_READ_NVRAM` | 7 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_WRITE_NVRAM` | 8 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_HANDLE_INTERRUPT` | 9 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_POLL_EVENTS` | 10 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_SET_HUB_TCE_MEMORY` | 11 | N/A | | Was POWER7 |
+| | | Present only on | | p5ioc specific. |
+| | | internal systems. | | No use outside |
+| | | | | IBM development |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_SET_PHB_TCE_MEMORY` | 12 | N/A | | Was POWER7 |
+| | | Present only on | | p5ioc specific. |
+| | | internal systems. | | No use outside |
+| | | | | IBM development |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_CONFIG_READ_BYTE` | 13 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_CONFIG_READ_HALF_WORD` | 14 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_CONFIG_READ_WORD` | 15 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_CONFIG_WRITE_BYTE` | 16 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_CONFIG_WRITE_HALF_WORD` | 17 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_CONFIG_WRITE_WORD` | 18 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_SET_XIVE` | 19 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_GET_XIVE` | 20 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_GET_COMPLETION_TOKEN_STATUS` | 21 | Never | | Never |
+| | | | | Implemented |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_REGISTER_OPAL_EXCEPTION_HANDLER` | 22 | v1.0 (Initial Release) | | Removed |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_EEH_FREEZE_STATUS` | 23 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_SHPC` | 24 | Never | POWER8 | Never |
+| | | | | Implemented |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_CONSOLE_WRITE_BUFFER_SPACE` | 25 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_EEH_FREEZE_CLEAR` | 26 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_PHB_MMIO_ENABLE` | 27 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_SET_PHB_MEM_WINDOW` | 28 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_MAP_PE_MMIO_WINDOW` | 29 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_SET_PHB_TABLE_MEMORY` | 30 | Never | POWER8 | Never used or |
+| | | | | Implemented |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_SET_PE` | 31 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_SET_PELTV` | 32 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_SET_MVE` | 33 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_SET_MVE_ENABLE` | 34 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_GET_XIVE_REISSUE` | 35 | Never | | Never used or |
+| | | | | Implemented |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_SET_XIVE_REISSUE` | 36 | Never | | Never used or |
+| | | | | Implemented |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_SET_XIVE_PE` | 37 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_GET_XIVE_SOURCE` | 38 | v1.0 (Initial Release) | POWER8 | Never used, |
+| | | | | now removed. |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_GET_MSI_32` | 39 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_GET_MSI_64` | 40 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_START_CPU` | 41 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_QUERY_CPU_STATUS` | 42 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_WRITE_OPPANEL` | 43 | v1.0 (Initial Release) | POWER8 | unimplemented |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_MAP_PE_DMA_WINDOW` | 44 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_MAP_PE_DMA_WINDOW_REAL` | 45 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| Never used | 46 | | | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| Never used | 47 | | | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| Never used | 48 | | | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_RESET` | 49 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_GET_HUB_DIAG_DATA` | 50 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_GET_PHB_DIAG_DATA` | 51 | N/A | | Only |
+| | | | | implemented |
+| | | | | prior to public |
+| | | | | release. |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_FENCE_PHB` | 52 | Never | | Never |
+| | | | | implemented |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_REINIT` | 53 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_MASK_PE_ERROR` | 54 | Never | | Never |
+| | | | | implemented |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_SET_SLOT_LED_STATUS` | 55 | Never | | Never |
+| | | | | implemented |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_GET_EPOW_STATUS` | 56 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_SET_SYSTEM_ATTENTION_LED` | 57 | Never | | Never |
+| | | | | implemented |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_RESERVED1` | 58 | Never | | Never |
+| | | | | implemented |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_RESERVED2` | 59 | Never | | Never |
+| | | | | implemented |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_NEXT_ERROR` | 60 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_EEH_FREEZE_STATUS2` | 61 | v1.0 (Initial Release) | POWER8 | Removed, never |
+| | | | | used! |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_POLL` | 62 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_MSI_EOI` | 63 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_GET_PHB_DIAG_DATA2` | 64 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XSCOM_READ` | 65 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XSCOM_WRITE` | 66 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_LPC_READ` | 67 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_LPC_WRITE` | 68 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_RETURN_CPU` | 69 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_REINIT_CPUS` | 70 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_ELOG_READ` | 71 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_ELOG_WRITE` | 72 | N/A | | Currently |
+| | | | | unused. |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_ELOG_ACK` | 73 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_ELOG_RESEND` | 74 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_ELOG_SIZE` | 75 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_FLASH_VALIDATE` | 76 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_FLASH_MANAGE` | 77 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_FLASH_UPDATE` | 78 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_RESYNC_TIMEBASE` | 79 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_CHECK_TOKEN` | 80 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_DUMP_INIT` | 81 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_DUMP_INFO` | 82 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_DUMP_READ` | 83 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_DUMP_ACK` | 84 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_GET_MSG` | 85 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_CHECK_ASYNC_COMPLETION` | 86 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_SYNC_HOST_REBOOT` | 87 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_SENSOR_READ` | 88 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_GET_PARAM` | 89 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_SET_PARAM` | 90 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_DUMP_RESEND` | 91 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_ELOG_SEND` | 92 | Never | | Never used |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_SET_PHB_CAPI_MODE` | 93 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_DUMP_INFO2` | 94 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_WRITE_OPPANEL_ASYNC` | 95 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_ERR_INJECT` | 96 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_EEH_FREEZE_SET` | 97 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_HANDLE_HMI` | 98 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_CONFIG_CPU_IDLE_STATE` | 99 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_SLW_SET_REG` | 100 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_REGISTER_DUMP_REGION` | 101 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_UNREGISTER_DUMP_REGION` | 102 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_WRITE_TPO` | 103 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_READ_TPO` | 104 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_GET_DPO_STATUS` | 105 | v1.0 (Initial Release) | POWER8 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_OLD_I2C_REQUEST` | 106 | Introduced and | | Do not use. |
+| | | deprecated in | | |
+| | | :ref:`skiboot-4.0`. | | |
+| | | Should be completely | | |
+| | | unused. | | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_IPMI_SEND` | 107 | :ref:`skiboot-4.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_IPMI_RECV` | 108 | :ref:`skiboot-4.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_I2C_REQUEST` | 109 | :ref:`skiboot-4.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_FLASH_READ` | 110 | :ref:`skiboot-5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_FLASH_WRITE` | 111 | :ref:`skiboot-5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_FLASH_ERASE` | 112 | :ref:`skiboot-5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PRD_MSG` | 113 | :ref:`skiboot-5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_LEDS_GET_INDICATOR` | 114 | :ref:`skiboot-5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_LEDS_SET_INDICATOR` | 115 | :ref:`skiboot-5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_CEC_REBOOT2` | 116 | :ref:`skiboot-5.1.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_CONSOLE_FLUSH` | 117 | :ref:`skiboot-5.1.13` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_GET_DEVICE_TREE` | 118 | :ref:`skiboot-5.3.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_GET_PRESENCE_STATE` | 119 | :ref:`skiboot-5.3.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_GET_POWER_STATE` | 120 | :ref:`skiboot-5.3.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_SET_POWER_STATE` | 121 | :ref:`skiboot-5.3.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_INT_GET_XIRR` | 122 | :ref:`skiboot-5.3.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_INT_SET_CPPR` | 123 | :ref:`skiboot-5.3.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_INT_EOI` | 124 | :ref:`skiboot-5.3.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_INT_SET_MFRR` | 125 | :ref:`skiboot-5.3.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_TCE_KILL` | 126 | :ref:`skiboot-5.3.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_NMMU_SET_PTCR` | 127 | :ref:`skiboot-5.4.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XIVE_RESET` | 128 | :ref:`skiboot-5.5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XIVE_GET_IRQ_INFO` | 129 | :ref:`skiboot-5.5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XIVE_GET_IRQ_CONFIG` | 130 | :ref:`skiboot-5.5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XIVE_SET_IRQ_CONFIG` | 131 | :ref:`skiboot-5.5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XIVE_GET_QUEUE_INFO` | 132 | :ref:`skiboot-5.5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XIVE_SET_QUEUE_INFO` | 133 | :ref:`skiboot-5.5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XIVE_DONATE_PAGE` | 134 | :ref:`skiboot-5.5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XIVE_ALLOCATE_VP_BLOCK` | 135 | :ref:`skiboot-5.5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XIVE_FREE_VP_BLOCK` | 136 | :ref:`skiboot-5.5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XIVE_GET_VP_INFO` | 137 | :ref:`skiboot-5.5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XIVE_SET_VP_INFO` | 138 | :ref:`skiboot-5.5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XIVE_ALLOCATE_IRQ` | 139 | :ref:`skiboot-5.5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XIVE_FREE_IRQ` | 140 | :ref:`skiboot-5.5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XIVE_SYNC` | 141 | :ref:`skiboot-5.5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XIVE_DUMP` | 142 | :ref:`skiboot-5.5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XIVE_GET_QUEUE_STATE` | 143 | :ref:`skiboot-6.3` | | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XIVE_SET_QUEUE_STATE` | 144 | :ref:`skiboot-6.3` | | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_SIGNAL_SYSTEM_RESET` | 145 | :ref:`skiboot-5.5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_NPU_INIT_CONTEXT` | 146 | :ref:`skiboot-5.5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_NPU_DESTROY_CONTEXT` | 147 | :ref:`skiboot-5.5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_NPU_MAP_LPAR` | 148 | :ref:`skiboot-5.5.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_IMC_COUNTERS_INIT` | 149 | :ref:`skiboot-5.7` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_IMC_COUNTERS_START` | 150 | :ref:`skiboot-5.7` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_IMC_COUNTERS_STOP` | 151 | :ref:`skiboot-5.7` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_GET_POWERCAP` | 152 | :ref:`skiboot-5.8` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_SET_POWERCAP` | 153 | :ref:`skiboot-5.8` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_GET_POWER_SHIFT_RATIO` | 154 | :ref:`skiboot-5.8` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_SET_POWER_SHIFT_RATIO` | 155 | :ref:`skiboot-5.8` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_SENSOR_GROUP_CLEAR` | 156 | :ref:`skiboot-5.8` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_SET_P2P` | 157 | :ref:`skiboot-5.8` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_QUIESCE` | 158 | :ref:`skiboot-5.10` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_NPU_SPA_SETUP` | 159 | :ref:`skiboot-5.11` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_NPU_SPA_CLEAR_CACHE` | 160 | :ref:`skiboot-5.11` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_NPU_TL_SET` | 161 | :ref:`skiboot-5.11` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_SENSOR_READ_U64` | 162 | :ref:`skiboot-5.10` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_SENSOR_GROUP_ENABLE` | 163 | :ref:`skiboot-5.10` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_GET_PBCQ_TUNNEL_BAR` | 164 | :ref:`skiboot-5.11` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PCI_SET_PBCQ_TUNNEL_BAR` | 165 | :ref:`skiboot-5.11` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_HANDLE_HMI2` | 166 | :ref:`skiboot-6.0` | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_NX_COPROC_INIT` | 167 | :ref:`skiboot-6.1` | | |
+| | | :ref:`skiboot-6.0.5` | | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_NPU_SET_RELAXED_ORDER` | 168 | :ref:`skiboot-6.2` | | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_NPU_GET_RELAXED_ORDER` | 169 | :ref:`skiboot-6.2` | | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_XIVE_GET_VP_STATE` | 170 | :ref:`skiboot-6.3` | | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_NPU_MEM_ALLOC` | 171 | Future, likely 6.4 | | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_NPU_MEM_RELEASE` | 172 | Future, likely 6.4 | | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_MPIPL_UPDATE` | 173 | Future, likely 6.4 | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_MPIPL_REGISTER_TAG` | 174 | Future, likely 6.4 | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_MPIPL_QUERY_TAG` | 175 | Future, likely 6.4 | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PHB_SET_OPTION` | 179 | Future, likely 6.6 | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+| :ref:`OPAL_PHB_GET_OPTION` | 180 | Future, likely 6.6 | POWER9 | |
++---------------------------------------------+--------------+------------------------+----------+-----------------+
+
+.. toctree::
+ :maxdepth: 1
+ :glob:
+
+ *
+
+
+Removed Calls
+-------------
+
+Under **very** specific and careful circumstances, an OPAL call has been
+removed and no longer supported.
+
++---------------------------------------------+-------+-----------------------+-----------------------+
+| Name | API | Introduced | Removed |
+| | Token | | |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_GET_COMPLETION_TOKEN_STATUS` | 21 | Never | |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_PCI_SHPC` | 24 | Never | |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_PCI_SET_PHB_TABLE_MEMORY` | 30 | Never | |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_PCI_GET_XIVE_REISSUE` | 35 | Never | |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_PCI_GET_XIVE_REISSUE` | 36 | Never | |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_PCI_FENCE_PHB` | 52 | Never | |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_PCI_MASK_PE_ERROR` | 54 | Never | |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_SET_SLOT_LED_STATUS` | 55 | Never | |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_SET_SYSTEM_ATTENTION_LED` | 57 | Never | |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_RESERVED1` | 58 | Never | |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_RESERVED2` | 59 | Never | |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_ELOG_SEND` | 92 | pre-v1.0 | pre-v1.0 |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_PCI_GET_PHB_DIAG_DATA` | 51 | pre-v1.0 | pre-v1.0, with last |
+| | | | remnants removed in |
+| | | | :ref:`skiboot-6.4` |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_GET_XIVE_SOURCE` | 38 | v1.0 Initial Release | :ref:`skiboot-6.4` |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_WRITE_OPPANEL` | 43 | pre-v1.0 | pre-v1.0 |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_OLD_I2C_REQUEST` | 106 | v4.0 | v4.0 |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_REGISTER_OPAL_EXCEPTION_HANDLER` | 22 | v1.0 Initial Release | :ref:`skiboot-5.0` |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_PCI_SET_HUB_TCE_MEMORY` | 11 | pre-v1.0 | :ref:`skiboot-5.2.0` |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_PCI_SET_PHB_TCE_MEMORY` | 12 | pre-v1.0 | :ref:`skiboot-5.2.0` |
++---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_PCI_EEH_FREEZE_STATUS2` | 61 | v1.0 Initial Release | :ref:`skiboot-6.4` |
++---------------------------------------------+-------+-----------------------+-----------------------+
+
+.. _OPAL_GET_COMPLETION_TOKEN_STATUS:
+
+OPAL_GET_COMPLETION_TOKEN_STATUS
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+In the before time, long-long ago, there existed something called OPAL before
+the incarnation we know today. Presumably, this long forgotten incarnation
+had a call called this.
+
+This call has never been implemented, and never will be.
+
+.. _OPAL_PCI_SHPC:
+
+OPAL_PCI_SHPC
+^^^^^^^^^^^^^
+
+A remnant of a long forgotten incarnation of OPAL. Never implemented, never
+will be.
+
+.. _OPAL_PCI_SET_PHB_TABLE_MEMORY:
+
+OPAL_PCI_SET_PHB_TABLE_MEMORY
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A remnant of an old API design. Never implemented, never used. Only ever
+returned :ref:`OPAL_UNSUPPORTED`, now the call is not implemented at all.
+
+.. _OPAL_PCI_GET_XIVE_REISSUE:
+
+OPAL_PCI_GET_XIVE_REISSUE
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A remnant of something prior to OPALv3. Never implemented in skiboot and never
+used by anyone. Returend :ref:`OPAL_UNSUPPORTED` until :ref:`skiboot-6.4`, where
+it was removed.
+
+.. _OPAL_PCI_SET_XIVE_REISSUE:
+
+OPAL_PCI_SET_XIVE_REISSUE
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A remnant of something prior to OPALv3. Never implemented in skiboot and never
+used by anyone. Returend :ref:`OPAL_UNSUPPORTED` until :ref:`skiboot-6.4`, where
+it was removed.
+
+.. _OPAL_PCI_FENCE_PHB:
+
+OPAL_PCI_FENCE_PHB
+^^^^^^^^^^^^^^^^^^
+
+Never implemented.
+
+.. _OPAL_PCI_MASK_PE_ERROR:
+
+OPAL_PCI_MASK_PE_ERROR
+^^^^^^^^^^^^^^^^^^^^^^
+
+Never implemented.
+
+.. _OPAL_SET_SLOT_LED_STATUS:
+
+OPAL_SET_SLOT_LED_STATUS
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Never implemented.
+
+.. _OPAL_SET_SYSTEM_ATTENTION_LED:
+
+OPAL_SET_SYSTEM_ATTENTION_LED
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Never implemented.
+
+.. _OPAL_RESERVED1:
+
+OPAL_RESERVED1
+^^^^^^^^^^^^^^
+
+Reserved for future use, but never used.
+
+.. _OPAL_RESERVED2:
+
+OPAL_RESERVED2
+^^^^^^^^^^^^^^
+
+Reserved for future use, but never used.
+
+.. _OPAL_ELOG_SEND:
+
+OPAL_ELOG_SEND
+^^^^^^^^^^^^^^
+
+Brielfy present prior to the first public release of OPAL. Never used in any
+public kernel tree. If this functionality were to ever be implemented, it'd
+appear as :ref:`OPAL_ELOG_WRITE` rather than this call.
+
+.. _OPAL_PCI_GET_PHB_DIAG_DATA:
+
+OPAL_PCI_GET_PHB_DIAG_DATA
+==========================
+
+This call was introduced and functionally removed (all backends for it were)
+before the first public opal release. It has not been used since Linux 3.11-rc1.
+Considering the state of EEH in such old kernels and firmware, removing the
+remnants of this call is considered safe. If for some bizarre reason such an
+old kernel is run on :ref:`skiboot-6.4` or later, an :ref:`OPAL_PARAMETER` error
+will be returned instead of :ref:`OPAL_UNSUPPORTED`.
+
+It is replaced by :ref:`OPAL_PCI_GET_PHB_DIAG_DATA2` instead.
+
+.. _OPAL_GET_XIVE_SOURCE:
+
+OPAL_GET_XIVE_SOURCE
+^^^^^^^^^^^^^^^^^^^^
+
+While this call was technically implemented by skiboot, no code has ever called
+it, and it was only ever implemented for the p7ioc-phb back-end (i.e. POWER7).
+Since this call was unused in Linux, and that POWER7 with OPAL was only ever
+available internally, it was determined that it was safe to remove this call as
+of :ref:`skiboot-6.4`.
+
+.. _OPAL_WRITE_OPPANEL:
+
+OPAL_WRITE_OPPANEL
+^^^^^^^^^^^^^^^^^^
+
+Never in a released version, use :ref:`OPAL_WRITE_OPPANEL_ASYNC`.
+
+.. _OPAL_OLD_I2C_REQUEST:
+
+OPAL_OLD_I2C_REQUEST
+^^^^^^^^^^^^^^^^^^^^
+
+Never used. Only existing briefly in the :ref:`skiboot-4.0` development cycle.
+
+
+.. _OPAL_REGISTER_OPAL_EXCEPTION_HANDLER:
+
+OPAL_REGISTER_OPAL_EXCEPTION_HANDLER
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: c
+
+ #define OPAL_REGISTER_OPAL_EXCEPTION_HANDLER 22
+
+
+ int64_t opal_register_exc_handler(uint64_t opal_exception __unused,
+ uint64_t handler_address __unused,
+ uint64_t glue_cache_line __unused);
+
+
+This call existed for a very short period of time and only ever worked with Big
+Endian host operating systems. The idea was that OPAL would handle HMIs and
+an OS could (if it chose to) register a handler for them. This call is not
+required since the introduction of :ref:`OPAL_HANDLE_HMI` and all machines that
+ever shipped without :ref:`OPAL_HANDLE_HMI` have a firmware update that
+supports it. For IBM Tuleta machines, this was FW810.20 (released Oct 2014)
+that had :ref:`OPAL_HANDLE_HMI` support.
+
+This call was removed in :ref:`skiboot-5.0` and now just
+returns :ref:`OPAL_UNSUPPORTED`.
+
+Use of the :ref:`OPAL_HANDLE_HMI` call was introduced in Linux 3.17.
+
+
+.. _OPAL_PCI_SET_HUB_TCE_MEMORY:
+
+OPAL_PCI_SET_HUB_TCE_MEMORY
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: c
+
+ #define OPAL_PCI_SET_HUB_TCE_MEMORY 11
+
+ int64_t opal_pci_set_hub_tce_memory(uint64_t hub_id,
+ uint64_t tce_mem_addr __unused,
+ uint64_t tce_mem_size __unused);
+
+This call was only ever relevant for p5ioc based POWER7 systems. These were
+never available with OPAL outside of IBM development.
+
+Support for POWER7 systems with p5ioc was dropped in :ref:`skiboot-5.2.0`,
+and these systems were only ever used with OPAL inside IBM for development
+and bring-up purposes.
+
+Support for p5ioc was removed from the Linux kernel in v4.6-rc1.
+
+.. _OPAL_PCI_SET_PHB_TCE_MEMORY:
+
+OPAL_PCI_SET_PHB_TCE_MEMORY
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: c
+
+ #define OPAL_PCI_SET_PHB_TCE_MEMORY 12
+
+ int64_t opal_pci_set_phb_tce_memory(uint64_t phb_id,
+ uint64_t tce_mem_addr,
+ uint64_t tce_mem_size);
+
+This call was only ever relevant for p5ioc based POWER7 systems. These were
+never available with OPAL outside of IBM development.
+
+Support for POWER7 systems with p5ioc was dropped in :ref:`skiboot-5.2.0`,
+and these systems were only ever used with OPAL inside IBM for development
+and bring-up purposes.
+
+Support for p5ioc was removed from the Linux kernel in v4.6-rc1.
+
+
+Future Calls
+------------
+
+.. _OPAL_ELOG_WRITE:
+
+OPAL_ELOG_WRITE
+^^^^^^^^^^^^^^^
+
+May be implemented in the future to complement the :ref:`OPAL_ELOG_READ` call.