On 03/18/13 14:18, Michael S. Tsirkin wrote:
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) {
Ah I see. We build the hex file & include it too, but gcc will optimize it out.
Reviewed-by: Laszlo Ersek lersek@redhat.com