]> Git Repo - qemu.git/commitdiff
pc: memhp: do not emit inserting event for coldplugged DIMMs
authorIgor Mammedov <[email protected]>
Fri, 23 Oct 2015 12:55:26 +0000 (14:55 +0200)
committerMichael S. Tsirkin <[email protected]>
Thu, 29 Oct 2015 09:05:24 +0000 (11:05 +0200)
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 <[email protected]>
Reviewed-by: Michael S. Tsirkin <[email protected]>
Signed-off-by: Michael S. Tsirkin <[email protected]>
hw/acpi/memory_hotplug.c

index 2ff0d5ce1b041f83e3b4a1ff65dfe9c7a846e885..ce428dfc1817bcb56134a0d89fef9bd7423ede79 100644 (file)
@@ -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;
 }
 
This page took 0.027407 seconds and 4 git commands to generate.