All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/13] Add more commands to scripts/ghes_inject.py
@ 2026-01-23 13:35 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
                   ` (13 more replies)
  0 siblings, 14 replies; 25+ messages in thread
From: Mauro Carvalho Chehab @ 2026-01-23 13:35 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Mauro Carvalho Chehab, qemu-devel, Cleber Rosa, John Snow

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.

---

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.0



^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2026-02-23 15:07 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
2026-02-23 15:06     ` Michael S. Tsirkin

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.