Now that the ghes preparation patches were merged, let's add support
for error injection.
I'm opting to fold two patch series into one here:
1. https://lore.kernel.org/qemu-devel/20250113130854.848688-1-mchehab+huawei@kernel.org/
It is the first 5 patches containing changes to the math used to calculate offsets at HEST
table and hardware_error firmware file, together with its migration code. Migration tested
with both latest QEMU released kernel and upstream, on both directions.
There were no changes on this series since last submission, except for a conflict
resolution at the migration table, due to upstream changes.
For more details, se the post of my previous submission.
2. It follows 6 patches from:
https://lore.kernel.org/qemu-devel/cover.1726293808.git.mchehab+huawei@kernel.org/
containing the error injection code and script.
They add a new QAPI to allow injecting GHESv2 errors, and a script using such QAPI
to inject ARM Processor Error records.
PS.: If I'm counting well, this is the 18th version of this series rebase.
Mauro Carvalho Chehab (11):
acpi/ghes: Prepare to support multiple sources on ghes
acpi/ghes: add a firmware file with HEST address
acpi/ghes: Use HEST table offsets when preparing GHES records
acpi/generic_event_device: Update GHES migration to cover hest addr
acpi/generic_event_device: add logic to detect if HEST addr is
available
acpi/ghes: add a notifier to notify when error data is ready
acpi/ghes: Cleanup the code which gets ghes ged state
acpi/generic_event_device: add an APEI error device
arm/virt: Wire up a GED error device for ACPI / GHES
qapi/acpi-hest: add an interface to do generic CPER error injection
scripts/ghes_inject: add a script to generate GHES error inject
MAINTAINERS | 10 +
hw/acpi/Kconfig | 5 +
hw/acpi/aml-build.c | 10 +
hw/acpi/generic_event_device.c | 38 ++
hw/acpi/ghes-stub.c | 4 +-
hw/acpi/ghes.c | 184 +++++--
hw/acpi/ghes_cper.c | 32 ++
hw/acpi/ghes_cper_stub.c | 19 +
hw/acpi/meson.build | 2 +
hw/arm/virt-acpi-build.c | 35 +-
hw/arm/virt.c | 19 +-
hw/core/machine.c | 2 +
include/hw/acpi/acpi_dev_interface.h | 1 +
include/hw/acpi/aml-build.h | 2 +
include/hw/acpi/generic_event_device.h | 1 +
include/hw/acpi/ghes.h | 36 +-
include/hw/arm/virt.h | 2 +
qapi/acpi-hest.json | 35 ++
qapi/meson.build | 1 +
qapi/qapi-schema.json | 1 +
scripts/arm_processor_error.py | 377 +++++++++++++
scripts/ghes_inject.py | 51 ++
scripts/qmp_helper.py | 702 +++++++++++++++++++++++++
target/arm/kvm.c | 2 +-
24 files changed, 1517 insertions(+), 54 deletions(-)
create mode 100644 hw/acpi/ghes_cper.c
create mode 100644 hw/acpi/ghes_cper_stub.c
create mode 100644 qapi/acpi-hest.json
create mode 100644 scripts/arm_processor_error.py
create mode 100755 scripts/ghes_inject.py
create mode 100644 scripts/qmp_helper.py
--
2.48.1