All of lore.kernel.org
 help / color / mirror / Atom feed
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
Subject: Re: [PATCH v12 00/17] Change ghes to use HEST-based offsets and add support for error inject
Date: Tue, 23 Sep 2025 09:25:27 +0200	[thread overview]
Message-ID: <20250923092527.3fd43e44@foz.lan> (raw)
In-Reply-To: <cover.1758610789.git.mchehab+huawei@kernel.org>

Em Tue, 23 Sep 2025 09:03:54 +0200
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> escreveu:

> Hi Michael,
> 
> This is v11 of the patch series, rebased to apply after release
> 10.1. Just like v1, the difference against v10 is a minor conflict
> resolution.
> 
> Please apply as soon as possible to avoid new conflicts.

Dah, I forgot to update this comments... this is v12, addressing
your review from v11 - and sent with my venerable mailbomb script
that doesn't mangle patches.

I rebased today in the top of current upstream. So far, no
conflicts, but as it touches DSDT table and backward-compatible
logic, it is still wise to have it applied earlier than later.

> 
> Thanks!
> 
> -
> 
> As ghes_record_cper_errors() was written since the beginning
> to be public and used by ghes-cper.c. It ended being meged
> earlier because the error-injection series become too big,
> so it was decided last year to split in two to make easier for
> reviewers and maintainers to discuss.
> 
> This series change the way HEST table offsets are calculated,
> making them identical to what an OSPM would do and allowing
> multiple HEST entries without causing migration issues. It open
> space to add HEST support for non-arm architectures, as now
> the number and type of HEST notification entries are not
> hardcoded at ghes.c. Instead, they're passed as a parameter
> from the arch-dependent init code.
> 
> With such issue addressed, it adds a new notification type and
> add support to inject errors via a Python script. The script
> itself is at the final patch.
> 
> ---
> v12:
> - some descriptions changed verbal tense to imperative;
> - since updated at acpi-hest.json;
> - added a g_free at qmp_inject_ghes_v2_error() and fixed coding style;
> - fixed NOTIFIER_LIST_INITIALIZER() parameter;
> - changed a patch description with a diff on it to avoid issues with
>   git am.
> 
> v11:
> - rebased on the top of current upstream:
>   baa79455fa92 ("Merge tag 'pull-trivial-patches' of https://gitlab.com/mjt0k/qemu into staging")
> - backward-compatibility logic moved to version 10.1;
> - BIOS test tables re-generated, as DSDT tables changed on 10.0;
> - added a missing SPDX tag on a new file.
> 
> 
> v10:
> - rebased on the top of current upstream:
>   d9ce74873a6a ("Merge tag 'pull-vfio-20250611' of https://github.com/legoater/qemu into staging")
> - solved a minor conflict
> 
> v9:
> - backward compatibility logic moved to version 10.0;
> - fixed a compilation issue with target/arm/kvm.c (probably
>   caused by some rebase - funny enough, incremental 
>   compilation was fine here);
> - added two missing SPDX comments.
> 
> v8:
>   - added a patch to revert recently-added changeset causing a
>     conflict with these. All remaining patches are identical.
> 
> v7:
>   - minor editorial change at the patch updating HEST doc spec
>    with the new workflow
> 
> v6:
> - some minor nits addressed:
>    - use GPA instead of offset;
>    - merged two patches;
>    - fixed a couple of long line coding style issues;
>    - the HEST/DSDT diff inside a patch was changed to avoid troubles
>      applying it.
> 
> 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 (17):
>   Revert "hw/acpi/ghes: Make ghes_record_cper_errors() static"
>   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/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
>   acpi/generic_event_device.c: enable use_hest_addr for QEMU 10.x
>   tests/acpi: virt: update HEST and DSDT tables
>   docs: hest: add new "etc/acpi_table_hest_addr" and update workflow
>   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                |  44 ++
>  hw/acpi/ghes-stub.c                           |   7 +-
>  hw/acpi/ghes.c                                | 233 ++++--
>  hw/acpi/ghes_cper.c                           |  40 +
>  hw/acpi/ghes_cper_stub.c                      |  20 +
>  hw/acpi/meson.build                           |   2 +
>  hw/arm/virt-acpi-build.c                      |  35 +-
>  hw/arm/virt.c                                 |  19 +-
>  hw/core/machine.c                             |   5 +-
>  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                        |  51 +-
>  include/hw/arm/virt.h                         |   2 +
>  qapi/acpi-hest.json                           |  36 +
>  qapi/meson.build                              |   1 +
>  qapi/qapi-schema.json                         |   1 +
>  scripts/arm_processor_error.py                | 476 ++++++++++++
>  scripts/ghes_inject.py                        |  51 ++
>  scripts/qmp_helper.py                         | 703 ++++++++++++++++++
>  target/arm/kvm.c                              |   7 +-
>  tests/data/acpi/aarch64/virt/DSDT             | Bin 5293 -> 5337 bytes
>  .../data/acpi/aarch64/virt/DSDT.acpihmatvirt  | Bin 5379 -> 5423 bytes
>  tests/data/acpi/aarch64/virt/DSDT.acpipcihp   | Bin 6202 -> 6246 bytes
>  .../acpi/aarch64/virt/DSDT.hpoffacpiindex     | Bin 5347 -> 5391 bytes
>  tests/data/acpi/aarch64/virt/DSDT.memhp       | Bin 6654 -> 6698 bytes
>  tests/data/acpi/aarch64/virt/DSDT.pxb         | Bin 7768 -> 7812 bytes
>  tests/data/acpi/aarch64/virt/DSDT.topology    | Bin 5495 -> 5539 bytes
>  tests/data/acpi/aarch64/virt/DSDT.viot        | Bin 5310 -> 5354 bytes
>  tests/data/acpi/aarch64/virt/HEST             | Bin 132 -> 224 bytes
>  34 files changed, 1700 insertions(+), 90 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
> 



