From: Tang Chen <tangchen@cn.fujitsu.com>
To: qemu-devel@nongnu.org, imammedo@redhat.com, mst@redhat.com,
pbonzini@redhat.com
Cc: guz.fnst@cn.fujitsu.com, hutao@cn.fujitsu.com,
isimatu.yasuaki@jp.fujitsu.com, zhugh.fnst@cn.fujitsu.com,
tangchen@cn.fujitsu.com
Subject: [Qemu-devel] [PATCH Part2 08/13] acpi, mem-hotplug: Add unplug cb for memory device.
Date: Mon, 17 Nov 2014 13:03:35 +0800 [thread overview]
Message-ID: <1416200620-11968-9-git-send-email-tangchen@cn.fujitsu.com> (raw)
In-Reply-To: <1416200620-11968-1-git-send-email-tangchen@cn.fujitsu.com>
Reset all memory status, and unparent the memory device.
Signed-off-by: Tang Chen <tangchen@cn.fujitsu.com>
---
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;
+ mdev->is_enabled = false;
+ object_unparent(OBJECT(mdev->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) \
--
1.8.4.2
next prev parent reply other threads:[~2014-11-17 5:04 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-17 5:03 [Qemu-devel] [PATCH Part2 00/13] QEmu memory hot unplug support Tang Chen
2014-11-17 5:03 ` [Qemu-devel] [PATCH Part2 01/13] acpi, mem-hotplug: Use PC_DIMM_SLOT_PROP in acpi_memory_plug_cb() Tang Chen
2014-11-17 5:03 ` [Qemu-devel] [PATCH Part2 02/13] acpi, mem-hotplug: Add acpi_memory_get_slot_status_descriptor() to get MemStatus Tang Chen
2014-11-17 5:03 ` [Qemu-devel] [PATCH Part2 03/13] acpi, mem-hotplug: Add acpi_memory_hotplug_sci() to rise sci for memory hotplug Tang Chen
2014-11-17 5:03 ` [Qemu-devel] [PATCH Part2 04/13] acpi, mem-hotplug: Add unplug request cb for memory device Tang Chen
2014-11-17 5:03 ` [Qemu-devel] [PATCH Part2 05/13] acpi, piix4: Add memory hot unplug request support for piix4 Tang Chen
2014-11-17 5:03 ` [Qemu-devel] [PATCH Part2 06/13] acpi, ich9: Add memory hot unplug request support for ich9 Tang Chen
2014-11-17 5:03 ` [Qemu-devel] [PATCH Part2 07/13] pc-dimm: Add memory hot unplug request support for pc-dimm Tang Chen
2014-11-17 5:03 ` Tang Chen [this message]
2014-11-17 5:03 ` [Qemu-devel] [PATCH Part2 09/13] acpi, piix4: Add memory hot unplug support for piix4 Tang Chen
2014-11-17 5:03 ` [Qemu-devel] [PATCH Part2 10/13] acpi, ich9: Add memory hot unplug support for ich9 Tang Chen
2014-11-17 6:17 ` Zhu Guihua
2014-11-17 5:03 ` [Qemu-devel] [PATCH Part2 11/13] pc-dimm: Add memory hot unplug support for pc-dimm Tang Chen
2014-11-17 5:03 ` [Qemu-devel] [PATCH Part2 12/13] acpi: Add hardware implementation for memory hot unplug Tang Chen
2014-11-17 5:03 ` [Qemu-devel] [PATCH Part2 13/13] pc, acpi bios: Add memory hot unplug interface Tang Chen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1416200620-11968-9-git-send-email-tangchen@cn.fujitsu.com \
--to=tangchen@cn.fujitsu.com \
--cc=guz.fnst@cn.fujitsu.com \
--cc=hutao@cn.fujitsu.com \
--cc=imammedo@redhat.com \
--cc=isimatu.yasuaki@jp.fujitsu.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=zhugh.fnst@cn.fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).