mbox series

[v8,00/10] acpi: Error Record Serialization Table, ERST, support for QEMU

Message ID 1634324580-27120-1-git-send-email-eric.devolder@oracle.com (mailing list archive)
Headers show
Series acpi: Error Record Serialization Table, ERST, support for QEMU | expand

Message

Eric DeVolder Oct. 15, 2021, 7:02 p.m. UTC
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>

---
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 (10):
  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
  ACPI ERST: step 6 of bios-tables-test.c

 docs/specs/acpi_erst.rst          |  200 +++++++
 hw/acpi/Kconfig                   |    6 +
 hw/acpi/erst.c                    | 1077 +++++++++++++++++++++++++++++++++++++
 hw/acpi/meson.build               |    1 +
 hw/acpi/trace-events              |   15 +
 hw/i386/acpi-build.c              |    9 +
 hw/i386/acpi-microvm.c            |    9 +
 include/hw/acpi/erst.h            |   24 +
 include/hw/pci/pci.h              |    1 +
 tests/data/acpi/microvm/ERST.pcie |  Bin 0 -> 912 bytes
 tests/data/acpi/pc/DSDT.acpierst  |  Bin 0 -> 5969 bytes
 tests/data/acpi/pc/ERST           |    0
 tests/data/acpi/q35/DSDT.acpierst |  Bin 0 -> 8306 bytes
 tests/data/acpi/q35/ERST          |    0
 tests/qtest/bios-tables-test.c    |   55 ++
 tests/qtest/erst-test.c           |  167 ++++++
 tests/qtest/meson.build           |    2 +
 17 files changed, 1566 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
 create mode 100644 tests/data/acpi/q35/DSDT.acpierst
 create mode 100644 tests/data/acpi/q35/ERST
 create mode 100644 tests/qtest/erst-test.c

Comments

Ani Sinha Oct. 19, 2021, noon UTC | #1
Hi Eric:

So I do not see all the patches in the series for v8. Just so you know,
when you spin out a new version, please do send all the patches in the
series again, including the ones that might have been already reviewed.

Ani


On Fri, 15 Oct 2021, Eric DeVolder wrote:

> 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>
>
> ---
> 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 (10):
>   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
>   ACPI ERST: step 6 of bios-tables-test.c
>
>  docs/specs/acpi_erst.rst          |  200 +++++++
>  hw/acpi/Kconfig                   |    6 +
>  hw/acpi/erst.c                    | 1077 +++++++++++++++++++++++++++++++++++++
>  hw/acpi/meson.build               |    1 +
>  hw/acpi/trace-events              |   15 +
>  hw/i386/acpi-build.c              |    9 +
>  hw/i386/acpi-microvm.c            |    9 +
>  include/hw/acpi/erst.h            |   24 +
>  include/hw/pci/pci.h              |    1 +
>  tests/data/acpi/microvm/ERST.pcie |  Bin 0 -> 912 bytes
>  tests/data/acpi/pc/DSDT.acpierst  |  Bin 0 -> 5969 bytes
>  tests/data/acpi/pc/ERST           |    0
>  tests/data/acpi/q35/DSDT.acpierst |  Bin 0 -> 8306 bytes
>  tests/data/acpi/q35/ERST          |    0
>  tests/qtest/bios-tables-test.c    |   55 ++
>  tests/qtest/erst-test.c           |  167 ++++++
>  tests/qtest/meson.build           |    2 +
>  17 files changed, 1566 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
>  create mode 100644 tests/data/acpi/q35/DSDT.acpierst
>  create mode 100644 tests/data/acpi/q35/ERST
>  create mode 100644 tests/qtest/erst-test.c
>
> --
> 1.8.3.1
>
>
Ani Sinha Oct. 19, 2021, 12:24 p.m. UTC | #2
Oh sorry. Please disregard that. I see you did send all the patches in the
series for v8. My Gmail tagging went wrong.

On Tue, Oct 19, 2021 at 17:30 Ani Sinha <ani@anisinha.ca> wrote:

> Hi Eric:
>
> So I do not see all the patches in the series for v8. Just so you know,
> when you spin out a new version, please do send all the patches in the
> series again, including the ones that might have been already reviewed.
>
> Ani
>
>
> On Fri, 15 Oct 2021, Eric DeVolder wrote:
>
> > 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>
> >
> > ---
> > 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 (10):
> >   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
> >   ACPI ERST: step 6 of bios-tables-test.c
> >
> >  docs/specs/acpi_erst.rst          |  200 +++++++
> >  hw/acpi/Kconfig                   |    6 +
> >  hw/acpi/erst.c                    | 1077
> +++++++++++++++++++++++++++++++++++++
> >  hw/acpi/meson.build               |    1 +
> >  hw/acpi/trace-events              |   15 +
> >  hw/i386/acpi-build.c              |    9 +
> >  hw/i386/acpi-microvm.c            |    9 +
> >  include/hw/acpi/erst.h            |   24 +
> >  include/hw/pci/pci.h              |    1 +
> >  tests/data/acpi/microvm/ERST.pcie |  Bin 0 -> 912 bytes
> >  tests/data/acpi/pc/DSDT.acpierst  |  Bin 0 -> 5969 bytes
> >  tests/data/acpi/pc/ERST           |    0
> >  tests/data/acpi/q35/DSDT.acpierst |  Bin 0 -> 8306 bytes
> >  tests/data/acpi/q35/ERST          |    0
> >  tests/qtest/bios-tables-test.c    |   55 ++
> >  tests/qtest/erst-test.c           |  167 ++++++
> >  tests/qtest/meson.build           |    2 +
> >  17 files changed, 1566 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
> >  create mode 100644 tests/data/acpi/q35/DSDT.acpierst
> >  create mode 100644 tests/data/acpi/q35/ERST
> >  create mode 100644 tests/qtest/erst-test.c
> >
> > --
> > 1.8.3.1
> >
> >
>