qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/2] pc: reject do pc_acpi_init if acpi_enabled


From: Laszlo Ersek
Subject: Re: [Qemu-devel] [PATCH 2/2] pc: reject do pc_acpi_init if acpi_enabled is false
Date: Wed, 15 May 2013 15:44:26 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130329 Thunderbird/17.0.5

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 <address@hidden>
>>
>> --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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]