summaryrefslogtreecommitdiff
path: root/exec-all.h
diff options
context:
space:
mode:
authorblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2007-05-17 19:30:10 +0000
committerblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2007-05-17 19:30:10 +0000
commit6c36d3fa860b1dfa55de1e8248be6fffcd876f69 (patch)
treebb7df0c2a61f9094c1ad1c4d55ea6ce2dd1e8085 /exec-all.h
parent4edebb0e8e14a5b934114b5ff74cb86437bb2532 (diff)
downloadqemu-6c36d3fa860b1dfa55de1e8248be6fffcd876f69.tar.gz
Enable faults for unassigned memory accesses and unimplemented ASIs
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2824 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'exec-all.h')
-rw-r--r--exec-all.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/exec-all.h b/exec-all.h
index 2b9376930f..c6b7bd1986 100644
--- a/exec-all.h
+++ b/exec-all.h
@@ -593,7 +593,11 @@ static inline target_ulong get_phys_addr_code(CPUState *env, target_ulong addr)
}
pd = env->tlb_table[is_user][index].addr_code & ~TARGET_PAGE_MASK;
if (pd > IO_MEM_ROM && !(pd & IO_MEM_ROMD)) {
+#ifdef TARGET_SPARC
+ do_unassigned_access(addr, 0, 1, 0);
+#else
cpu_abort(env, "Trying to execute code outside RAM or ROM at 0x" TARGET_FMT_lx "\n", addr);
+#endif
}
return addr + env->tlb_table[is_user][index].addend - (unsigned long)phys_ram_base;
}