summaryrefslogtreecommitdiff
path: root/src/mainboard/emulation/qemu-q35
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2013-07-25 15:59:07 +0200
committerGerd Hoffmann <kraxel@redhat.com>2013-11-15 12:43:35 +0100
commitd69da8475e9794cfd8580457c63dafb8f5d240ed (patch)
tree36118c6be610617c6755f4ed21023dd369065279 /src/mainboard/emulation/qemu-q35
parent55b059385a2158d14ad01621c7b5eb8091455eb0 (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')
-rw-r--r--src/mainboard/emulation/qemu-q35/acpi_tables.c6
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 */