[coreboot-gerrit] Patch set updated for coreboot: 58269bd qemu: make MAX_ACPI_SIZE big enougth for qemu 2.1+

Gerd Hoffmann (kraxel@redhat.com) gerrit at coreboot.org
Thu Aug 28 08:16:32 CEST 2014


Gerd Hoffmann (kraxel at redhat.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6773

-gerrit

commit 58269bd8c92189215a977231190a3031e673f9f9
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Wed Aug 27 13:22:20 2014 +0200

    qemu: make MAX_ACPI_SIZE big enougth for qemu 2.1+
    
    The size allocated for acpi tables in the recently released qemu 2.1
    version has changed.  In 2.0 it was automatically sized according to
    the actual size of the acpi tables.  Which caused problems because the
    allocation size could change depending on qemu version and guest
    configuration.  Now it is 128k fixed, which should be enougth even for
    very large guests.
    
    Problem with that is that MAX_ACPI_SIZE is 45k, i.e. too small.
    
    This patch adds a MAX_ACPI_SIZE_KB config option, defaulting to
    the traditional 45, which can be overridden by boards if needed.
    The new option is used to set the size for the qemu bords to
    129k (128k for the bulk of tables plus some extra space for the
    rdsp table).
    
    Change-Id: I1268a4a443583f7a856d4b2e6416b866026d52bc
    Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
---
 src/Kconfig                                 | 5 +++++
 src/arch/x86/boot/tables.c                  | 2 +-
 src/mainboard/emulation/qemu-i440fx/Kconfig | 4 ++++
 src/mainboard/emulation/qemu-q35/Kconfig    | 4 ++++
 4 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/Kconfig b/src/Kconfig
index 6b674ed..f9893a7 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -476,6 +476,11 @@ config GENERATE_ACPI_TABLES
 
 	  If unsure, say Y.
 
+config MAX_ACPI_SIZE_KB
+	int
+	default 45
+	depends on GENERATE_ACPI_TABLES
+
 config GENERATE_MP_TABLE
 	prompt "Generate an MP table" if HAVE_MP_TABLE || DRIVERS_GENERIC_IOAPIC
 	bool
diff --git a/src/arch/x86/boot/tables.c b/src/arch/x86/boot/tables.c
index 16c752a..22b0abc 100644
--- a/src/arch/x86/boot/tables.c
+++ b/src/arch/x86/boot/tables.c
@@ -109,7 +109,7 @@ void write_tables(void)
 #endif /* CONFIG_GENERATE_MP_TABLE */
 
 #if CONFIG_GENERATE_ACPI_TABLES
-#define MAX_ACPI_SIZE (45 * 1024)
+#define MAX_ACPI_SIZE (CONFIG_MAX_ACPI_SIZE_KB * 1024)
 	post_code(0x9c);
 
 	/* Write ACPI tables to F segment and high tables area */
diff --git a/src/mainboard/emulation/qemu-i440fx/Kconfig b/src/mainboard/emulation/qemu-i440fx/Kconfig
index 34f3342..48f64a0 100644
--- a/src/mainboard/emulation/qemu-i440fx/Kconfig
+++ b/src/mainboard/emulation/qemu-i440fx/Kconfig
@@ -33,4 +33,8 @@ config DCACHE_RAM_SIZE
 	hex
 	default 0x10000
 
+config MAX_ACPI_SIZE_KB
+	int
+	default 129
+
 endif # BOARD_EMULATION_QEMU_X86_I440FX
diff --git a/src/mainboard/emulation/qemu-q35/Kconfig b/src/mainboard/emulation/qemu-q35/Kconfig
index 3949937..9c6d086 100644
--- a/src/mainboard/emulation/qemu-q35/Kconfig
+++ b/src/mainboard/emulation/qemu-q35/Kconfig
@@ -44,4 +44,8 @@ config DCACHE_RAM_SIZE
 	hex
 	default 0x10000
 
+config MAX_ACPI_SIZE_KB
+        int
+        default 129
+
 endif # BOARD_EMULATION_QEMU_X86_Q35



More information about the coreboot-gerrit mailing list