mirror of https://github.com/xemu-project/xemu.git
memory: synchronize dirty bitmap before unmapping a range
When a range is being unmapped, ask accelerators (e.g. kvm) to synchronize the dirty bitmap to avoid losing information forever. Fixes grub2 screen update. Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
9510a48638
commit
39b796f28c
4
memory.c
4
memory.c
|
@ -245,6 +245,10 @@ static void as_memory_range_add(AddressSpace *as, FlatRange *fr)
|
||||||
|
|
||||||
static void as_memory_range_del(AddressSpace *as, FlatRange *fr)
|
static void as_memory_range_del(AddressSpace *as, FlatRange *fr)
|
||||||
{
|
{
|
||||||
|
if (fr->dirty_log_mask) {
|
||||||
|
cpu_physical_sync_dirty_bitmap(fr->addr.start,
|
||||||
|
fr->addr.start + fr->addr.size);
|
||||||
|
}
|
||||||
cpu_register_physical_memory(fr->addr.start, fr->addr.size,
|
cpu_register_physical_memory(fr->addr.start, fr->addr.size,
|
||||||
IO_MEM_UNASSIGNED);
|
IO_MEM_UNASSIGNED);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue