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 Signed-off-by: Xiao Guangrong <guangrong.x...@linux.intel.com> --- hw/mem/dimm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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); -- 1.8.3.1