qemu-e2k/qapi
Jonathan Cameron 415442a1b4 hw/mem/cxl_type3: Add CXL RAS Error Injection Support.
CXL uses PCI AER Internal errors to signal to the host that an error has
occurred. The host can then read more detailed status from the CXL RAS
capability.

For uncorrectable errors: support multiple injection in one operation
as this is needed to reliably test multiple header logging support in an
OS. The equivalent feature doesn't exist for correctable errors, so only
one error need be injected at a time.

Note:
 - Header content needs to be manually specified in a fashion that
   matches the specification for what can be in the header for each
   error type.

Injection via QMP:
{ "execute": "qmp_capabilities" }
...
{ "execute": "cxl-inject-uncorrectable-errors",
  "arguments": {
    "path": "/machine/peripheral/cxl-pmem0",
    "errors": [
        {
            "type": "cache-address-parity",
            "header": [ 3, 4]
        },
        {
            "type": "cache-data-parity",
            "header": [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]
        },
        {
            "type": "internal",
            "header": [ 1, 2, 4]
        }
        ]
  }}
...
{ "execute": "cxl-inject-correctable-error",
    "arguments": {
        "path": "/machine/peripheral/cxl-pmem0",
        "type": "physical"
    } }

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20230302133709.30373-9-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2023-03-07 12:39:00 -05:00
..
acpi.json
audio.json qapi, audio: Make introspection reflect build configuration more closely 2023-01-30 15:43:55 +01:00
authz.json
block-core.json block/rbd: Add support for layered encryption 2023-02-23 19:49:35 +01:00
block-export.json
block.json
char.json
common.json
compat.json
control.json
crypto.json
cryptodev.json cryptodev: Introduce 'query-cryptodev' QMP command 2023-03-07 12:38:59 -05:00
cxl.json hw/mem/cxl_type3: Add CXL RAS Error Injection Support. 2023-03-07 12:39:00 -05:00
dump.json
error.json
introspect.json
job.json
machine-target.json
machine.json qapi: Add 'acpi' field to 'query-machines' output 2023-03-01 11:36:53 +01:00
meson.build hw/mem/cxl_type3: Add CXL RAS Error Injection Support. 2023-03-07 12:39:00 -05:00
migration.json migration: Introduce interface query-migrationthreads 2023-02-06 19:22:57 +01:00
misc-target.json i386/xen: add monitor commands to test event injection 2023-03-01 08:22:50 +00:00
misc.json
net.json net: stream: add a new option to automatically reconnect 2023-02-17 13:31:33 +08:00
opts-visitor.c
pci.json
pragma.json
qapi-clone-visitor.c
qapi-dealloc-visitor.c
qapi-forward-visitor.c
qapi-schema.json hw/mem/cxl_type3: Add CXL RAS Error Injection Support. 2023-03-07 12:39:00 -05:00
qapi-type-helpers.c
qapi-util.c
qapi-visit-core.c
qdev.json
qmp-dispatch.c
qmp-event.c
qmp-registry.c
qobject-input-visitor.c
qobject-output-visitor.c
qom.json cryptodev: support QoS 2023-03-07 12:38:59 -05:00
rdma.json
replay.json
rocker.json
run-state.json reset: allow registering handlers that aren't called by snapshot loading 2022-10-27 11:34:31 +01:00
sockets.json
stats.json cryptodev: Support query-stats QMP command 2023-03-07 12:38:59 -05:00
string-input-visitor.c
string-output-visitor.c
tpm.json
trace-events
trace.h
trace.json
transaction.json
ui.json
virtio.json Fix several typos in documentation (found by codespell) 2022-11-11 09:39:25 +01:00
yank.json