diff options
author | Avi Kivity <avi@redhat.com> | 2012-01-15 16:13:59 +0200 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2012-01-15 16:13:59 +0200 |
commit | 3fbffb628c001bd540dc9c1805bdf7aa8591da4d (patch) | |
tree | f761b3c9883d576b1a492ce8ce264733296160bc /kvm-all.c | |
parent | 2be276242135eac6e86be2a8259545e620c94107 (diff) | |
download | hqemu-3fbffb628c001bd540dc9c1805bdf7aa8591da4d.zip hqemu-3fbffb628c001bd540dc9c1805bdf7aa8591da4d.tar.gz |
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 <avi@redhat.com>
Diffstat (limited to 'kvm-all.c')
-rw-r--r-- | kvm-all.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -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); |