diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2013-07-25 15:59:07 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2013-11-15 12:43:35 +0100 |
commit | d69da8475e9794cfd8580457c63dafb8f5d240ed (patch) | |
tree | 36118c6be610617c6755f4ed21023dd369065279 /src/mainboard/emulation/qemu-q35/acpi_tables.c | |
parent | 55b059385a2158d14ad01621c7b5eb8091455eb0 (diff) |
qemu: load acpi tables from fw_cfg.
Starting with release 1.7 qemu provides acpi tables via fw_cfg. Main
advantage is that new (virtual) hardware which needs acpi support
JustWorks[tm] without having to patch & update the firmware (seabios,
coreboot, ...) accordingly.
So if we find acpi tables in fw_cfg try loading them, otherwise fallback
to the builtin acpi tables.
Change-Id: I792232829b870ff6ed8414a3007e0af17f6c4223
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-on: http://review.coreboot.org/4040
Tested-by: build bot (Jenkins)
Diffstat (limited to 'src/mainboard/emulation/qemu-q35/acpi_tables.c')
-rw-r--r-- | src/mainboard/emulation/qemu-q35/acpi_tables.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mainboard/emulation/qemu-q35/acpi_tables.c b/src/mainboard/emulation/qemu-q35/acpi_tables.c index d894dc187b..4e79b2c8cd 100644 --- a/src/mainboard/emulation/qemu-q35/acpi_tables.c +++ b/src/mainboard/emulation/qemu-q35/acpi_tables.c @@ -29,6 +29,8 @@ #include <device/pci_ids.h> #include <cpu/x86/msr.h> +#include "../qemu-i440fx/fw_cfg.h" + extern const unsigned char AmlCode[]; #if CONFIG_HAVE_ACPI_SLIC unsigned long acpi_create_slic(unsigned long current); @@ -238,6 +240,10 @@ unsigned long write_acpi_tables(unsigned long start) acpi_header_t *ssdt; acpi_header_t *dsdt; + current = fw_cfg_acpi_tables(start); + if (current) + return current; + current = start; /* Align ACPI tables to 16byte */ |