kvm: Rework dirty bitmap synchronization

Extend kvm_physical_sync_dirty_bitmap() so that is can sync across
multiple slots. Useful for updating the whole dirty log during
migration. Moreover, properly pass down errors the whole call chain.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Jan Kiszka 2009-05-01 20:52:47 +02:00 committed by Anthony Liguori
parent 62518b8b1d
commit 151f7749f2
4 changed files with 56 additions and 40 deletions

8
exec.c
View file

@ -1931,10 +1931,14 @@ int cpu_physical_memory_get_dirty_tracking(void)
return in_migration;
}
void cpu_physical_sync_dirty_bitmap(target_phys_addr_t start_addr, target_phys_addr_t end_addr)
int cpu_physical_sync_dirty_bitmap(target_phys_addr_t start_addr,
target_phys_addr_t end_addr)
{
int ret = 0;
if (kvm_enabled())
kvm_physical_sync_dirty_bitmap(start_addr, end_addr);
ret = kvm_physical_sync_dirty_bitmap(start_addr, end_addr);
return ret;
}
static inline void tlb_update_dirty(CPUTLBEntry *tlb_entry)