This config option, when set to N, allows any qemu-built MADT to take precedence.
Signed-off-by: Laszlo Ersek lersek@redhat.com --- in v2: - replaced primitive dynamic detection code with static config option - 352 bytes saved in 32bit flat init when set to N (RHEL-6 gcc-4.4.7)
v2 depends on Michael's [PATCHv4] acpi: make default DSDT optional
src/acpi.c | 3 +++ src/Kconfig | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/src/acpi.c b/src/acpi.c index 66509b4..6ef7106 100644 --- a/src/acpi.c +++ b/src/acpi.c @@ -327,6 +327,9 @@ build_fadt(struct pci_device *pci) static void* build_madt(void) { + if (!CONFIG_ACPI_MADT) + return NULL; + int madt_size = (sizeof(struct multiple_apic_table) + sizeof(struct madt_processor_apic) * MaxCountCPUs + sizeof(struct madt_io_apic) diff --git a/src/Kconfig b/src/Kconfig index 3c80132..a847e71 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -397,6 +397,20 @@ menu "BIOS Tables" This option can be disabled for QEMU 1.4 and newer to save some space in the ROM file. If unsure, say Y. + config ACPI_MADT + bool "Build ACPI MADT (APIC) in SeaBIOS" + default y + depends on ACPI + help + Dynamically build the ACPI MADT (APIC) table in SeaBIOS, based on + individual values exported by QEMU and online status of VCPUs. + Required for QEMU 1.4 and older. + This option can (and should) be disabled for QEMU 1.5 and newer as + QEMU prepares and exports the MADT for SeaBIOS to install. + (Although presence of more than one MADT (APIC) tables counts as a + BIOS bug, guest OSes should stick with the first instance, built by + SeaBIOS.) + If unsure, say Y. endmenu
source vgasrc/Kconfig