From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: Igor Mammedov <imammedo@redhat.com>,
"Michael S . Tsirkin" <mst@redhat.com>
Cc: "Jonathan Cameron" <Jonathan.Cameron@huawei.com>,
"Shiju Jose" <shiju.jose@huawei.com>,
qemu-arm@nongnu.org, qemu-devel@nongnu.org,
"Mauro Carvalho Chehab" <mchehab+huawei@kernel.org>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Ani Sinha" <anisinha@redhat.com>,
"Cleber Rosa" <crosa@redhat.com>,
"Dongjiu Geng" <gengdongjiu1@gmail.com>,
"Eduardo Habkost" <eduardo@habkost.net>,
"Eric Blake" <eblake@redhat.com>, "John Snow" <jsnow@redhat.com>,
"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
"Markus Armbruster" <armbru@redhat.com>,
"Michael Roth" <michael.roth@amd.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Shannon Zhao" <shannon.zhaosl@gmail.com>,
"Yanan Wang" <wangyanan55@huawei.com>,
"Zhao Liu" <zhao1.liu@intel.com>,
kvm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v5 00/21]Change ghes to use HEST-based offsets and add support for error inject
Date: Thu, 27 Feb 2025 12:03:30 +0100 [thread overview]
Message-ID: <cover.1740653898.git.mchehab+huawei@kernel.org> (raw)
Now that the ghes preparation patches were merged, let's add support
for error injection.
On this version, HEST table got added to ACPI tables testing for aarch64 virt.
There are also some patch reorder to help reviewers to check the changes.
The code itself is almost identical to v4, with just a few minor nits addressed.
---
v5:
- make checkpatch happier;
- HEST table is now tested;
- some changes at HEST spec documentation to align with code changes;
- extra care was taken with regards to git bisectability.
v4:
- added an extra comment for AcpiGhesState structure;
- patches reordered;
- no functional changes, just code shift between the patches in this series.
v3:
- addressed more nits;
- hest_add_le now points to the beginning of HEST table;
- removed HEST from tests/data/acpi;
- added an extra patch to not use fw_cfg with virt-10.0 for hw_error_le
v2:
- address some nits;
- improved ags cleanup patch and removed ags.present field;
- added some missing le*_to_cpu() calls;
- update date at copyright for new files to 2024-2025;
- qmp command changed to: inject-ghes-v2-error ans since updated to 10.0;
- added HEST and DSDT tables after the changes to make check target happy.
(two patches: first one whitelisting such tables; second one removing from
whitelist and updating/adding such tables to tests/data/acpi)
Mauro Carvalho Chehab (21):
tests/acpi: virt: add an empty HEST file
tests/qtest/bios-tables-test: extend to also check HEST table
tests/acpi: virt: update HEST file with its current data
acpi/ghes: Cleanup the code which gets ghes ged state
acpi/ghes: prepare to change the way HEST offsets are calculated
acpi/ghes: add a firmware file with HEST address
acpi/ghes: Use HEST table offsets when preparing GHES records
acpi/ghes: don't hard-code the number of sources for HEST table
acpi/ghes: add a notifier to notify when error data is ready
acpi/ghes: create an ancillary acpi_ghes_get_state() function
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/generic_event_device: add an APEI error device
tests/acpi: virt: allow acpi table changes at DSDT and HEST tables
arm/virt: Wire up a GED error device for ACPI / GHES
qapi/acpi-hest: add an interface to do generic CPER error injection
tests/acpi: virt: update HEST table to accept two sources
tests/acpi: virt: and update DSDT table to add the new GED device
docs: hest: add new "etc/acpi_table_hest_addr" and update workflow
acpi/generic_event_device.c: enable use_hest_addr for QEMU 10.x
scripts/ghes_inject: add a script to generate GHES error inject
MAINTAINERS | 10 +
docs/specs/acpi_hest_ghes.rst | 28 +-
hw/acpi/Kconfig | 5 +
hw/acpi/aml-build.c | 10 +
hw/acpi/generic_event_device.c | 43 ++
hw/acpi/ghes-stub.c | 7 +-
hw/acpi/ghes.c | 231 ++++--
hw/acpi/ghes_cper.c | 38 +
hw/acpi/ghes_cper_stub.c | 19 +
hw/acpi/meson.build | 2 +
hw/arm/virt-acpi-build.c | 36 +-
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 | 52 +-
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 | 476 ++++++++++++
scripts/ghes_inject.py | 51 ++
scripts/qmp_helper.py | 702 ++++++++++++++++++
target/arm/kvm.c | 7 +-
tests/data/acpi/aarch64/virt/DSDT | Bin 5196 -> 5240 bytes
.../data/acpi/aarch64/virt/DSDT.acpihmatvirt | Bin 5282 -> 5326 bytes
tests/data/acpi/aarch64/virt/DSDT.memhp | Bin 6557 -> 6601 bytes
tests/data/acpi/aarch64/virt/DSDT.pxb | Bin 7679 -> 7723 bytes
tests/data/acpi/aarch64/virt/DSDT.topology | Bin 5398 -> 5442 bytes
tests/data/acpi/aarch64/virt/HEST | Bin 0 -> 224 bytes
tests/qtest/bios-tables-test.c | 2 +-
32 files changed, 1692 insertions(+), 91 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 100755 scripts/qmp_helper.py
create mode 100644 tests/data/acpi/aarch64/virt/HEST
--
2.48.1
next reply other threads:[~2025-02-27 11:13 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-27 11:03 Mauro Carvalho Chehab [this message]
2025-02-27 11:03 ` [PATCH v5 01/21] tests/acpi: virt: add an empty HEST file Mauro Carvalho Chehab
2025-02-27 12:02 ` Igor Mammedov
2025-02-27 11:03 ` [PATCH v5 02/21] tests/qtest/bios-tables-test: extend to also check HEST table Mauro Carvalho Chehab
2025-02-27 12:03 ` Igor Mammedov
2025-02-27 11:03 ` [PATCH v5 03/21] tests/acpi: virt: update HEST file with its current data Mauro Carvalho Chehab
2025-02-27 12:03 ` Igor Mammedov
2025-02-27 11:03 ` [PATCH v5 04/21] acpi/ghes: Cleanup the code which gets ghes ged state Mauro Carvalho Chehab
2025-02-27 11:03 ` [PATCH v5 05/21] acpi/ghes: prepare to change the way HEST offsets are calculated Mauro Carvalho Chehab
2025-02-27 13:25 ` Igor Mammedov
2025-02-27 11:03 ` [PATCH v5 06/21] acpi/ghes: add a firmware file with HEST address Mauro Carvalho Chehab
2025-02-27 13:23 ` Igor Mammedov
2025-02-27 11:03 ` [PATCH v5 07/21] acpi/ghes: Use HEST table offsets when preparing GHES records Mauro Carvalho Chehab
2025-02-27 13:27 ` Igor Mammedov
2025-02-27 11:03 ` [PATCH v5 08/21] acpi/ghes: don't hard-code the number of sources for HEST table Mauro Carvalho Chehab
2025-02-27 11:03 ` [PATCH v5 09/21] acpi/ghes: add a notifier to notify when error data is ready Mauro Carvalho Chehab
2025-02-27 11:03 ` [PATCH v5 10/21] acpi/ghes: create an ancillary acpi_ghes_get_state() function Mauro Carvalho Chehab
2025-02-27 11:31 ` Mauro Carvalho Chehab
2025-02-27 11:03 ` [PATCH v5 11/21] acpi/generic_event_device: Update GHES migration to cover hest addr Mauro Carvalho Chehab
2025-02-27 11:03 ` [PATCH v5 12/21] acpi/generic_event_device: add logic to detect if HEST addr is available Mauro Carvalho Chehab
2025-02-27 13:33 ` Igor Mammedov
2025-02-27 11:03 ` [PATCH v5 13/21] acpi/generic_event_device: add an APEI error device Mauro Carvalho Chehab
2025-02-27 11:03 ` [PATCH v5 14/21] tests/acpi: virt: allow acpi table changes at DSDT and HEST tables Mauro Carvalho Chehab
2025-02-27 13:34 ` Igor Mammedov
2025-02-27 11:03 ` [PATCH v5 15/21] arm/virt: Wire up a GED error device for ACPI / GHES Mauro Carvalho Chehab
2025-02-27 11:03 ` [PATCH v5 16/21] qapi/acpi-hest: add an interface to do generic CPER error injection Mauro Carvalho Chehab
2025-02-27 11:03 ` [PATCH v5 17/21] tests/acpi: virt: update HEST table to accept two sources Mauro Carvalho Chehab
2025-02-27 13:10 ` Igor Mammedov
2025-02-27 13:16 ` Igor Mammedov
2025-02-27 15:51 ` Mauro Carvalho Chehab
2025-02-27 15:56 ` Mauro Carvalho Chehab
2025-02-27 11:03 ` [PATCH v5 18/21] tests/acpi: virt: and update DSDT table to add the new GED device Mauro Carvalho Chehab
2025-02-27 11:03 ` [PATCH v5 19/21] docs: hest: add new "etc/acpi_table_hest_addr" and update workflow Mauro Carvalho Chehab
2025-02-27 13:21 ` Igor Mammedov
2025-02-27 11:03 ` [PATCH v5 20/21] acpi/generic_event_device.c: enable use_hest_addr for QEMU 10.x Mauro Carvalho Chehab
2025-02-27 11:03 ` [PATCH v5 21/21] scripts/ghes_inject: add a script to generate GHES error inject Mauro Carvalho Chehab
2025-02-27 13:30 ` [PATCH v5 00/21]Change ghes to use HEST-based offsets and add support for " Igor Mammedov
2025-02-27 15:13 ` Mauro Carvalho Chehab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1740653898.git.mchehab+huawei@kernel.org \
--to=mchehab+huawei@kernel.org \
--cc=Jonathan.Cameron@huawei.com \
--cc=anisinha@redhat.com \
--cc=armbru@redhat.com \
--cc=crosa@redhat.com \
--cc=eblake@redhat.com \
--cc=eduardo@habkost.net \
--cc=gengdongjiu1@gmail.com \
--cc=imammedo@redhat.com \
--cc=jsnow@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marcel.apfelbaum@gmail.com \
--cc=michael.roth@amd.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=shannon.zhaosl@gmail.com \
--cc=shiju.jose@huawei.com \
--cc=wangyanan55@huawei.com \
--cc=zhao1.liu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).