Factor out common operation from memory_region_init_{ram,rom}
functions to register the region for migration. This avoids
duplicating the long comment in several functions.Signed-off-by: BALATON Zoltan <[email protected]> --- system/memory.c | 75 +++++++++++++------------------------------------ 1 file changed, 20 insertions(+), 55 deletions(-) diff --git a/system/memory.c b/system/memory.c index bff9677f7a..74244be130 100644 --- a/system/memory.c +++ b/system/memory.c @@ -3678,17 +3678,10 @@ void mtree_info(bool flatview, bool dispatch_tree, bool owner, bool disabled) } } -bool memory_region_init_ram(MemoryRegion *mr, - Object *owner, - const char *name, - uint64_t size, - Error **errp) +static void memory_region_register_ram(MemoryRegion *mr, Object *owner) { DeviceState *owner_dev; - if (!memory_region_init_ram_nomigrate(mr, owner, name, size, errp)) { - return false; - } /* This will assert if owner is neither NULL nor a DeviceState. * We only want the owner here for the purposes of defining a * unique name for migration. TODO: Ideally we should implement @@ -3697,80 +3690,52 @@ bool memory_region_init_ram(MemoryRegion *mr, */ owner_dev = DEVICE(owner); vmstate_register_ram(mr, owner_dev); +} +bool memory_region_init_ram(MemoryRegion *mr, Object *owner, + const char *name, uint64_t size, + Error **errp) +{ + if (!memory_region_init_ram_nomigrate(mr, owner, name, size, errp)) { + return false; + } + memory_region_register_ram(mr, owner); return true; } -bool memory_region_init_ram_guest_memfd(MemoryRegion *mr, - Object *owner, - const char *name, - uint64_t size, +bool memory_region_init_ram_guest_memfd(MemoryRegion *mr, Object *owner, + const char *name, uint64_t size, Error **errp) { - DeviceState *owner_dev; - if (!memory_region_init_ram_flags_nomigrate(mr, owner, name, size, RAM_GUEST_MEMFD, errp)) { return false; } - /* This will assert if owner is neither NULL nor a DeviceState. - * We only want the owner here for the purposes of defining a - * unique name for migration. TODO: Ideally we should implement - * a naming scheme for Objects which are not DeviceStates, in - * which case we can relax this restriction. - */ - owner_dev = DEVICE(owner); - vmstate_register_ram(mr, owner_dev); - + memory_region_register_ram(mr, owner); return true; } -bool memory_region_init_rom(MemoryRegion *mr, - Object *owner, - const char *name, - uint64_t size, +bool memory_region_init_rom(MemoryRegion *mr, Object *owner, + const char *name, uint64_t size, Error **errp) { - DeviceState *owner_dev; - if (!memory_region_init_rom_nomigrate(mr, owner, name, size, errp)) { return false; } - /* This will assert if owner is neither NULL nor a DeviceState. - * We only want the owner here for the purposes of defining a - * unique name for migration. TODO: Ideally we should implement - * a naming scheme for Objects which are not DeviceStates, in - * which case we can relax this restriction. - */ - owner_dev = DEVICE(owner); - vmstate_register_ram(mr, owner_dev); - + memory_region_register_ram(mr, owner); return true; } -bool memory_region_init_rom_device(MemoryRegion *mr, - Object *owner, - const MemoryRegionOps *ops, - void *opaque, - const char *name, - uint64_t size, +bool memory_region_init_rom_device(MemoryRegion *mr, Object *owner, + const MemoryRegionOps *ops, void *opaque, + const char *name, uint64_t size, Error **errp) { - DeviceState *owner_dev; - if (!memory_region_init_rom_device_nomigrate(mr, owner, ops, opaque, name, size, errp)) { return false; } - /* This will assert if owner is neither NULL nor a DeviceState. - * We only want the owner here for the purposes of defining a - * unique name for migration. TODO: Ideally we should implement - * a naming scheme for Objects which are not DeviceStates, in - * which case we can relax this restriction. - */ - owner_dev = DEVICE(owner); - vmstate_register_ram(mr, owner_dev); - + memory_region_register_ram(mr, owner); return true; } -- 2.41.3
