summaryrefslogtreecommitdiff
path: root/exec-all.h
diff options
context:
space:
mode:
Diffstat (limited to 'exec-all.h')
-rw-r--r--exec-all.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/exec-all.h b/exec-all.h
index bc16be11aa..934808f10c 100644
--- a/exec-all.h
+++ b/exec-all.h
@@ -578,7 +578,13 @@ static inline target_ulong get_phys_addr_code(CPUState *env, target_ulong addr)
#endif
if (__builtin_expect(env->tlb_read[is_user][index].address !=
(addr & TARGET_PAGE_MASK), 0)) {
+#if defined (TARGET_PPC)
+ env->access_type = ACCESS_CODE;
+ ldub_code((void *)addr);
+ env->access_type = ACCESS_INT;
+#else
ldub_code((void *)addr);
+#endif
}
return addr + env->tlb_read[is_user][index].addend - (unsigned long)phys_ram_base;
}