qemu-cr16/qapi
Mauro Carvalho Chehab ddd8f3baa2 qapi/acpi-hest: add an interface to do generic CPER error injection
Create a QMP command to be used for generic ACPI APEI hardware error
injection (HEST) via GHESv2, and add support for it for ARM guests.

Error injection uses ACPI_HEST_SRC_ID_QMP source ID to be platform
independent. This is mapped at arch virt bindings, depending on the
types supported by QEMU and by the BIOS. So, on ARM, this is supported
via ACPI_GHES_NOTIFY_GPIO notification type.

This patch was co-authored:
    - original ghes logic to inject a simple ARM record by Shiju Jose;
    - generic logic to handle block addresses by Jonathan Cameron;
    - generic GHESv2 error inject by Mauro Carvalho Chehab;

Co-authored-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Co-authored-by: Shiju Jose <shiju.jose@huawei.com>
Co-authored-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Shiju Jose <shiju.jose@huawei.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Acked-by: Igor Mammedov <imammedo@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-ID: <81e2118b3c8b7e5da341817f277d61251655e0db.1758610789.git.mchehab+huawei@kernel.org>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2025-10-05 08:06:32 -04:00
..
accelerator.json qapi/accelerator: Fix markup of heading 2025-07-29 14:51:39 +02:00
acpi-hest.json qapi/acpi-hest: add an interface to do generic CPER error injection 2025-10-05 08:06:32 -04:00
acpi.json qapi: add cross-references to acpi.json 2025-07-14 12:52:46 +02:00
audio.json qapi: remove trivial "Returns:" sections 2025-07-14 12:35:29 +02:00
authz.json qapi: add cross-references to authz.json 2025-07-14 12:52:46 +02:00
block-core.json rbd: Fix .bdrv_get_specific_info implementation 2025-08-12 14:59:39 +02:00
block-export.json qapi: add cross-references to block layer 2025-07-14 12:55:17 +02:00
block.json qapi: add cross-references to block layer 2025-07-14 12:55:17 +02:00
char.json qapi: remove trivial "Returns:" sections 2025-07-14 12:35:29 +02:00
common.json docs/sphinx: remove special parsing for freeform sections 2025-07-14 10:08:27 +02:00
compat.json docs/sphinx: remove special parsing for freeform sections 2025-07-14 10:08:27 +02:00
control.json qapi: add cross-references to misc modules 2025-07-14 12:58:13 +02:00
crypto.json qapi: add cross-references to crypto.json 2025-07-14 12:55:49 +02:00
cryptodev.json qapi: remove trivial "Returns:" sections 2025-07-14 12:35:29 +02:00
cxl.json docs/sphinx: remove special parsing for freeform sections 2025-07-14 10:08:27 +02:00
dump.json qapi: Add more cross-references 2025-07-29 14:51:20 +02:00
ebpf.json qapi: add cross-references to misc modules 2025-07-14 12:58:13 +02:00
error.json docs/sphinx: remove special parsing for freeform sections 2025-07-14 10:08:27 +02:00
introspect.json qapi: add cross-references to misc modules 2025-07-14 12:58:13 +02:00
job.json qapi: add cross-references to job.json 2025-07-14 12:57:27 +02:00
machine-common.json qapi: add cross-references to Machine core 2025-07-14 12:58:13 +02:00
machine-s390x.json qapi: make s390x specific CPU commands unconditionally available 2025-05-28 18:56:08 +02:00
machine.json qapi: Add more cross-references 2025-07-29 14:51:20 +02:00
meson.build qapi/acpi-hest: add an interface to do generic CPER error injection 2025-10-05 08:06:32 -04:00
migration.json qapi: Add more cross-references 2025-07-29 14:51:20 +02:00
misc-arm.json qapi: add cross-references to misc modules 2025-07-14 12:58:13 +02:00
misc-i386.json qapi: Add more cross-references 2025-07-29 14:51:20 +02:00
misc.json qapi: add cross-references to misc modules 2025-07-14 12:58:13 +02:00
net.json QAPI patches patches for 2025-07-14 2025-07-16 07:07:30 -04:00
opts-visitor.c qapi: Inline and remove QERR_INVALID_PARAMETER definition 2024-04-24 09:50:58 +02:00
pci.json qapi: add cross-references to pci.json 2025-07-14 12:58:13 +02:00
pragma.json qapi: Document QCryptodevBackendServiceType 2024-10-02 09:10:01 +02:00
qapi-clone-visitor.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
qapi-dealloc-visitor.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
qapi-forward-visitor.c qapi: change 'unsigned special_features' to 'uint64_t features' 2025-02-10 15:45:04 +01:00
qapi-schema.json qapi/acpi-hest: add an interface to do generic CPER error injection 2025-10-05 08:06:32 -04:00
qapi-type-helpers.c qapi: New strv_from_str_list() 2024-03-04 07:12:40 +01:00
qapi-util.c qapi: change 'unsigned special_features' to 'uint64_t features' 2025-02-10 15:45:04 +01:00
qapi-visit-core.c qapi: change 'unsigned special_features' to 'uint64_t features' 2025-02-10 15:45:04 +01:00
qdev.json qapi: add cross-references to QOM 2025-07-14 12:58:13 +02:00
qmp-dispatch.c qapi: change 'unsigned special_features' to 'uint64_t features' 2025-02-10 15:45:04 +01:00
qmp-event.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
qmp-registry.c qapi: change 'unsigned special_features' to 'uint64_t features' 2025-02-10 15:45:04 +01:00
qobject-input-visitor.c qapi: change 'unsigned special_features' to 'uint64_t features' 2025-02-10 15:45:04 +01:00
qobject-output-visitor.c qapi: change 'unsigned special_features' to 'uint64_t features' 2025-02-10 15:45:04 +01:00
qom.json qom: qom-list-get 2025-07-16 16:51:21 +02:00
replay.json qapi: add cross-references to replay.json 2025-07-14 12:58:13 +02:00
rocker.json qapi: remove trivial "Returns:" sections 2025-07-14 12:35:29 +02:00
run-state.json qapi: Add more cross-references 2025-07-29 14:51:20 +02:00
sockets.json qapi: Add more cross-references 2025-07-29 14:51:20 +02:00
stats.json qapi: add cross-references to misc modules 2025-07-14 12:58:13 +02:00
string-input-visitor.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
string-output-visitor.c string-output-visitor: Fix (pseudo) struct handling 2024-01-26 11:16:58 +01:00
tpm.json qapi: remove trivial "Returns:" sections 2025-07-14 12:35:29 +02:00
trace-events qapi: Generalize struct member policy checking 2021-10-29 18:23:09 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
trace.json qapi: rephrase return docs to avoid type name 2025-07-14 12:35:39 +02:00
transaction.json qapi: add cross-references to block layer 2025-07-14 12:55:17 +02:00
uefi.json docs/sphinx: remove special parsing for freeform sections 2025-07-14 10:08:27 +02:00
ui.json QAPI patches patches for 2025-07-14 2025-07-16 07:07:30 -04:00
vfio.json docs/sphinx: remove special parsing for freeform sections 2025-07-14 10:08:27 +02:00
virtio.json qmp: update virtio features map to support extended features 2025-10-04 10:50:37 -04:00
yank.json qapi: add cross-references to yank.json 2025-07-14 12:58:13 +02:00