From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: qemu-devel@nongnu.org, Cleber Rosa <crosa@redhat.com>,
John Snow <jsnow@redhat.com>
Subject: Re: [PATCH v2 00/13] Add more commands to scripts/ghes_inject.py
Date: Mon, 23 Feb 2026 12:39:40 +0100 [thread overview]
Message-ID: <20260223123940.2b668dfa@localhost> (raw)
In-Reply-To: <20260220130241-mutt-send-email-mst@kernel.org>
On Fri, 20 Feb 2026 13:03:01 -0500
"Michael S. Tsirkin" <mst@redhat.com> wrote:
> On Fri, Jan 23, 2026 at 02:35:14PM +0100, Mauro Carvalho Chehab wrote:
> > Now that we have the basic stuff merged on QEMU, add more
> > commands to scripts/ghes_inject.py. After this patch, this
> > tool will support the following commands:
> >
> > arm Inject an ARM processor error CPER, compatible with
> > UEFI 2.9A Errata.
> > pcie-bus Inject a PCIe bus error CPER
> > fuzzy-test (fuzzy) Inject fuzzy test CPER packets
> > raw-error (raw) Inject CPER records from previously recorded ones.
> >
> > Where arm is a pre-existing one.
> >
> > The pcie-bus command injects a PCIe bus error - currently not supported
> > on Linux (GUID: c5753963-3b84-4095-bf78-eddad3f9c9dd).
> >
> > The fuzzy-test command allows injecting one or more CPER records
> > for all GUID types supported on UEFI 2.11, with its contents being
> > either zero or random, and with the payload size that can also be
> > random.
> >
> > The raw-error command allow reproducing a CPER from a text file.
> > It is helpful in conjunction with fuzzy-test to re-test the OSPM
> > after some fixes.
> >
> > Besides the commands, a new helper logic was added at
> > scripts/ghes_decode.py: when the tool is called with the
> > --debug command line argument, it will translate the injected
> > record, allowing to compare what it was injected with what
> > the OSPM/userspace tools would interpret.
> >
> > The first 6 patches on this series improve the qmp_helper
> > logic to support the new functionality.
> >
> > The next 6 patches add the extra functionality to ghes_inject.
> >
> > The final patch improves its help message when called without
> > a command.
>
>
> Pls run checkpatch on this and make sure the output is clean.
> Thanks!
There are 3 warnings there due to the usage of the old SPDX "GPL2.0"
which is identical to "GPL2.0-only", but were deprecated on SPDX 3.0.
I'll fix those.
The remaining ones are mainly due to long strings, or, on two
cases, related to very long class and/or method names that should be
passed as long name parmeters, like here (*):
parser = subparsers.add_parser("raw-error", aliases=['raw'],
help=self.HELP, description=self.DESC,
formatter_class=argparse.RawTextHelpFormatter)
I'll be fixing the ones that won't require mangling strings nor
use some tricks that would otherwise make the source code for,
IMO, no good reason.
(*) on this specific case, the "fix" would be to create an
"alias" class:
class Formatter(argparse.RawTextHelpFormatter):
pass
Just to make checkpatch happy. IMHO not worth it.
---
On a side note, IMHO checkpatch should be using a better default for
Python, setting max columns max requirement to be 120 columns and
ignoring or relaxing such limits on triple-quoted strings like here:
ERROR: line over 90 characters
#83: FILE: scripts/arm_processor_error.py:83:
+[Hardware Error]: bus error, operation type: Generic read (type of instruction or data request cannot be determined)
(this is part of a comment there describing the Linux Kernel
output for an ARM Processor Error - we should not enforce any
max column limit there)
>
> > ---
> >
> > v2:
> > - the bus error injection is for PCI/PCI-X, not PCIe, so
> > the command was renamed;
> > - added notes that not all CXL types may occur in practice;
> > - removed a field from common_fields at DecodeGhesEntry
> > decode class and make it more robust;
> > - some cleanups at patch description.
> >
> > Mauro Carvalho Chehab (13):
> > scripts/qmp_helper: add a return code to send_cper
> > scripts/qmp_helper: add missing CXL UEFI GUID
> > scripts/qmp_helper: add support for FRU Memory Poison
> > scripts/qmp_helper: make send_cper() more generic
> > scripts/qmp_helper: fix raw_data logic
> > scripts/qmp_helper: add support for a timeout logic
> > scripts/ghes_inject: add a logic to decode CPER
> > scripts/ghes_inject: exit 1 if command was not sent
> > scripts/ghes_inject: add a handler for PCI/PCI-X bus error
> > scripts/ghes_inject: add support for fuzzy logic testing
> > scripts/ghes_inject: add a raw error inject command
> > scripts/ghes_inject: print help if no command specified
> > scripts/ghes_inject: improve help message
> >
> > MAINTAINERS | 4 +
> > scripts/arm_processor_error.py | 8 +-
> > scripts/fuzzy_error.py | 208 ++++++
> > scripts/ghes_decode.py | 1158 ++++++++++++++++++++++++++++++++
> > scripts/ghes_inject.py | 30 +-
> > scripts/pci_bus_error.py | 148 ++++
> > scripts/qmp_helper.py | 164 ++++-
> > scripts/raw_error.py | 175 +++++
> > 8 files changed, 1857 insertions(+), 38 deletions(-)
> > create mode 100644 scripts/fuzzy_error.py
> > create mode 100644 scripts/ghes_decode.py
> > create mode 100644 scripts/pci_bus_error.py
> > create mode 100644 scripts/raw_error.py
> >
> > --
> > 2.52.
--
Thanks,
Mauro
next prev parent reply other threads:[~2026-02-23 11:40 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-23 13:35 [PATCH v2 00/13] Add more commands to scripts/ghes_inject.py Mauro Carvalho Chehab
2026-01-23 13:35 ` [PATCH v2 01/13] scripts/qmp_helper: add a return code to send_cper Mauro Carvalho Chehab
2026-01-23 13:35 ` [PATCH v2 02/13] scripts/qmp_helper: add missing CXL UEFI GUID Mauro Carvalho Chehab
2026-01-23 14:12 ` Jonathan Cameron via qemu development
2026-01-23 13:35 ` [PATCH v2 03/13] scripts/qmp_helper: add support for FRU Memory Poison Mauro Carvalho Chehab
2026-01-23 13:35 ` [PATCH v2 04/13] scripts/qmp_helper: make send_cper() more generic Mauro Carvalho Chehab
2026-01-23 13:35 ` [PATCH v2 05/13] scripts/qmp_helper: fix raw_data logic Mauro Carvalho Chehab
2026-01-23 13:35 ` [PATCH v2 06/13] scripts/qmp_helper: add support for a timeout logic Mauro Carvalho Chehab
2026-01-23 16:17 ` Jonathan Cameron via qemu development
2026-01-23 13:35 ` [PATCH v2 07/13] scripts/ghes_inject: add a logic to decode CPER Mauro Carvalho Chehab
2026-01-23 16:31 ` Jonathan Cameron via qemu development
2026-01-23 13:35 ` [PATCH v2 08/13] scripts/ghes_inject: exit 1 if command was not sent Mauro Carvalho Chehab
2026-01-23 13:35 ` [PATCH v2 09/13] scripts/ghes_inject: add a handler for PCI/PCI-X bus error Mauro Carvalho Chehab
2026-02-20 18:01 ` Michael S. Tsirkin
2026-01-23 13:35 ` [PATCH v2 10/13] scripts/ghes_inject: add support for fuzzy logic testing Mauro Carvalho Chehab
2026-01-23 16:32 ` Jonathan Cameron via qemu development
2026-02-20 18:01 ` Michael S. Tsirkin
2026-01-23 13:35 ` [PATCH v2 11/13] scripts/ghes_inject: add a raw error inject command Mauro Carvalho Chehab
2026-02-20 18:02 ` Michael S. Tsirkin
2026-01-23 13:35 ` [PATCH v2 12/13] scripts/ghes_inject: print help if no command specified Mauro Carvalho Chehab
2026-01-23 16:33 ` Jonathan Cameron via qemu development
2026-01-23 13:35 ` [PATCH v2 13/13] scripts/ghes_inject: improve help message Mauro Carvalho Chehab
2026-02-20 18:03 ` [PATCH v2 00/13] Add more commands to scripts/ghes_inject.py Michael S. Tsirkin
2026-02-23 11:39 ` Mauro Carvalho Chehab [this message]
2026-02-23 15:06 ` Michael S. Tsirkin
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=20260223123940.2b668dfa@localhost \
--to=mchehab+huawei@kernel.org \
--cc=crosa@redhat.com \
--cc=jsnow@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
/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.