aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-08-21 19:15:23 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-08-21 19:15:23 +0000
commitfc8dc06020f91d29754b5982bca22097ff60ce19 (patch)
tree92b0ac0244dd87b6b8ae128c054473388d31e8be
parentf23db1692be35affcd4dc00a9c44caebb8831d4f (diff)
kqemu_set_notdirty() opt
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1560 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--kqemu.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kqemu.c b/kqemu.c
index 9a0f05b171..5b750edd22 100644
--- a/kqemu.c
+++ b/kqemu.c
@@ -237,6 +237,9 @@ void kqemu_set_notdirty(CPUState *env, ram_addr_t ram_addr)
fprintf(logfile, "kqemu_set_notdirty: addr=%08lx\n", ram_addr);
}
#endif
+ /* we only track transitions to dirty state */
+ if (phys_ram_dirty[ram_addr >> TARGET_PAGE_BITS] != 0xff)
+ return;
if (nb_ram_pages_to_update >= KQEMU_MAX_RAM_PAGES_TO_UPDATE)
nb_ram_pages_to_update = KQEMU_RAM_PAGES_UPDATE_ALL;
else