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