@@ -3429,6 +3429,7 @@ static void invalidate_and_set_dirty(target_phys_addr_t addr,
/* set dirty bit */
cpu_physical_memory_set_dirty_flags(addr, (0xff & ~CODE_DIRTY_FLAG));
}
+ xen_modified_memory(addr, length);
}
void cpu_physical_memory_rw(target_phys_addr_t addr, uint8_t *buf,
@@ -19,6 +19,7 @@
#include "bitops.h"
#include "kvm.h"
#include <assert.h>
+#include "hw/xen.h"
#define WANT_EXEC_OBSOLETE
#include "exec-obsolete.h"
@@ -1077,6 +1078,7 @@ void memory_region_set_dirty(MemoryRegion *mr, target_phys_addr_t addr,
target_phys_addr_t size)
{
assert(mr->terminates);
+ xen_modified_memory(mr->ram_addr + addr, size);
return cpu_physical_memory_set_dirty_range(mr->ram_addr + addr, size, -1);
}
This patch add some calls to xen_modified_memory to notify Xen about dirtybits during migration. Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> --- exec.c | 1 + memory.c | 2 ++ 2 files changed, 3 insertions(+)