diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c index 68b252cb8e8d55a17ce0fe4c1db44fa89012747c..e87848a5e25abac2d6cb870b2516683fa9bda364 100644 --- a/accel/tcg/user-exec.c +++ b/accel/tcg/user-exec.c @@ -794,7 +794,7 @@ static int probe_access_internal(CPUArchState *env, vaddr addr, if (guest_addr_valid_untagged(addr)) { int page_flags = page_get_flags(addr); if (page_flags & acc_flag) { - if ((acc_flag == PAGE_READ || acc_flag == PAGE_WRITE) + if (access_type != MMU_INST_FETCH && cpu_plugin_mem_cbs_enabled(env_cpu(env))) { return TLB_MMIO; }