From 6cc7e1d431078c1c4b9b6ff6157e2a91c0dd5477 Mon Sep 17 00:00:00 2001 From: mio Date: Sat, 21 Sep 2024 21:52:38 +0800 Subject: [PATCH] Also only reset if hooks are installed --- qemu/accel/tcg/translate-all.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/qemu/accel/tcg/translate-all.c b/qemu/accel/tcg/translate-all.c index 2486287b..17ceba08 100644 --- a/qemu/accel/tcg/translate-all.c +++ b/qemu/accel/tcg/translate-all.c @@ -1845,8 +1845,10 @@ TranslationBlock *tb_gen_code(CPUState *cpu, } /* Undoes tlb_set_dirty in notdirty_write. */ - tlb_reset_dirty_by_vaddr(cpu, pc & TARGET_PAGE_MASK, - (pc & ~TARGET_PAGE_MASK) + tb->size); + if (!(HOOK_EXISTS(cpu->uc, UC_HOOK_MEM_READ) || HOOK_EXISTS(cpu->uc, UC_HOOK_MEM_WRITE))) { + tlb_reset_dirty_by_vaddr(cpu, pc & TARGET_PAGE_MASK, + (pc & ~TARGET_PAGE_MASK) + tb->size); + } /* * No explicit memory barrier is required -- tb_link_page() makes the