[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] pc: memhp: do not emit inserting event for cold
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH] pc: memhp: do not emit inserting event for coldplugged DIMMs |
Date: |
Tue, 27 Oct 2015 08:42:31 +0100 |
On Fri, 23 Oct 2015 14:55:26 +0200
Igor Mammedov <address@hidden> 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 <address@hidden>
ping
> ---
> 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;
> }
>