On Tue, Oct 27, 2015 at 08:42:31AM +0100, Igor Mammedov wrote: > On Fri, 23 Oct 2015 14:55:26 +0200 > Igor Mammedov <imamm...@redhat.com> wrote: > > > currently acpi_memory_plug_cb() sets is_inserting for > > cold- and hot-plugged DIMMs as result ASL MHPD.MSCN() > > method issues device check even for every coldplugged > > DIMM. There isn't much harm in it but if we try to > > unplug such DIMM, OSPM will issue device check > > intstead of device eject event. So OSPM won't eject > > memory module as expected and it will try to eject it > > only when another memory device is hot-(un)plugged. > > > > As a fix do not set 'is_inserting' event and do not > > issue SCI for cold-plugged DIMMs as they are > > enumerated and activated by OSPM during guest's boot. > > > > Signed-off-by: Igor Mammedov <imamm...@redhat.com> > ping
It's only been 4 days, 2 out of these a weekend. Sit tight please, give people time to review. > > --- > > hw/acpi/memory_hotplug.c | 8 +++++--- > > 1 file changed, 5 insertions(+), 3 deletions(-) > > > > diff --git a/hw/acpi/memory_hotplug.c b/hw/acpi/memory_hotplug.c > > index 2ff0d5c..ce428df 100644 > > --- a/hw/acpi/memory_hotplug.c > > +++ b/hw/acpi/memory_hotplug.c > > @@ -238,10 +238,12 @@ void acpi_memory_plug_cb(ACPIREGS *ar, qemu_irq irq, > > MemHotplugState *mem_st, > > > > mdev->dimm = dev; > > mdev->is_enabled = true; > > - mdev->is_inserting = true; > > + if (dev->hotplugged) { > > + mdev->is_inserting = true; > > > > - /* do ACPI magic */ > > - acpi_send_gpe_event(ar, irq, ACPI_MEMORY_HOTPLUG_STATUS); > > + /* do ACPI magic */ > > + acpi_send_gpe_event(ar, irq, ACPI_MEMORY_HOTPLUG_STATUS); > > + } > > return; > > } > >