[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RESEND PATCH v1 08/13] acpi, mem-hotplug: Add unplug c
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [RESEND PATCH v1 08/13] acpi, mem-hotplug: Add unplug cb for memory device. |
Date: |
Thu, 29 Jan 2015 14:19:44 +0100 |
On Thu, 8 Jan 2015 09:06:15 +0800
Tang Chen <address@hidden> wrote:
> Reset all memory status, and unparent the memory device.
> ---
> hw/acpi/memory_hotplug.c | 16 ++++++++++++++++
> include/hw/acpi/memory_hotplug.h | 2 ++
> 2 files changed, 18 insertions(+)
>
> diff --git a/hw/acpi/memory_hotplug.c b/hw/acpi/memory_hotplug.c
> index 3d8e398..2b0c8ca 100644
> --- a/hw/acpi/memory_hotplug.c
> +++ b/hw/acpi/memory_hotplug.c
> @@ -227,6 +227,22 @@ void acpi_memory_unplug_request_cb(ACPIREGS *ar,
> qemu_irq irq,
> acpi_memory_hotplug_sci(ar, irq);
> }
>
> +void acpi_memory_unplug_cb(ACPIREGS *ar, qemu_irq irq,
> + MemHotplugState *mem_st,
> + DeviceState *dev, Error **errp)
> +{
> + MemStatus *mdev;
> +
> + mdev = acpi_memory_get_slot_status_descriptor(mem_st, dev, errp);
> + if (!mdev)
> + return;
> +
> + mdev->is_removing = false;
should be done in acpi_memory_hotplug_write() in the same manner
as it's done for is_inserting field
> + mdev->is_enabled = false;
> + object_unparent(OBJECT(mdev->dimm));
it seem wrong, does acpi_memory_plug_cb() do parenting?
Unparenting probably should be done as the last step by PC_MACHINE
when it's cleaned up all connections to dimm.
> + mdev->dimm = NULL;
> +}
> +
> static const VMStateDescription vmstate_memhp_sts = {
> .name = "memory hotplug device state",
> .version_id = 1,
> diff --git a/include/hw/acpi/memory_hotplug.h
> b/include/hw/acpi/memory_hotplug.h
> index c437a85..6b8d9f7 100644
> --- a/include/hw/acpi/memory_hotplug.h
> +++ b/include/hw/acpi/memory_hotplug.h
> @@ -32,6 +32,8 @@ void acpi_memory_plug_cb(ACPIREGS *ar, qemu_irq irq,
> MemHotplugState *mem_st,
> void acpi_memory_unplug_request_cb(ACPIREGS *ar, qemu_irq irq,
> MemHotplugState *mem_st,
> DeviceState *dev, Error **errp);
> +void acpi_memory_unplug_cb(ACPIREGS *ar, qemu_irq irq, MemHotplugState
> *mem_st,
> + DeviceState *dev, Error **errp);
>
> extern const VMStateDescription vmstate_memory_hotplug;
> #define VMSTATE_MEMORY_HOTPLUG(memhp, state) \
- [Qemu-devel] [RESEND PATCH v1 01/13] acpi, mem-hotplug: Use PC_DIMM_SLOT_PROP in acpi_memory_plug_cb()., (continued)
- [Qemu-devel] [RESEND PATCH v1 01/13] acpi, mem-hotplug: Use PC_DIMM_SLOT_PROP in acpi_memory_plug_cb()., Tang Chen, 2015/01/07
- [Qemu-devel] [RESEND PATCH v1 02/13] acpi, mem-hotplug: Add acpi_memory_get_slot_status_descriptor() to get MemStatus., Tang Chen, 2015/01/07
- [Qemu-devel] [RESEND PATCH v1 03/13] acpi, mem-hotplug: Add acpi_memory_hotplug_sci() to rise sci for memory hotplug., Tang Chen, 2015/01/07
- [Qemu-devel] [RESEND PATCH v1 04/13] acpi, mem-hotplug: Add unplug request cb for memory device., Tang Chen, 2015/01/07
- [Qemu-devel] [RESEND PATCH v1 05/13] acpi, piix4: Add memory hot unplug request support for piix4., Tang Chen, 2015/01/07
- [Qemu-devel] [RESEND PATCH v1 06/13] acpi, ich9: Add memory hot unplug request support for ich9., Tang Chen, 2015/01/07
- [Qemu-devel] [RESEND PATCH v1 08/13] acpi, mem-hotplug: Add unplug cb for memory device., Tang Chen, 2015/01/07
- Re: [Qemu-devel] [RESEND PATCH v1 08/13] acpi, mem-hotplug: Add unplug cb for memory device.,
Igor Mammedov <=
- [Qemu-devel] [RESEND PATCH v1 07/13] pc-dimm: Add memory hot unplug request support for pc-dimm., Tang Chen, 2015/01/07
- [Qemu-devel] [RESEND PATCH v1 09/13] acpi, piix4: Add memory hot unplug support for piix4., Tang Chen, 2015/01/07
- [Qemu-devel] [RESEND PATCH v1 10/13] acpi, ich9: Add memory hot unplug support for ich9., Tang Chen, 2015/01/07
- [Qemu-devel] [RESEND PATCH v1 11/13] pc-dimm: Add memory hot unplug support for pc-dimm., Tang Chen, 2015/01/07
- [Qemu-devel] [RESEND PATCH v1 12/13] acpi: Add hardware implementation for memory hot unplug., Tang Chen, 2015/01/07
- [Qemu-devel] [RESEND PATCH v1 13/13] pc, acpi bios: Add memory hot unplug interface., Tang Chen, 2015/01/07