Since commit f7e4dd6c18ccfbaf6cd2f5eaaed2b77cabc8a406 QEMU loads its own copy of DSDT, so let's not build in PIIX. This makes building in the DSDT an option, default to on (built-in). If no one complains for a while, we'll be able to switch it off and then maybe remove altogether.
With CONFIG_ACPI_DSDT = y Total size: 127348 Fixed: 58892 Free: 3724 (used 97.2% of 128KiB rom) With CONFIG_ACPI_DSDT = n Total size: 122844 Fixed: 58884 Free: 8228 (used 93.7% of 128KiB rom)
Signed-off-by: Michael S. Tsirkin mst@redhat.com ---
Changes from v3: - More changes suggested by Laszlo and Kevin, missed in v2. Better document the new option as suggested by Paul and Kevin.
Changes from v2: - fixed and extended the commit log addressing comments by Gerd, Laszlo, Paul. No functional changes.
Changes from v1: - default the new option to y to reduce disruption to existing users
src/Kconfig | 10 ++++++++++ src/acpi.c | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/Kconfig b/src/Kconfig index 3141069..5796173 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -387,6 +387,16 @@ menu "BIOS Tables" default y help Support generation of ACPI tables. + config ACPI_DSDT + bool "Include default ACPI DSDT" + default y + depends on ACPI + help + Include default DSDT ACPI table in BIOS. + Required for QEMU 1.3 and older. + This option can be disabled for QEMU 1.4 and newer + to save some space in the ROM file. + If unsure, say Y. endmenu
source vgasrc/Kconfig diff --git a/src/acpi.c b/src/acpi.c index 119d1c1..88abc09 100644 --- a/src/acpi.c +++ b/src/acpi.c @@ -826,7 +826,8 @@ acpi_setup(void) break; } } - if (fadt && !fadt->dsdt) { + + if (CONFIG_ACPI_DSDT && fadt && !fadt->dsdt) { /* default DSDT */ void *dsdt = malloc_high(sizeof(AmlCode)); if (!dsdt) {