qemu/include/hw/acpi
Ard Biesheuvel cb51ac2ffe hw/arm/virt: generate 64-bit addressable ACPI objects
Our current ACPI table generation code limits the placement of ACPI
tables to 32-bit addressable memory, in order to be able to emit the
root pointer (RSDP) and root table (RSDT) using table types from the
ACPI 1.0 days.

Since ARM was not supported by ACPI before version 5.0, it makes sense
to lift this restriction. This is not crucial for mach-virt, which is
guaranteed to have some memory available below the 4 GB mark, but it
is a nice to have for QEMU machines that do not have any 32-bit
addressable memory, which is not uncommon for real world 64-bit ARM
systems.

Since we already emit a version of the RSDP root pointer that has a
secondary 64-bit wide address field for the 64-bit root table (XSDT),
all we need to do is replace the RSDT generation with the generation
of an XSDT table, and use a different slot in the FADT table to refer
to the DSDT.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Peter Maydell <peter.maydell@linaro.org>
2017-05-10 22:04:23 +03:00
..
acpi_dev_interface.h ACPI: Add Virtual Machine Generation ID support 2017-03-02 07:14:27 +02:00
acpi-defs.h hw/arm/virt: generate 64-bit addressable ACPI objects 2017-05-10 22:04:23 +03:00
acpi.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
aml-build.h hw/arm/virt: generate 64-bit addressable ACPI objects 2017-05-10 22:04:23 +03:00
bios-linker-loader.h linker-loader: Add new 'write pointer' command 2017-03-02 07:14:26 +02:00
cpu_hotplug.h Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
cpu.h pc: use new CPU hotplug interface since 2.7 machine type 2016-06-24 05:21:38 +03:00
ich9.h acpi: cpuhp: add CPU devices AML with _STA method 2016-06-24 05:21:01 +03:00
ipmi.h acpi: Add IPMI table entries 2016-06-24 05:13:57 +03:00
memory_hotplug.h memhp: don't generate memory hotplug AML if it's not enabled/supported 2017-01-10 07:03:24 +02:00
pc-hotplug.h memhp: don't generate memory hotplug AML if it's not enabled/supported 2017-01-10 07:03:24 +02:00
pcihp.h pc: use AcpiDeviceIfClass.send_event to issue GPE events 2016-06-07 15:36:54 +03:00
piix4.h Use scripts/clean-includes to drop redundant qemu/typedefs.h 2016-03-22 22:20:16 +01:00
tco.h Use scripts/clean-includes to drop redundant qemu/typedefs.h 2016-03-22 22:20:16 +01:00
tpm.h TPM2 ACPI table support 2015-06-01 14:18:54 +02:00
vmgenid.h hw/acpi/vmgenid: prevent more than one vmgenid device 2017-03-22 18:29:27 +02:00