diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2013-04-24 10:46:55 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2013-05-24 18:42:51 +0200 |
commit | 1d671369c3f8eb2b5dfd0e1709688faba9b85f95 (patch) | |
tree | c424569dc8f547f9088b5d4e5678fede99f38d17 | |
parent | 5553e3a5c95f4a842489384a2fafb27d7555a4ef (diff) |
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 <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | arch_init.c | 2 | ||||
-rw-r--r-- | include/exec/memory.h | 7 | ||||
-rw-r--r-- | 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. @@ -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) { |