From 1d671369c3f8eb2b5dfd0e1709688faba9b85f95 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 24 Apr 2013 10:46:55 +0200 Subject: [PATCH] memory: make memory_global_sync_dirty_bitmap take an AddressSpace Since this is a MemoryListener operation, it only makes sense on an AddressSpace granularity. Suggested-by: Peter Maydell Signed-off-by: Paolo Bonzini --- arch_init.c | 2 +- include/exec/memory.h | 7 +++---- memory.c | 3 +-- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/arch_init.c b/arch_init.c index 49c5dc27e6..5d32ecf23a 100644 --- a/arch_init.c +++ b/arch_init.c @@ -386,7 +386,7 @@ static void migration_bitmap_sync(void) } trace_migration_bitmap_sync_start(); - memory_global_sync_dirty_bitmap(get_system_memory()); + address_space_sync_dirty_bitmap(&address_space_memory); QTAILQ_FOREACH(block, &ram_list.blocks, next) { for (addr = 0; addr < block->length; addr += TARGET_PAGE_SIZE) { diff --git a/include/exec/memory.h b/include/exec/memory.h index e1208e476f..91be2a3c7a 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -766,13 +766,12 @@ memory_region_section_addr(MemoryRegionSection *section, } /** - * memory_global_sync_dirty_bitmap: synchronize the dirty log for all memory + * address_space_sync_dirty_bitmap: synchronize the dirty log for all memory * * Synchronizes the dirty page log for an entire address space. - * @address_space: a top-level (i.e. parentless) region that contains the - * memory being synchronized + * @as: the address space that contains the memory being synchronized */ -void memory_global_sync_dirty_bitmap(MemoryRegion *address_space); +void address_space_sync_dirty_bitmap(AddressSpace *as); /** * memory_region_transaction_begin: Start a transaction. diff --git a/memory.c b/memory.c index 54314636e3..11bbeb7445 100644 --- a/memory.c +++ b/memory.c @@ -1485,9 +1485,8 @@ MemoryRegionSection memory_region_find(MemoryRegion *mr, return ret; } -void memory_global_sync_dirty_bitmap(MemoryRegion *address_space) +void address_space_sync_dirty_bitmap(AddressSpace *as) { - AddressSpace *as = memory_region_to_address_space(address_space); FlatRange *fr; FOR_EACH_FLAT_RANGE(fr, as->current_map) {