Introduce internal memory_region_setup_ram_ptr() function to remove duplicated code from different memory_region_init_ram_*ptr functions.
Signed-off-by: BALATON Zoltan <[email protected]> --- system/memory.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/system/memory.c b/system/memory.c index 492bf51f48..fa3e19e1fd 100644 --- a/system/memory.c +++ b/system/memory.c @@ -1660,25 +1660,28 @@ bool memory_region_init_ram_from_fd(MemoryRegion *mr, Object *owner, } #endif -void memory_region_init_ram_ptr(MemoryRegion *mr, Object *owner, - const char *name, uint64_t size, void *ptr) +static void memory_region_setup_ram_ptr(MemoryRegion *mr, uint64_t size, + void *ptr) { - memory_region_init(mr, owner, name, size); memory_region_setup_ram(mr); /* qemu_ram_alloc_from_ptr cannot fail with ptr != NULL. */ assert(ptr != NULL); mr->ram_block = qemu_ram_alloc_from_ptr(size, ptr, mr, &error_abort); } +void memory_region_init_ram_ptr(MemoryRegion *mr, Object *owner, + const char *name, uint64_t size, void *ptr) +{ + memory_region_init(mr, owner, name, size); + memory_region_setup_ram_ptr(mr, size, ptr); +} + void memory_region_init_ram_device_ptr(MemoryRegion *mr, Object *owner, const char *name, uint64_t size, void *ptr) { memory_region_init_io(mr, owner, &ram_device_mem_ops, mr, name, size); - memory_region_setup_ram(mr); - /* qemu_ram_alloc_from_ptr cannot fail with ptr != NULL. */ - assert(ptr != NULL); - mr->ram_block = qemu_ram_alloc_from_ptr(size, ptr, mr, &error_abort); + memory_region_setup_ram_ptr(mr, size, ptr); mr->ram_device = true; } -- 2.41.3
