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 vduse-blk: Add name option 2022-06-24 17:07:06 +02:00
block.json block: add more commands to preconfig mode 2022-06-14 16:50:30 +02:00
char.json
common.json
compat.json
control.json
crypto.json qapi: crypto-akcipher: Introduce akcipher types to qapi 2022-05-26 11:41:42 +01:00
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 qapi: fix example of query-dump-guest-memory-capability command 2022-09-07 15:10:13 +02:00
error.json
introspect.json
job.json
machine-target.json target/loongarch: Implement qmp_query_cpu_definitions() 2022-06-06 18:09:03 +00:00
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 vfio-user: run vfio-user context 2022-06-15 16:43:42 +01:00
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 qapi: fix example of DEVICE_UNPLUG_GUEST_ERROR event 2022-09-07 15:10:13 +02:00
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 gtk: Add show_menubar=on|off command line option. 2022-10-12 14:33:54 +02:00
virtio.json Fix several typos in documentation (found by codespell) 2022-11-11 09:39:25 +01:00
yank.json