On 05/15/13 10:54, li guang wrote: > 在 2013-05-15三的 10:38 +0200,Paolo Bonzini写道: >> Il 15/05/2013 06:01, liguang ha scritto: >>> Signed-off-by: liguang <lig.f...@cn.fujitsu.com> >> >> --verbose, please. >> >> What problem does this patch fix? > > Oh, sorry to be lazy ... > QEMU's option '-no-acpi' seems does not play > a correct role, even started with this, > ACPI tables will also be embedded into BIOS, > and there's no different between with or without it > for q35, as i can see. > > here, I'm assuming '-no-acpi' is to disable ACPI.
-no-acpi disables a block of code in pc_init1() [hw/i386/pc_piix.c], namely piix4_pm_init() and smbus_eeprom_init(). pc_acpi_init() loads / exports a default DSDT for the boot firmware. If the -acpitable switch is passed, then that code doesn't run. I think disabling PM but keeping the default DSDT from SeaBIOS is a valid use case; the DSDT seems to contain a bunch of non-PM functionality (see src/acpi-dsdt*.dsl in SeaBIOS). The "-no-acpi" switch is likely a misnomer (it should say "-no-acpi-pm" or some such), but in any case I believe it should not prevent exporting the DSDT. Currently you can prevent exporting the default DSDT for example with: -acpitable sig=NONE,data=/dev/null This will export a table with signature NONE, otherwise qemu-default ACPI table headers, and no table contents. It will also prevent pc_acpi_init() from running. See "AcpiTableOptions" in "qapi-schema.json" and "hw/acpi/core.c". Thanks, Laszlo