Patchwork [V3,4/5] exec, memory: Call to xen_modified_memory.

login
register
mail settings
Submitter Anthony PERARD
Date Sept. 20, 2012, 11:12 a.m.
Message ID <1348139574-23324-5-git-send-email-anthony.perard@citrix.com>
Download mbox | patch
Permalink /patch/185376/
State New
Headers show

Comments

Anthony PERARD - Sept. 20, 2012, 11:12 a.m.
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(+)

Patch

diff --git a/exec.c b/exec.c
index 209ac1c..844a73c 100644
--- a/exec.c
+++ b/exec.c
@@ -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,
diff --git a/memory.c b/memory.c
index 4f3ade0..015c544 100644
--- a/memory.c
+++ b/memory.c
@@ -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);
 }