mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-16 14:41:55 -06:00
memory-device: drop get_region_size()
There are no remaining users of get_region_size() except memory_device_get_region_size() itself. We can make memory_device_get_region_size() work directly on get_memory_region() instead and drop get_region_size(). In addition, we can now use memory_device_get_region_size() in pc-dimm code to implement get_plugged_size()" Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20181005092024.14344-12-david@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
parent
3a0a2b0a2b
commit
af39002747
3 changed files with 10 additions and 20 deletions
|
@ -268,9 +268,16 @@ void memory_device_unplug_region(MachineState *ms, MemoryRegion *mr)
|
||||||
uint64_t memory_device_get_region_size(const MemoryDeviceState *md,
|
uint64_t memory_device_get_region_size(const MemoryDeviceState *md,
|
||||||
Error **errp)
|
Error **errp)
|
||||||
{
|
{
|
||||||
MemoryDeviceClass *mdc = MEMORY_DEVICE_GET_CLASS(md);
|
const MemoryDeviceClass *mdc = MEMORY_DEVICE_GET_CLASS(md);
|
||||||
|
MemoryRegion *mr;
|
||||||
|
|
||||||
return mdc->get_region_size(md, errp);
|
/* dropping const here is fine as we don't touch the memory region */
|
||||||
|
mr = mdc->get_memory_region((MemoryDeviceState *)md, errp);
|
||||||
|
if (!mr) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return memory_region_size(mr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const TypeInfo memory_device_info = {
|
static const TypeInfo memory_device_info = {
|
||||||
|
|
|
@ -236,21 +236,6 @@ static uint64_t pc_dimm_md_get_addr(const MemoryDeviceState *md)
|
||||||
return dimm->addr;
|
return dimm->addr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint64_t pc_dimm_md_get_region_size(const MemoryDeviceState *md,
|
|
||||||
Error **errp)
|
|
||||||
{
|
|
||||||
MemoryDeviceClass *mdc = MEMORY_DEVICE_GET_CLASS(md);
|
|
||||||
MemoryRegion *mr;
|
|
||||||
|
|
||||||
/* dropping const here is fine as we don't touch the memory region */
|
|
||||||
mr = mdc->get_memory_region((MemoryDeviceState *)md, errp);
|
|
||||||
if (!mr) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return memory_region_size(mr);
|
|
||||||
}
|
|
||||||
|
|
||||||
static MemoryRegion *pc_dimm_md_get_memory_region(MemoryDeviceState *md,
|
static MemoryRegion *pc_dimm_md_get_memory_region(MemoryDeviceState *md,
|
||||||
Error **errp)
|
Error **errp)
|
||||||
{
|
{
|
||||||
|
@ -302,8 +287,7 @@ static void pc_dimm_class_init(ObjectClass *oc, void *data)
|
||||||
|
|
||||||
mdc->get_addr = pc_dimm_md_get_addr;
|
mdc->get_addr = pc_dimm_md_get_addr;
|
||||||
/* for a dimm plugged_size == region_size */
|
/* for a dimm plugged_size == region_size */
|
||||||
mdc->get_plugged_size = pc_dimm_md_get_region_size;
|
mdc->get_plugged_size = memory_device_get_region_size;
|
||||||
mdc->get_region_size = pc_dimm_md_get_region_size;
|
|
||||||
mdc->get_memory_region = pc_dimm_md_get_memory_region;
|
mdc->get_memory_region = pc_dimm_md_get_memory_region;
|
||||||
mdc->fill_device_info = pc_dimm_md_fill_device_info;
|
mdc->fill_device_info = pc_dimm_md_fill_device_info;
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,7 +71,6 @@ typedef struct MemoryDeviceClass {
|
||||||
* most devices, this corresponds to the size of the memory region.
|
* most devices, this corresponds to the size of the memory region.
|
||||||
*/
|
*/
|
||||||
uint64_t (*get_plugged_size)(const MemoryDeviceState *md, Error **errp);
|
uint64_t (*get_plugged_size)(const MemoryDeviceState *md, Error **errp);
|
||||||
uint64_t (*get_region_size)(const MemoryDeviceState *md, Error **errp);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return the memory region of the memory device.
|
* Return the memory region of the memory device.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue