[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 0/7] acpi: Error Record Serialization Table, ERST, support
From: |
Michael S. Tsirkin |
Subject: |
Re: [PATCH v2 0/7] acpi: Error Record Serialization Table, ERST, support for QEMU |
Date: |
Thu, 1 Apr 2021 09:44:40 -0400 |
I tagged this for after the release. To help make sure I don't lose
this by mistake please ping after the QEMU release.
Thanks!
On Mon, Mar 01, 2021 at 07:04:50PM +0000, Eric Devolder wrote:
> Hi,
> A friendly request to review and/or provide feedback on this patchset.
> Thanks,
> eric
> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
> From: Eric Devolder <eric.devolder@oracle.com>
> Sent: Monday, February 8, 2021 2:58 PM
> To: mst@redhat.com <mst@redhat.com>; imammedo@redhat.com
> <imammedo@redhat.com>;
> marcel.apfelbaum@gmail.com <marcel.apfelbaum@gmail.com>; pbonzini@redhat.com
> <pbonzini@redhat.com>; rth@twiddle.net <rth@twiddle.net>; ehabkost@redhat.com
> <ehabkost@redhat.com>; qemu-devel@nongnu.org <qemu-devel@nongnu.org>
> Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>; kwilk@oracle.com
> <kwilk@oracle.com>
> Subject: [PATCH v2 0/7] acpi: Error Record Serialization Table, ERST, support
> for QEMU
>
> This patchset introduces support for the ACPI Error Record
> Serialization Table, ERST.
>
> Linux uses the persistent storage filesystem, pstore, to record
> information (eg. dmesg tail) upon panics and shutdowns. Pstore is
> independent of, and runs before, kdump. In certain scenarios (ie.
> hosts/guests with root filesystems on NFS/iSCSI where networking
> software and/or hardware fails), pstore may contain the only
> information available for post-mortem debugging.
>
> Two common storage backends for the pstore filesystem are ACPI ERST
> and UEFI. Most BIOS implement ACPI ERST; however, ACPI ERST is not
> currently supported in QEMU, and UEFI is not utilized in all guests.
> By implementing ACPI ERST within QEMU, then the ACPI ERST becomes a
> viable pstore storage backend for virtual machines (as it is now for
> bare metal machines).
>
> Enabling support for ACPI ERST facilitates a consistent method to
> capture kernel panic information in a wide range of guests: from
> resource- constrained microvms to very large guests, and in
> particular, in direct-boot environments (which would lack UEFI
> run-time services).
>
> Note that Microsoft Windows also utilizes the ACPI ERST for certain
> crash information, if available.
>
> The ACPI ERST persistent storage is contained within a single backing
> file, with a default size of 64KiB. The size and filename of the
> backing file can be obtained from QEMU parameters.
>
> The ACPI specification[1], in Chapter "ACPI Platform Error Interfaces
> (APEI)", and specifically subsection "Error Serialization", outlines
> a method for storing error records into persistent storage.
>
> [1] "Advanced Configuration and Power Interface Specification",
> version 6.2, May 2017.
> https://www.uefi.org/sites/default/files/resources/ACPI_6_2.pdf
>
> [2] "Unified Extensible Firmware Interface Specification",
> version 2.8, March 2019.
> https://uefi.org/sites/default/files/resources/UEFI_Spec_2_8_final.pdf
>
> Suggested-by: Konrad Wilk <konrad.wilk@oracle.com>
> Signed-off-by: Eric DeVolder <eric.devolder@oracle.com>
>
> ---
> v2: 8feb2021
> - Added qtest/smoke test per Paolo Bonzini
> - Split patch into smaller chunks, per Igo Mammedov
> - Did away with use of ACPI packed structures, per Igo Mammedov
>
> v1: 26oct2020
> - initial post
>
> ---
> Eric DeVolder (7):
> ACPI ERST: bios-tables-test.c steps 1 and 2
> ACPI ERST: header file for erst
> ACPI ERST: support for ACPI ERST feature
> ACPI ERST: build step for ACPI ERST
> ACPI ERST: support ERST for x86 guest
> ACPI ERST: qtest for ERST
> ACPI ERST: bios-tables-test.c step 5
>
> hw/acpi/erst.c | 952
> +++++++++++++++++++++++++++++++++++++++++++
> hw/acpi/meson.build | 1 +
> hw/i386/acpi-build.c | 4 +
> include/hw/acpi/erst.h | 77 ++++
> tests/data/acpi/microvm/ERST | 0
> tests/data/acpi/pc/ERST | Bin 0 -> 976 bytes
> tests/data/acpi/q35/ERST | Bin 0 -> 976 bytes
> tests/qtest/erst-test.c | 106 +++++
> tests/qtest/meson.build | 2 +
> 9 files changed, 1142 insertions(+)
> create mode 100644 hw/acpi/erst.c
> create mode 100644 include/hw/acpi/erst.h
> create mode 100644 tests/data/acpi/microvm/ERST
> create mode 100644 tests/data/acpi/pc/ERST
> create mode 100644 tests/data/acpi/q35/ERST
> create mode 100644 tests/qtest/erst-test.c
>
> --
> 1.8.3.1
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH v2 0/7] acpi: Error Record Serialization Table, ERST, support for QEMU,
Michael S. Tsirkin <=