aboutsummaryrefslogtreecommitdiff
path: root/exec-all.h
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-04-12 20:39:29 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-04-12 20:39:29 +0000
commita541f297a37e64673aac52abc858e0904e316b48 (patch)
treef0de0d033bf3ed8b6e29a507b1e5c4fc540e575f /exec-all.h
parentdf475d18d890572b8456ebff327bb9debee6289a (diff)
PowerPC system emulation fixes (Jocelyn Mayer)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@722 c046a42c-6fe2-441c-8c8c-71466251a162
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;
}