[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v7 20/35] dimm: get mapped memory region from DIMMDe
From: |
Xiao Guangrong |
Subject: |
[Qemu-devel] [PATCH v7 20/35] dimm: get mapped memory region from DIMMDeviceClass->get_memory_region |
Date: |
Mon, 2 Nov 2015 17:13:22 +0800 |
Curretly, the memory region of backed memory is directly mapped to
guest's address space, however, it is not true for nvdimm device
This patch let dimm device realize this fact and use
DIMMDeviceClass->get_memory_region method to get the mapped memory
region
Current code did not check the return value of get_memory_region as it
assumed the backend memory of pc-dimm is always properly initialized,
we make get_memory_region internally catch the case if something is
wrong
Signed-off-by: Xiao Guangrong <address@hidden>
---
hw/mem/dimm.c | 3 ++-
hw/mem/pc-dimm.c | 12 +++++++++++-
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/hw/mem/dimm.c b/hw/mem/dimm.c
index 4a63409..498d380 100644
--- a/hw/mem/dimm.c
+++ b/hw/mem/dimm.c
@@ -377,8 +377,9 @@ static void dimm_get_size(Object *obj, Visitor *v, void
*opaque,
int64_t value;
MemoryRegion *mr;
DIMMDevice *dimm = DIMM(obj);
+ DIMMDeviceClass *ddc = DIMM_GET_CLASS(obj);
- mr = host_memory_backend_get_memory(dimm->hostmem, errp);
+ mr = ddc->get_memory_region(dimm);
value = memory_region_size(mr);
visit_type_int(v, &value, name, errp);
diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c
index 38323e9..e6b6a9f 100644
--- a/hw/mem/pc-dimm.c
+++ b/hw/mem/pc-dimm.c
@@ -22,7 +22,17 @@
static MemoryRegion *pc_dimm_get_memory_region(DIMMDevice *dimm)
{
- return host_memory_backend_get_memory(dimm->hostmem, &error_abort);
+ Error *local_err = NULL;
+ MemoryRegion *mr;
+
+ mr = host_memory_backend_get_memory(dimm->hostmem, &local_err);
+
+ /*
+ * plug a pc-dimm device whose backend memory was not properly
+ * initialized?
+ */
+ assert(!local_err && mr);
+ return mr;
}
static void pc_dimm_class_init(ObjectClass *oc, void *data)
--
1.8.3.1
- [Qemu-devel] [PATCH v7 25/35] nvdimm acpi: init the resource used by NVDIMM ACPI, (continued)
- [Qemu-devel] [PATCH v7 25/35] nvdimm acpi: init the resource used by NVDIMM ACPI, Xiao Guangrong, 2015/11/02
- Re: [Qemu-devel] [PATCH v7 25/35] nvdimm acpi: init the resource used by NVDIMM ACPI, Igor Mammedov, 2015/11/05
- Re: [Qemu-devel] [PATCH v7 25/35] nvdimm acpi: init the resource used by NVDIMM ACPI, Xiao Guangrong, 2015/11/05
- Re: [Qemu-devel] [PATCH v7 25/35] nvdimm acpi: init the resource used by NVDIMM ACPI, Igor Mammedov, 2015/11/05
- Re: [Qemu-devel] [PATCH v7 25/35] nvdimm acpi: init the resource used by NVDIMM ACPI, Xiao Guangrong, 2015/11/05
- Re: [Qemu-devel] [PATCH v7 25/35] nvdimm acpi: init the resource used by NVDIMM ACPI, Igor Mammedov, 2015/11/05
- Re: [Qemu-devel] [PATCH v7 25/35] nvdimm acpi: init the resource used by NVDIMM ACPI, Xiao Guangrong, 2015/11/06
- Re: [Qemu-devel] [PATCH v7 25/35] nvdimm acpi: init the resource used by NVDIMM ACPI, Xiao Guangrong, 2015/11/06
- Re: [Qemu-devel] [PATCH v7 25/35] nvdimm acpi: init the resource used by NVDIMM ACPI, Igor Mammedov, 2015/11/09
- [Qemu-devel] Ask for ACK (was Re: [PATCH v7 25/35] nvdimm acpi: init the resource used by NVDIMM ACPI), Xiao Guangrong, 2015/11/10
[Qemu-devel] [PATCH v7 20/35] dimm: get mapped memory region from DIMMDeviceClass->get_memory_region,
Xiao Guangrong <=
- Re: [Qemu-devel] [PATCH v7 20/35] dimm: get mapped memory region from DIMMDeviceClass->get_memory_region, Vladimir Sementsov-Ogievskiy, 2015/11/02
- Re: [Qemu-devel] [PATCH v7 20/35] dimm: get mapped memory region from DIMMDeviceClass->get_memory_region, Xiao Guangrong, 2015/11/02
- Re: [Qemu-devel] [PATCH v7 20/35] dimm: get mapped memory region from DIMMDeviceClass->get_memory_region, Vladimir Sementsov-Ogievskiy, 2015/11/02
- Re: [Qemu-devel] [PATCH v7 20/35] dimm: get mapped memory region from DIMMDeviceClass->get_memory_region, Xiao Guangrong, 2015/11/02
- Re: [Qemu-devel] [PATCH v7 20/35] dimm: get mapped memory region from DIMMDeviceClass->get_memory_region, Vladimir Sementsov-Ogievskiy, 2015/11/02
- Re: [Qemu-devel] [PATCH v7 20/35] dimm: get mapped memory region from DIMMDeviceClass->get_memory_region, Xiao Guangrong, 2015/11/03
- Re: [Qemu-devel] [PATCH v7 20/35] dimm: get mapped memory region from DIMMDeviceClass->get_memory_region, Vladimir Sementsov-Ogievskiy, 2015/11/05
Re: [Qemu-devel] [PATCH v7 20/35] dimm: get mapped memory region from DIMMDeviceClass->get_memory_region, Eduardo Habkost, 2015/11/05
[Qemu-devel] [PATCH v7 21/35] dimm: keep the state of the whole backend memory, Xiao Guangrong, 2015/11/02