memory: Pass mr into snapshot_and_clear_dirty
Also we change the 2nd parameter of it to be the relative offset within the memory region. This is to be used in follow up patches. Signed-off-by: Peter Xu <peterx@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Message-Id: <20190603065056.25211-6-peterx@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
parent
ad37f24d57
commit
5dea4079ad
3
exec.c
3
exec.c
@ -1390,9 +1390,10 @@ bool cpu_physical_memory_test_and_clear_dirty(ram_addr_t start,
|
||||
}
|
||||
|
||||
DirtyBitmapSnapshot *cpu_physical_memory_snapshot_and_clear_dirty
|
||||
(ram_addr_t start, ram_addr_t length, unsigned client)
|
||||
(MemoryRegion *mr, hwaddr offset, hwaddr length, unsigned client)
|
||||
{
|
||||
DirtyMemoryBlocks *blocks;
|
||||
ram_addr_t start = memory_region_get_ram_addr(mr) + offset;
|
||||
unsigned long align = 1UL << (TARGET_PAGE_BITS + BITS_PER_LEVEL);
|
||||
ram_addr_t first = QEMU_ALIGN_DOWN(start, align);
|
||||
ram_addr_t last = QEMU_ALIGN_UP(start + length, align);
|
||||
|
@ -404,7 +404,7 @@ bool cpu_physical_memory_test_and_clear_dirty(ram_addr_t start,
|
||||
unsigned client);
|
||||
|
||||
DirtyBitmapSnapshot *cpu_physical_memory_snapshot_and_clear_dirty
|
||||
(ram_addr_t start, ram_addr_t length, unsigned client);
|
||||
(MemoryRegion *mr, hwaddr offset, hwaddr length, unsigned client);
|
||||
|
||||
bool cpu_physical_memory_snapshot_get_dirty(DirtyBitmapSnapshot *snap,
|
||||
ram_addr_t start,
|
||||
|
3
memory.c
3
memory.c
@ -2071,8 +2071,7 @@ DirtyBitmapSnapshot *memory_region_snapshot_and_clear_dirty(MemoryRegion *mr,
|
||||
{
|
||||
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);
|
||||
return cpu_physical_memory_snapshot_and_clear_dirty(mr, addr, size, client);
|
||||
}
|
||||
|
||||
bool memory_region_snapshot_get_dirty(MemoryRegion *mr, DirtyBitmapSnapshot *snap,
|
||||
|
Loading…
Reference in New Issue
Block a user