diff options
Diffstat (limited to 'roms/skiboot/doc/opal-api/opal-pci-err-inject-96.rst')
-rw-r--r-- | roms/skiboot/doc/opal-api/opal-pci-err-inject-96.rst | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/roms/skiboot/doc/opal-api/opal-pci-err-inject-96.rst b/roms/skiboot/doc/opal-api/opal-pci-err-inject-96.rst new file mode 100644 index 000000000..0820e9001 --- /dev/null +++ b/roms/skiboot/doc/opal-api/opal-pci-err-inject-96.rst @@ -0,0 +1,54 @@ +.. _OPAL_PCI_ERR_INJECT: + +OPAL_PCI_ERR_INJECT +=================== + +.. code-block:: c + + #define OPAL_PCI_ERR_INJECT 96 + + enum OpalErrinjectType { + OPAL_ERR_INJECT_TYPE_IOA_BUS_ERR = 0, + OPAL_ERR_INJECT_TYPE_IOA_BUS_ERR64 = 1, + }; + + enum OpalErrinjectFunc { + /* IOA bus specific errors */ + OPAL_ERR_INJECT_FUNC_IOA_LD_MEM_ADDR = 0, + OPAL_ERR_INJECT_FUNC_IOA_LD_MEM_DATA = 1, + OPAL_ERR_INJECT_FUNC_IOA_LD_IO_ADDR = 2, + OPAL_ERR_INJECT_FUNC_IOA_LD_IO_DATA = 3, + OPAL_ERR_INJECT_FUNC_IOA_LD_CFG_ADDR = 4, + OPAL_ERR_INJECT_FUNC_IOA_LD_CFG_DATA = 5, + OPAL_ERR_INJECT_FUNC_IOA_ST_MEM_ADDR = 6, + OPAL_ERR_INJECT_FUNC_IOA_ST_MEM_DATA = 7, + OPAL_ERR_INJECT_FUNC_IOA_ST_IO_ADDR = 8, + OPAL_ERR_INJECT_FUNC_IOA_ST_IO_DATA = 9, + OPAL_ERR_INJECT_FUNC_IOA_ST_CFG_ADDR = 10, + OPAL_ERR_INJECT_FUNC_IOA_ST_CFG_DATA = 11, + OPAL_ERR_INJECT_FUNC_IOA_DMA_RD_ADDR = 12, + OPAL_ERR_INJECT_FUNC_IOA_DMA_RD_DATA = 13, + OPAL_ERR_INJECT_FUNC_IOA_DMA_RD_MASTER = 14, + OPAL_ERR_INJECT_FUNC_IOA_DMA_RD_TARGET = 15, + OPAL_ERR_INJECT_FUNC_IOA_DMA_WR_ADDR = 16, + OPAL_ERR_INJECT_FUNC_IOA_DMA_WR_DATA = 17, + OPAL_ERR_INJECT_FUNC_IOA_DMA_WR_MASTER = 18, + OPAL_ERR_INJECT_FUNC_IOA_DMA_WR_TARGET = 19, + }; + + int64_t opal_pci_err_inject(uint64_t phb_id, uint64_t pe_number, + uint32_t type, uint32_t func, + uint64_t addr, uint64_t mask); + +Inject an error, used to test OS and OPAL EEH handling. + +Returns +------- + +:ref:`OPAL_SUCCESS` + Error injected successfully. +:ref:`OPAL_PARAMETER` + Invalid argument. +:ref:`OPAL_UNSUPPORTED` + PHB doesn't support error injection or the specific error attempting to + be injected. |