pc-dimm: get memory region from ->get_memory_region()

Curretly, the memory region of backed memory is all directly
mapped to guest's address space, however, it will be not true
for nvdimm device if we introduce nvdimm label which only can
be indirectly accessed by ACPI DSM method

Also it improves the comments a bit to reflect this fact

Signed-off-by: Xiao Guangrong <guangrong.xiao@linux.intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
master
Xiao Guangrong 2016-05-20 16:19:58 +08:00 committed by Michael S. Tsirkin
parent 28213cb6a6
commit 3c3e88a814
2 changed files with 4 additions and 2 deletions

View File

@ -354,8 +354,9 @@ static void pc_dimm_get_size(Object *obj, Visitor *v, const char *name,
int64_t value;
MemoryRegion *mr;
PCDIMMDevice *dimm = PC_DIMM(obj);
PCDIMMDeviceClass *ddc = PC_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, name, &value, errp);

View File

@ -58,7 +58,8 @@ typedef struct PCDIMMDevice {
/**
* PCDIMMDeviceClass:
* @get_memory_region: returns #MemoryRegion associated with @dimm
* @get_memory_region: returns #MemoryRegion associated with @dimm which
* is directly mapped into the physical address space of guest
*/
typedef struct PCDIMMDeviceClass {
/* private */