All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH for-2.0] dsdt: tweak ACPI ID for hotplug resource device
@ 2014-04-06  9:47 Michael S. Tsirkin
  2014-04-07  7:46 ` Igor Mammedov
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Michael S. Tsirkin @ 2014-04-06  9:47 UTC (permalink / raw)
  To: qemu-devel; +Cc: imammedo, Anthony Liguori

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 <mst@redhat.com>
---

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?

 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)
-- 
MST

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH for-2.0] dsdt: tweak ACPI ID for hotplug resource device
  2014-04-06  9:47 [Qemu-devel] [PATCH for-2.0] dsdt: tweak ACPI ID for hotplug resource device Michael S. Tsirkin
@ 2014-04-07  7:46 ` Igor Mammedov
  2014-04-07  8:36   ` Michael S. Tsirkin
  2014-04-07  8:57 ` Igor Mammedov
  2014-04-07 20:40 ` Michael S. Tsirkin
  2 siblings, 1 reply; 6+ messages in thread
From: Igor Mammedov @ 2014-04-07  7:46 UTC (permalink / raw)
  To: Michael S. Tsirkin; +Cc: qemu-devel, Anthony Liguori

On Sun, 6 Apr 2014 12:47:37 +0300
"Michael S. Tsirkin" <mst@redhat.com> 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 <mst@redhat.com>
> ---
> 
> 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)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH for-2.0] dsdt: tweak ACPI ID for hotplug resource device
  2014-04-07  7:46 ` Igor Mammedov
@ 2014-04-07  8:36   ` Michael S. Tsirkin
  0 siblings, 0 replies; 6+ messages in thread
From: Michael S. Tsirkin @ 2014-04-07  8:36 UTC (permalink / raw)
  To: Igor Mammedov; +Cc: qemu-devel, Anthony Liguori

On Mon, Apr 07, 2014 at 09:46:34AM +0200, Igor Mammedov wrote:
> On Sun, 6 Apr 2014 12:47:37 +0300
> "Michael S. Tsirkin" <mst@redhat.com> 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 <mst@redhat.com>
> > ---
> > 
> > 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?

OK I quickly tested with Win7 and it does check for conflicts
when EisaId("PNP0A06") is used.

Taking this into account, ack this patch?

> > 
> >  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)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH for-2.0] dsdt: tweak ACPI ID for hotplug resource device
  2014-04-06  9:47 [Qemu-devel] [PATCH for-2.0] dsdt: tweak ACPI ID for hotplug resource device Michael S. Tsirkin
  2014-04-07  7:46 ` Igor Mammedov
@ 2014-04-07  8:57 ` Igor Mammedov
  2014-04-07  8:59   ` Michael S. Tsirkin
  2014-04-07 20:40 ` Michael S. Tsirkin
  2 siblings, 1 reply; 6+ messages in thread
From: Igor Mammedov @ 2014-04-07  8:57 UTC (permalink / raw)
  To: Michael S. Tsirkin; +Cc: qemu-devel, Anthony Liguori

On Sun, 6 Apr 2014 12:47:37 +0300
"Michael S. Tsirkin" <mst@redhat.com> 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 <mst@redhat.com>
> ---
> 
> 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?
> 
>  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)

Reviewed-By: Igor Mammedov <imammedo@redhat.com>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH for-2.0] dsdt: tweak ACPI ID for hotplug resource device
  2014-04-07  8:57 ` Igor Mammedov
@ 2014-04-07  8:59   ` Michael S. Tsirkin
  0 siblings, 0 replies; 6+ messages in thread
From: Michael S. Tsirkin @ 2014-04-07  8:59 UTC (permalink / raw)
  To: Igor Mammedov; +Cc: Peter Maydell, qemu-devel, Anthony Liguori

On Mon, Apr 07, 2014 at 10:57:02AM +0200, Igor Mammedov wrote:
> On Sun, 6 Apr 2014 12:47:37 +0300
> "Michael S. Tsirkin" <mst@redhat.com> 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 <mst@redhat.com>
> > ---
> > 
> > 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?
> > 
> >  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)
> 
> Reviewed-By: Igor Mammedov <imammedo@redhat.com>

Thanks!
Peter, could you pick this up for 2.0 please?

-- 
MST

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH for-2.0] dsdt: tweak ACPI ID for hotplug resource device
  2014-04-06  9:47 [Qemu-devel] [PATCH for-2.0] dsdt: tweak ACPI ID for hotplug resource device Michael S. Tsirkin
  2014-04-07  7:46 ` Igor Mammedov
  2014-04-07  8:57 ` Igor Mammedov
@ 2014-04-07 20:40 ` Michael S. Tsirkin
  2 siblings, 0 replies; 6+ messages in thread
From: Michael S. Tsirkin @ 2014-04-07 20:40 UTC (permalink / raw)
  To: qemu-devel; +Cc: imammedo, Anthony Liguori, Peter Maydell

On Sun, Apr 06, 2014 at 12:47:37PM +0300, Michael S. Tsirkin 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 <mst@redhat.com>

ping

Just making sure we don't miss this for 2.0.

Pls apply.


> ---
> 
> 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?
> 
>  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)
> -- 
> MST

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-04-07 20:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-06  9:47 [Qemu-devel] [PATCH for-2.0] dsdt: tweak ACPI ID for hotplug resource device Michael S. Tsirkin
2014-04-07  7:46 ` Igor Mammedov
2014-04-07  8:36   ` Michael S. Tsirkin
2014-04-07  8:57 ` Igor Mammedov
2014-04-07  8:59   ` Michael S. Tsirkin
2014-04-07 20:40 ` Michael S. Tsirkin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.