All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/8] hw: acpi: RSDP fixes and refactoring
@ 2018-11-26 16:29 Samuel Ortiz
  2018-11-26 16:29 ` [Qemu-devel] [PATCH 1/8] hw: acpi: The RSDP build API can return void Samuel Ortiz
                   ` (7 more replies)
  0 siblings, 8 replies; 25+ messages in thread
From: Samuel Ortiz @ 2018-11-26 16:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Igor Mammedov, qemu-arm, Shannon Zhao,
	Laurent Vivier, Richard Henderson, Paolo Bonzini, Ben Warren,
	Thomas Huth, Marcel Apfelbaum, Eduardo Habkost,
	Michael S. Tsirkin

This patch serie fixes a couple of RSDP checksum related issues:

- On RSDP rev2, we are not adding the extended checksum and computing
  the checksum on the full table instead of the first 20 bytes.
- On RSDP rev1, we are computing the checksum on 36 bytes instead of 20.
  We're lucky enough that this is only adding zeroes to the checksum.

A guest Linux kernel does not seem to care about RSDP checksums, so
those 2 fixes are mostly for correctness sake.
Any machine type that generates rev2 RSDP will see its RSDP table
modified but since x86 builds RSDP v1 and all ACPI tests only run on
either pc or q35, the ACPI tests tables are not affected by this fix.

The serie also extends the ARM virt ACPI RSDP build routine to support
both RSDP v1 and v2, in order to share this code between x86 and
aarch64. While extending, we also convert the routine to the latest
build_append_foo() API. The new implementation is a closer reflection of
the ACPI spec itself, is endian agnostic and allows for getting rid of the
AcpiRsdpDescriptor structure.

Igor Mammedov (2):
  hw: arm: acpi: Fix incorrect checksums in RSDP
  hw: i386: Use correct RSDT length for checksum

Samuel Ortiz (6):
  hw: acpi: The RSDP build API can return void
  hw: arm: Carry RSDP specific data through AcpiRsdpData
  hw: arm: Convert the RSDP build to the buid_append_foo() API
  hw: arm: Support both legacy and current RSDP build
  hw: acpi: Export and share the ARM RSDP build
  hw: acpi: Remove AcpiRsdpDescriptor and fix tests

 include/hw/acpi/acpi-defs.h | 44 ++++++++++++++------
 include/hw/acpi/aml-build.h |  5 +++
 tests/acpi-utils.h          |  5 ++-
 hw/acpi/aml-build.c         | 81 +++++++++++++++++++++++++++++++++++++
 hw/arm/virt-acpi-build.c    | 35 ++--------------
 hw/i386/acpi-build.c        | 31 ++------------
 tests/acpi-utils.c          | 48 +++++++++++++++++-----
 tests/bios-tables-test.c    | 27 +++++++++----
 tests/vmgenid-test.c        |  8 ++--
 9 files changed, 193 insertions(+), 91 deletions(-)

-- 
2.19.1

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

end of thread, other threads:[~2018-11-28 12:21 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-26 16:29 [Qemu-devel] [PATCH 0/8] hw: acpi: RSDP fixes and refactoring Samuel Ortiz
2018-11-26 16:29 ` [Qemu-devel] [PATCH 1/8] hw: acpi: The RSDP build API can return void Samuel Ortiz
2018-11-26 17:07   ` Philippe Mathieu-Daudé
2018-11-27 14:15   ` Thomas Huth
2018-11-26 16:29 ` [Qemu-devel] [PATCH 2/8] hw: arm: acpi: Fix incorrect checksums in RSDP Samuel Ortiz
2018-11-27 14:50   ` Igor Mammedov
2018-11-26 16:29 ` [Qemu-devel] [PATCH 3/8] hw: i386: Use correct RSDT length for checksum Samuel Ortiz
2018-11-26 16:29 ` [Qemu-devel] [PATCH 4/8] hw: arm: Carry RSDP specific data through AcpiRsdpData Samuel Ortiz
2018-11-26 17:42   ` Philippe Mathieu-Daudé
2018-11-27 15:25   ` Igor Mammedov
2018-11-27 15:42     ` Samuel Ortiz
2018-11-27 16:27       ` Igor Mammedov
2018-11-28  3:26         ` Michael S. Tsirkin
2018-11-28 10:05           ` Samuel Ortiz
2018-11-28  9:46         ` Samuel Ortiz
2018-11-28 10:16           ` Samuel Ortiz
2018-11-28 12:12           ` Igor Mammedov
2018-11-26 16:29 ` [Qemu-devel] [PATCH 5/8] hw: arm: Convert the RSDP build to the buid_append_foo() API Samuel Ortiz
2018-11-27 15:51   ` Igor Mammedov
2018-11-26 16:29 ` [Qemu-devel] [PATCH 6/8] hw: arm: Support both legacy and current RSDP build Samuel Ortiz
2018-11-27 16:38   ` Igor Mammedov
2018-11-26 16:29 ` [Qemu-devel] [PATCH 7/8] hw: acpi: Export and share the ARM " Samuel Ortiz
2018-11-26 17:19   ` Philippe Mathieu-Daudé
2018-11-26 16:29 ` [Qemu-devel] [PATCH 8/8] hw: acpi: Remove AcpiRsdpDescriptor and fix tests Samuel Ortiz
2018-11-28  9:50   ` Igor Mammedov

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.