On Mon, Mar 18, 2013 at 01:00:42PM +0200, 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). For the builds bundled with qemu (where we _know_ qemu is new enougth that it actually works) we can flip the switch to 'n' (via roms/config.seabios). This way we save some space in the rom file and make it easy to avoid shipping dead code in qemu. At some point we might be able to switch it off by default 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)
Okay.
--- a/src/Kconfig +++ b/src/Kconfig @@ -387,6 +387,12 @@ 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.
As Paul points out, it would really help if the help stated which released version of QEMU is needed to turn this off.
--- a/src/acpi.c +++ b/src/acpi.c @@ -202,7 +202,11 @@ struct srat_memory_affinity u32 reserved3[2]; } PACKED;
+#ifdef CONFIG_ACPI_DSDT #include "acpi-dsdt.hex" +#else +static u8 AmlCode[1]; +#endif
As Paul points out, the #ifdef doesn't make sense as the symbol is always defined. However, lets avoid #ifs and let the build weed this out.
- if (fadt && !fadt->dsdt) {
- if (fadt && !fadt->dsdt && CONFIG_ACPI_DSDT) {
It would be preferable to make the CONFIG_X be first in the if.
Thanks. -Kevin