@@ -3394,6 +3394,7 @@ static void set_dirty_helper(target_phys_addr_t addr, target_phys_addr_t length)
/* 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"
@@ -1085,6 +1086,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(+), 0 deletions(-)