|
From: | Eric DeVolder |
Subject: | Re: [PATCH v2 0/7] acpi: Error Record Serialization Table, ERST, support for QEMU |
Date: | Fri, 14 May 2021 14:12:25 +0000 |
Michael,
Yes, I'm working on a v3 to accommodate items Igor has requested.
eric
From: Michael S. Tsirkin <mst@redhat.com>
Sent: Friday, May 14, 2021 8:57 AM To: Eric DeVolder <eric.devolder@oracle.com> Cc: 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>; Boris Ostrovsky <boris.ostrovsky@oracle.com>; kwilk@oracle.com <kwilk@oracle.com> Subject: Re: [PATCH v2 0/7] acpi: Error Record Serialization Table, ERST, support for QEMU On Mon, Feb 08, 2021 at 03:57:52PM -0500, Eric DeVolder wrote:
> This patchset introduces support for the ACPI Error Record > Serialization Table, ERST. OK I'm expecting v3 I guess? > 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] |