qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH for-2.0] dsdt: tweak ACPI ID for hotplug resourc


From: Igor Mammedov
Subject: Re: [Qemu-devel] [PATCH for-2.0] dsdt: tweak ACPI ID for hotplug resource device
Date: Mon, 7 Apr 2014 09:46:34 +0200

On Sun, 6 Apr 2014 12:47:37 +0300
"Michael S. Tsirkin" <address@hidden> wrote:

> ACPI0004 seems too new:
> Windows XP complains about an unrecognized device.
> This is a regression since 1.7.
> Use PNP0A06 instead - Generic Container Device.
> 
> Signed-off-by: Michael S. Tsirkin <address@hidden>
> ---
> 
> Note: Igor has RFC patches to use PNP0C02 under PCI0,
> but that's not ready for 2.0.
> Igor, could you comment on whether PNP0C02 is preferable for
> some OS-es?
> 
> For PNP0A06 ACPI spec says:
>     PNP0A06
>     Generic Container Device. This device behaves exactly the same as the
>     PNP0A05 device.
>     This was originally known as Extended I/O Bus. This ID should only be
>     used for containers
>     that do not produce resources for consumption by child devices. Any
>     system resources
>     claimed by a PNP0A06 device’s _CRS object must be consumed by the
>     container itself.
> 
> PNP0C02 is not in ACPI spec. It does appear in MicroSoft legacy PNP ID
> document:
>     PNP0C02         General ID for reserving resources required by Plug and
>     Play motherboard registers. (Not specific to a particular device.)
> 
> Thoughts?
From testing Windows doesn't check for conflicts _CRS provided by PNP0C02,
so while using it will let XP not to complain about unknown device, it will
also make later Windows OSes silently ignore conflicts if any.

When XP's complaining for the first time about unknown device, it could be
told to ignore it, so it would stop to complain in future. i.e. user have to
silence only once.

Wouldn't it be better to use ACPI0004 that gives minor annoyance to XP user
but provides error checking with later OS versions?

> 
>  hw/i386/acpi-dsdt-cpu-hotplug.dsl | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/i386/acpi-dsdt-cpu-hotplug.dsl 
> b/hw/i386/acpi-dsdt-cpu-hotplug.dsl
> index dee4843..34aab5a 100644
> --- a/hw/i386/acpi-dsdt-cpu-hotplug.dsl
> +++ b/hw/i386/acpi-dsdt-cpu-hotplug.dsl
> @@ -93,7 +93,7 @@ Scope(\_SB) {
>      }
>  
>      Device(CPU_HOTPLUG_RESOURCE_DEVICE) {
> -        Name(_HID, "ACPI0004")
> +        Name(_HID, EisaId("PNP0A06"))
>  
>          Name(_CRS, ResourceTemplate() {
>              IO(Decode16, CPU_STATUS_BASE, CPU_STATUS_BASE, 0, CPU_STATUS_LEN)




reply via email to

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