return find_next_bit(bitmap, size, start);
}
-static void migration_clear_memory_region_dirty_bitmap(RAMState *rs,
- RAMBlock *rb,
+static void migration_clear_memory_region_dirty_bitmap(RAMBlock *rb,
unsigned long page)
{
uint8_t shift;
}
static void
-migration_clear_memory_region_dirty_bitmap_range(RAMState *rs,
- RAMBlock *rb,
+migration_clear_memory_region_dirty_bitmap_range(RAMBlock *rb,
unsigned long start,
unsigned long npages)
{
* exclusive.
*/
for (i = chunk_start; i < chunk_end; i += chunk_pages) {
- migration_clear_memory_region_dirty_bitmap(rs, rb, i);
+ migration_clear_memory_region_dirty_bitmap(rb, i);
}
}
* the page in the chunk we clear the remote dirty bitmap for all.
* Clearing it earlier won't be a problem, but too late will.
*/
- migration_clear_memory_region_dirty_bitmap(rs, rb, page);
+ migration_clear_memory_region_dirty_bitmap(rb, page);
ret = test_and_clear_bit(page, rb->bmap);
if (ret) {
* are initially set. Otherwise those skipped pages will be sent in
* the next round after syncing from the memory region bitmap.
*/
- migration_clear_memory_region_dirty_bitmap_range(ram_state, block,
- start, npages);
+ migration_clear_memory_region_dirty_bitmap_range(block, start, npages);
ram_state->migration_dirty_pages -=
bitmap_count_one_with_offset(block->bmap, start, npages);
bitmap_clear(block->bmap, start, npages);