Thanks,
Mauro


      parent reply	other threads:[~2025-09-23  7:26 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-23  7:03 [PATCH v12 00/17] Change ghes to use HEST-based offsets and add support for error inject Mauro Carvalho Chehab
2025-09-23  7:03 ` [PATCH v12 01/17] Revert "hw/acpi/ghes: Make ghes_record_cper_errors() static" Mauro Carvalho Chehab
2025-09-23  7:03 ` [PATCH v12 02/17] acpi/ghes: Cleanup the code which gets ghes ged state Mauro Carvalho Chehab
2025-09-23  7:03 ` [PATCH v12 03/17] acpi/ghes: prepare to change the way HEST offsets are calculated Mauro Carvalho Chehab
2025-09-23  7:03 ` [PATCH v12 04/17] acpi/ghes: add a firmware file with HEST address Mauro Carvalho Chehab
2025-09-23  7:03 ` [PATCH v12 05/17] acpi/ghes: Use HEST table offsets when preparing GHES records Mauro Carvalho Chehab
2025-09-23  7:04 ` [PATCH v12 06/17] acpi/ghes: don't hard-code the number of sources for HEST table Mauro Carvalho Chehab
2025-09-23  7:04 ` [PATCH v12 07/17] acpi/ghes: add a notifier to notify when error data is ready Mauro Carvalho Chehab
2025-09-23  7:04 ` [PATCH v12 08/17] acpi/generic_event_device: Update GHES migration to cover hest addr Mauro Carvalho Chehab
2025-09-23  7:04 ` [PATCH v12 09/17] acpi/generic_event_device: add logic to detect if HEST addr is available Mauro Carvalho Chehab
2025-09-23  7:04 ` [PATCH v12 10/17] acpi/generic_event_device: add an APEI error device Mauro Carvalho Chehab
2025-09-23  7:04 ` [PATCH v12 11/17] tests/acpi: virt: allow acpi table changes at DSDT and HEST tables Mauro Carvalho Chehab
2025-09-23  7:04 ` [PATCH v12 12/17] arm/virt: Wire up a GED error device for ACPI / GHES Mauro Carvalho Chehab
2025-09-23  7:04 ` [PATCH v12 13/17] qapi/acpi-hest: add an interface to do generic CPER error injection Mauro Carvalho Chehab
2025-09-23  7:04 ` [PATCH v12 14/17] acpi/generic_event_device.c: enable use_hest_addr for QEMU 10.x Mauro Carvalho Chehab
2025-09-23  7:04 ` [PATCH v12 15/17] tests/acpi: virt: update HEST and DSDT tables Mauro Carvalho Chehab
2025-09-23  7:04 ` [PATCH v12 16/17] docs: hest: add new "etc/acpi_table_hest_addr" and update workflow Mauro Carvalho Chehab
2025-09-23  7:04 ` [PATCH v12 17/17] scripts/ghes_inject: add a script to generate GHES error inject Mauro Carvalho Chehab
2025-10-05 12:22   ` Michael S. Tsirkin
2025-09-23  7:25 ` Mauro Carvalho Chehab [this message]

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=20250923092527.3fd43e44@foz.lan \
    --to=mchehab+huawei@kernel.org \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=imammedo@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=shiju.jose@huawei.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.