[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RESEND PATCH v3 5/8] pc-dimm: Add pc_dimm_unrealize()
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [RESEND PATCH v3 5/8] pc-dimm: Add pc_dimm_unrealize() for memory hot unplug support. |
Date: |
Thu, 4 Sep 2014 15:28:24 +0200 |
On Wed, 27 Aug 2014 16:08:36 +0800
Tang Chen <address@hidden> wrote:
> From: Hu Tao <address@hidden>
>
> Implement unrealize function for pc-dimm device. It delete subregion from
s/delete/removes/
> hotplug region, and delete ram address range from guest ram list.
>
> Signed-off-by: Hu Tao <address@hidden>
> Signed-off-by: Tang Chen <address@hidden>
> ---
> hw/mem/pc-dimm.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c
> index 20fe0dc..34109a2 100644
> --- a/hw/mem/pc-dimm.c
> +++ b/hw/mem/pc-dimm.c
> @@ -270,12 +270,22 @@ static MemoryRegion
> *pc_dimm_get_memory_region(PCDIMMDevice *dimm)
> return host_memory_backend_get_memory(dimm->hostmem, &error_abort);
> }
>
> +static void pc_dimm_unrealize(DeviceState *dev, Error **errp)
> +{
> + PCDIMMDevice *dimm = PC_DIMM(dev);
> + MemoryRegion *mr = pc_dimm_get_memory_region(dimm);
> +
> + memory_region_del_subregion(mr->container, mr);
usually MemoryRegion is treated as opaque and it's fields
accessed via memory_region_foo() helpers.
> + vmstate_unregister_ram(mr, dev);
these 2 lines look like a job for PCMachine which did original mapping/vmstate
registration
> +}
> +
> static void pc_dimm_class_init(ObjectClass *oc, void *data)
> {
> DeviceClass *dc = DEVICE_CLASS(oc);
> PCDIMMDeviceClass *ddc = PC_DIMM_CLASS(oc);
>
> dc->realize = pc_dimm_realize;
> + dc->unrealize = pc_dimm_unrealize;
> dc->props = pc_dimm_properties;
>
> ddc->get_memory_region = pc_dimm_get_memory_region;
- Re: [Qemu-devel] [RESEND PATCH v3 5/8] pc-dimm: Add pc_dimm_unrealize() for memory hot unplug support.,
Igor Mammedov <=