Message ID | 1418054888-11310-2-git-send-email-imammedo@redhat.com |
---|---|
State | New |
Headers | show |
On Mon, Dec 08, 2014 at 04:08:00PM +0000, Igor Mammedov wrote: > ACPI parser in XP considers PNP0A06 devices of CPU and > memory hotplug as duplicates. Adding unique _UID > to CPU hotplug device fixes BSOD. > > Signed-off-by: Igor Mammedov <imammedo@redhat.com> And let's add them for memory hotplug as well? Also, if we do stable branch release, we probably want to only do it for memory hotplug in a separate patch, right? This way users who don't enable memory hotplug are unaffected, reduces risk slightly. > --- > hw/i386/acpi-dsdt-cpu-hotplug.dsl | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/i386/acpi-dsdt-cpu-hotplug.dsl b/hw/i386/acpi-dsdt-cpu-hotplug.dsl > index 34aab5a..268d870 100644 > --- a/hw/i386/acpi-dsdt-cpu-hotplug.dsl > +++ b/hw/i386/acpi-dsdt-cpu-hotplug.dsl > @@ -94,6 +94,7 @@ Scope(\_SB) { > > Device(CPU_HOTPLUG_RESOURCE_DEVICE) { > Name(_HID, EisaId("PNP0A06")) > + Name(_UID, "CPU hotplug resources") > > Name(_CRS, ResourceTemplate() { > IO(Decode16, CPU_STATUS_BASE, CPU_STATUS_BASE, 0, CPU_STATUS_LEN) > -- > 1.8.3.1
On Mon, 8 Dec 2014 22:57:05 +0200 "Michael S. Tsirkin" <mst@redhat.com> wrote: > On Mon, Dec 08, 2014 at 04:08:00PM +0000, Igor Mammedov wrote: > > ACPI parser in XP considers PNP0A06 devices of CPU and > > memory hotplug as duplicates. Adding unique _UID > > to CPU hotplug device fixes BSOD. > > > > Signed-off-by: Igor Mammedov <imammedo@redhat.com> > > And let's add them for memory hotplug as well? XP doesn't support it. > Also, if we do stable branch release, we probably > want to only do it for memory hotplug in a separate > patch, right? > This way users who don't enable memory hotplug > are unaffected, reduces risk slightly. Memory hotplug device already has _UID, so it doesn't need patching. This patch just fixes BSOD if QEMU has been started with hotplug enabled i.e. for example -m 2G,slots=2,maxmem=4G, and prevents clashing between memory hotplug and cpu hotplug devices on XP (i.e. XP specific quirk). I've tested it with XPsp3 and all later version upto WS2012R2. > > > --- > > hw/i386/acpi-dsdt-cpu-hotplug.dsl | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/hw/i386/acpi-dsdt-cpu-hotplug.dsl b/hw/i386/acpi-dsdt-cpu-hotplug.dsl > > index 34aab5a..268d870 100644 > > --- a/hw/i386/acpi-dsdt-cpu-hotplug.dsl > > +++ b/hw/i386/acpi-dsdt-cpu-hotplug.dsl > > @@ -94,6 +94,7 @@ Scope(\_SB) { > > > > Device(CPU_HOTPLUG_RESOURCE_DEVICE) { > > Name(_HID, EisaId("PNP0A06")) > > + Name(_UID, "CPU hotplug resources") > > > > Name(_CRS, ResourceTemplate() { > > IO(Decode16, CPU_STATUS_BASE, CPU_STATUS_BASE, 0, CPU_STATUS_LEN) > > -- > > 1.8.3.1
On Tue, Dec 09, 2014 at 11:05:37AM +0100, Igor Mammedov wrote: > On Mon, 8 Dec 2014 22:57:05 +0200 > "Michael S. Tsirkin" <mst@redhat.com> wrote: > > > On Mon, Dec 08, 2014 at 04:08:00PM +0000, Igor Mammedov wrote: > > > ACPI parser in XP considers PNP0A06 devices of CPU and > > > memory hotplug as duplicates. Adding unique _UID > > > to CPU hotplug device fixes BSOD. > > > > > > Signed-off-by: Igor Mammedov <imammedo@redhat.com> > > > > And let's add them for memory hotplug as well? > XP doesn't support it. > > Also, if we do stable branch release, we probably > > want to only do it for memory hotplug in a separate > > patch, right? > > This way users who don't enable memory hotplug > > are unaffected, reduces risk slightly. > Memory hotplug device already has _UID, so it doesn't need patching. > This patch just fixes BSOD if QEMU has been started with > hotplug enabled i.e. for example -m 2G,slots=2,maxmem=4G, > and prevents clashing between memory hotplug and > cpu hotplug devices on XP (i.e. XP specific quirk). > > I've tested it with XPsp3 and all later version upto WS2012R2. I see, I misunderstood. Thanks, I'll apply this one. > > > > > > --- > > > hw/i386/acpi-dsdt-cpu-hotplug.dsl | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/hw/i386/acpi-dsdt-cpu-hotplug.dsl b/hw/i386/acpi-dsdt-cpu-hotplug.dsl > > > index 34aab5a..268d870 100644 > > > --- a/hw/i386/acpi-dsdt-cpu-hotplug.dsl > > > +++ b/hw/i386/acpi-dsdt-cpu-hotplug.dsl > > > @@ -94,6 +94,7 @@ Scope(\_SB) { > > > > > > Device(CPU_HOTPLUG_RESOURCE_DEVICE) { > > > Name(_HID, EisaId("PNP0A06")) > > > + Name(_UID, "CPU hotplug resources") > > > > > > Name(_CRS, ResourceTemplate() { > > > IO(Decode16, CPU_STATUS_BASE, CPU_STATUS_BASE, 0, CPU_STATUS_LEN) > > > -- > > > 1.8.3.1
diff --git a/hw/i386/acpi-dsdt-cpu-hotplug.dsl b/hw/i386/acpi-dsdt-cpu-hotplug.dsl index 34aab5a..268d870 100644 --- a/hw/i386/acpi-dsdt-cpu-hotplug.dsl +++ b/hw/i386/acpi-dsdt-cpu-hotplug.dsl @@ -94,6 +94,7 @@ Scope(\_SB) { Device(CPU_HOTPLUG_RESOURCE_DEVICE) { Name(_HID, EisaId("PNP0A06")) + Name(_UID, "CPU hotplug resources") Name(_CRS, ResourceTemplate() { IO(Decode16, CPU_STATUS_BASE, CPU_STATUS_BASE, 0, CPU_STATUS_LEN)
ACPI parser in XP considers PNP0A06 devices of CPU and memory hotplug as duplicates. Adding unique _UID to CPU hotplug device fixes BSOD. Signed-off-by: Igor Mammedov <imammedo@redhat.com> --- hw/i386/acpi-dsdt-cpu-hotplug.dsl | 1 + 1 file changed, 1 insertion(+)