summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2013-04-24 10:46:55 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2013-05-24 18:42:51 +0200
commit1d671369c3f8eb2b5dfd0e1709688faba9b85f95 (patch)
treec424569dc8f547f9088b5d4e5678fede99f38d17
parent5553e3a5c95f4a842489384a2fafb27d7555a4ef (diff)
downloadqemu-1d671369c3f8eb2b5dfd0e1709688faba9b85f95.tar.gz
qemu-1d671369c3f8eb2b5dfd0e1709688faba9b85f95.tar.bz2
qemu-1d671369c3f8eb2b5dfd0e1709688faba9b85f95.zip
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.c2
-rw-r--r--include/exec/memory.h7
-rw-r--r--memory.c3
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) {