mirror of
https://github.com/mii443/qemu.git
synced 2025-12-09 22:18:23 +00:00
memory: hide memory_region_sync_dirty_bitmap behind DirtyBitmapSnapshot
Simplify the users of memory_region_snapshot_and_clear_dirty, so that they do not have to call memory_region_sync_dirty_bitmap explicitly. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
39
memory.c
39
memory.c
@@ -1971,25 +1971,7 @@ void memory_region_set_dirty(MemoryRegion *mr, hwaddr addr,
|
||||
memory_region_get_dirty_log_mask(mr));
|
||||
}
|
||||
|
||||
DirtyBitmapSnapshot *memory_region_snapshot_and_clear_dirty(MemoryRegion *mr,
|
||||
hwaddr addr,
|
||||
hwaddr size,
|
||||
unsigned client)
|
||||
{
|
||||
assert(mr->ram_block);
|
||||
return cpu_physical_memory_snapshot_and_clear_dirty(
|
||||
memory_region_get_ram_addr(mr) + addr, size, client);
|
||||
}
|
||||
|
||||
bool memory_region_snapshot_get_dirty(MemoryRegion *mr, DirtyBitmapSnapshot *snap,
|
||||
hwaddr addr, hwaddr size)
|
||||
{
|
||||
assert(mr->ram_block);
|
||||
return cpu_physical_memory_snapshot_get_dirty(snap,
|
||||
memory_region_get_ram_addr(mr) + addr, size);
|
||||
}
|
||||
|
||||
void memory_region_sync_dirty_bitmap(MemoryRegion *mr)
|
||||
static void memory_region_sync_dirty_bitmap(MemoryRegion *mr)
|
||||
{
|
||||
MemoryListener *listener;
|
||||
AddressSpace *as;
|
||||
@@ -2017,6 +1999,25 @@ void memory_region_sync_dirty_bitmap(MemoryRegion *mr)
|
||||
}
|
||||
}
|
||||
|
||||
DirtyBitmapSnapshot *memory_region_snapshot_and_clear_dirty(MemoryRegion *mr,
|
||||
hwaddr addr,
|
||||
hwaddr size,
|
||||
unsigned client)
|
||||
{
|
||||
assert(mr->ram_block);
|
||||
memory_region_sync_dirty_bitmap(mr);
|
||||
return cpu_physical_memory_snapshot_and_clear_dirty(
|
||||
memory_region_get_ram_addr(mr) + addr, size, client);
|
||||
}
|
||||
|
||||
bool memory_region_snapshot_get_dirty(MemoryRegion *mr, DirtyBitmapSnapshot *snap,
|
||||
hwaddr addr, hwaddr size)
|
||||
{
|
||||
assert(mr->ram_block);
|
||||
return cpu_physical_memory_snapshot_get_dirty(snap,
|
||||
memory_region_get_ram_addr(mr) + addr, size);
|
||||
}
|
||||
|
||||
void memory_region_set_readonly(MemoryRegion *mr, bool readonly)
|
||||
{
|
||||
if (mr->readonly != readonly) {
|
||||
|
||||
Reference in New Issue
Block a user