From 3fbffb628c001bd540dc9c1805bdf7aa8591da4d Mon Sep 17 00:00:00 2001 From: Avi Kivity Date: Sun, 15 Jan 2012 16:13:59 +0200 Subject: [PATCH] kvm: flush the dirty log when unregistering a slot Otherwise, the dirty log information is lost in the kernel forever. Fixes opensuse-12.1 boot screen, which changes the vga windows rapidly. Signed-off-by: Avi Kivity --- kvm-all.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kvm-all.c b/kvm-all.c index 3174f42a37..2cc4562921 100644 --- a/kvm-all.c +++ b/kvm-all.c @@ -566,6 +566,10 @@ static void kvm_set_phys_mem(MemoryRegionSection *section, bool add) old = *mem; + if (mem->flags & KVM_MEM_LOG_DIRTY_PAGES) { + kvm_physical_sync_dirty_bitmap(section); + } + /* unregister the overlapping slot */ mem->memory_size = 0; err = kvm_set_user_memory_region(s, mem);