aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnthony PERARD <anthony.perard@citrix.com>2012-10-03 13:49:22 +0000
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>2012-10-03 13:49:22 +0000
commite226939de5814527a21396903b08c3d0ed989558 (patch)
treebf7f5a5fa5d0a8dabbc91758156ed2773d9933ff
parent51d7a9eb2b64e787c90bea1027308087eac22065 (diff)
downloadvirtio-rng-e226939de5814527a21396903b08c3d0ed989558.tar.gz
exec, memory: Call to xen_modified_memory.
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> Reviewed-by: Avi Kivity <avi@redhat.com>
-rw-r--r--exec-obsolete.h2
-rw-r--r--exec.c1
2 files changed, 3 insertions, 0 deletions
diff --git a/exec-obsolete.h b/exec-obsolete.h
index c09925610d0..286e2f75e1a 100644
--- a/exec-obsolete.h
+++ b/exec-obsolete.h
@@ -24,6 +24,7 @@
#endif
#ifndef CONFIG_USER_ONLY
+#include "hw/xen.h"
ram_addr_t qemu_ram_alloc_from_ptr(ram_addr_t size, void *host,
MemoryRegion *mr);
@@ -111,6 +112,7 @@ static inline void cpu_physical_memory_set_dirty_range(ram_addr_t start,
for (addr = start; addr < end; addr += TARGET_PAGE_SIZE) {
cpu_physical_memory_set_dirty_flags(addr, dirty_flags);
}
+ xen_modified_memory(addr, length);
}
static inline void cpu_physical_memory_mask_dirty_range(ram_addr_t start,
diff --git a/exec.c b/exec.c
index 366684cd78c..1114a0932b1 100644
--- a/exec.c
+++ b/exec.c
@@ -3427,6 +3427,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,