[SeaBIOS] [PATCHv4] acpi: make default DSDT optional
Laszlo Ersek
lersek at redhat.com
Tue Mar 19 13:24:49 CET 2013
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 at 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 at redhat.com>
More information about the SeaBIOS
mailing list