[PATCH v12 0/9] acpi: Error Record Serialization Table, ERST, support for QEMU

Eric DeVolder posted 9 patches 2 years, 3 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1641854524-11009-1-git-send-email-eric.devolder@oracle.com
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>, Ani Sinha <ani@anisinha.ca>, Thomas Huth <thuth@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Igor Mammedov <imammedo@redhat.com>, Laurent Vivier <lvivier@redhat.com>, Eduardo Habkost <eduardo@habkost.net>, Paolo Bonzini <pbonzini@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
There is a newer version of this series
docs/specs/acpi_erst.rst                    |  200 ++++++
hw/acpi/Kconfig                             |    6 +
hw/acpi/erst.c                              | 1033 +++++++++++++++++++++++++++
hw/acpi/meson.build                         |    1 +
hw/acpi/trace-events                        |   15 +
hw/i386/acpi-build.c                        |   15 +
hw/i386/acpi-microvm.c                      |   15 +
include/hw/acpi/erst.h                      |   24 +
include/hw/pci/pci.h                        |    1 +
tests/data/acpi/microvm/ERST.pcie           |    0
tests/data/acpi/pc/DSDT.acpierst            |    0
tests/data/acpi/pc/ERST.acpierst            |    0
tests/data/acpi/q35/DSDT.acpierst           |    0
tests/data/acpi/q35/ERST.acpierst           |    0
tests/qtest/bios-tables-test-allowed-diff.h |    5 +
tests/qtest/bios-tables-test.c              |   54 ++
tests/qtest/erst-test.c                     |  172 +++++
tests/qtest/meson.build                     |    2 +
18 files changed, 1543 insertions(+)
create mode 100644 docs/specs/acpi_erst.rst
create mode 100644 hw/acpi/erst.c
create mode 100644 include/hw/acpi/erst.h
create mode 100644 tests/data/acpi/microvm/ERST.pcie
create mode 100644 tests/data/acpi/pc/DSDT.acpierst
create mode 100644 tests/data/acpi/pc/ERST.acpierst
create mode 100644 tests/data/acpi/q35/DSDT.acpierst
create mode 100644 tests/data/acpi/q35/ERST.acpierst
create mode 100644 tests/qtest/erst-test.c
[PATCH v12 0/9] acpi: Error Record Serialization Table, ERST, support for QEMU
Posted by Eric DeVolder 2 years, 3 months ago
This patchset introduces support for the ACPI Error Record
Serialization Table, ERST.

For background and implementation information, please see
docs/specs/acpi_erst.rst, which is patch 2/10.

Suggested-by: Konrad Wilk <konrad.wilk@oracle.com>
Signed-off-by: Eric DeVolder <eric.devolder@oracle.com>

---
v12: 10jan2022
 - Converted macros in build_erst() to uppert to follow coding
   style, as pointed out by Michael Tsirkin.
 - And few items to help further simplify build_erst().

v11: 15dec2021
 - Simplified build_erst() via feedback from Michael Tsirkin
 - Addressed additional feedback from Ani Sinha

v10: 9dec2021
 - Addressed additional feedback from Ani Sinha

v9: 2dec2021
 - Addressed feedback from Ani Sinha

v8: 15oct2021
 - Added Kconfig option for ERST, per Ani Sinha
 - Fixed patch ordering, per Ani

v7: 7oct2021
 - style improvements, per Igor
 - use of endian accessors for storage header, per Igor
 - a number of optimizations and improvements, per Igor
 - updated spec for header, per Igor
 - updated spec for rst format, per Michael Tsirkin
 - updated spec for new record_size parameter
   Due to changes in the spec, I am not carrying the
   Acked-by from Ani Sinha.
 - changes for and testing of migration to systems with
   differing ERST_RECORD_SIZE

v6: 5aug2021
 - Fixed compile warning/error, per Michael Tsirkin
 - Fixed mingw32 build error, per Michael
 - Converted exchange buffer to MemoryBackend, per Igor
 - Migrated test to PCI, per Igor
 - Significantly reduced amount of copying, per Igor
 - Corrections/enhancements to acpi_erst.txt, per Igor
 - Many misc/other small items, per Igor

v5: 30jun2021
 - Create docs/specs/acpi_erst.txt, per Igor
 - Separate PCI BARs for registers and memory, per Igor
 - Convert debugging to use trace infrastructure, per Igor
 - Various other fixups, per Igor

v4: 11jun2021
 - Converted to a PCI device, per Igor.
 - Updated qtest.
 - Rearranged patches, per Igor.

v3: 28may2021
 - Converted to using a TYPE_MEMORY_BACKEND_FILE object rather than
   internal array with explicit file operations, per Igor.
 - Changed the way the qdev and base address are handled, allowing
   ERST to be disabled at run-time. Also aligns better with other
   existing code.

v2: 8feb2021
 - Added qtest/smoke test per Paolo Bonzini
 - Split patch into smaller chunks, per Igor Mammedov
 - Did away with use of ACPI packed structures, per Igor Mammedov

v1: 26oct2020
 - initial post

---
Eric DeVolder (9):
  ACPI ERST: bios-tables-test.c steps 1 and 2
  ACPI ERST: specification for ERST support
  ACPI ERST: PCI device_id for ERST
  ACPI ERST: header file for ERST
  ACPI ERST: support for ACPI ERST feature
  ACPI ERST: build the ACPI ERST table
  ACPI ERST: create ACPI ERST table for pc/x86 machines
  ACPI ERST: qtest for ERST
  ACPI ERST: bios-tables-test testcase

 docs/specs/acpi_erst.rst                    |  200 ++++++
 hw/acpi/Kconfig                             |    6 +
 hw/acpi/erst.c                              | 1033 +++++++++++++++++++++++++++
 hw/acpi/meson.build                         |    1 +
 hw/acpi/trace-events                        |   15 +
 hw/i386/acpi-build.c                        |   15 +
 hw/i386/acpi-microvm.c                      |   15 +
 include/hw/acpi/erst.h                      |   24 +
 include/hw/pci/pci.h                        |    1 +
 tests/data/acpi/microvm/ERST.pcie           |    0
 tests/data/acpi/pc/DSDT.acpierst            |    0
 tests/data/acpi/pc/ERST.acpierst            |    0
 tests/data/acpi/q35/DSDT.acpierst           |    0
 tests/data/acpi/q35/ERST.acpierst           |    0
 tests/qtest/bios-tables-test-allowed-diff.h |    5 +
 tests/qtest/bios-tables-test.c              |   54 ++
 tests/qtest/erst-test.c                     |  172 +++++
 tests/qtest/meson.build                     |    2 +
 18 files changed, 1543 insertions(+)
 create mode 100644 docs/specs/acpi_erst.rst
 create mode 100644 hw/acpi/erst.c
 create mode 100644 include/hw/acpi/erst.h
 create mode 100644 tests/data/acpi/microvm/ERST.pcie
 create mode 100644 tests/data/acpi/pc/DSDT.acpierst
 create mode 100644 tests/data/acpi/pc/ERST.acpierst
 create mode 100644 tests/data/acpi/q35/DSDT.acpierst
 create mode 100644 tests/data/acpi/q35/ERST.acpierst
 create mode 100644 tests/qtest/erst-test.c

-- 
1.8.3.1