aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2007-05-06 17:59:24 +0000
committerblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2007-05-06 17:59:24 +0000
commitb4f0a316b5585b6aeca13bf9022e2ad3de8bafd3 (patch)
treee2295fdcfad266406fb6a7d93a0742691785e445
parent8508b89e366906ec4f1b15fdd2e9ce5fab2b1bd6 (diff)
Report unassigned memory access to CPU (not enabled yet)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2776 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--exec.c8
-rw-r--r--target-sparc/cpu.h5
2 files changed, 12 insertions, 1 deletions
diff --git a/exec.c b/exec.c
index 084b84409b..4261dc06b1 100644
--- a/exec.c
+++ b/exec.c
@@ -1959,6 +1959,10 @@ static uint32_t unassigned_mem_readb(void *opaque, target_phys_addr_t addr)
#ifdef DEBUG_UNASSIGNED
printf("Unassigned mem read 0x%08x\n", (int)addr);
#endif
+#ifdef TARGET_SPARC
+ // Not enabled yet because of bugs in gdbstub etc.
+ //raise_exception(TT_DATA_ACCESS);
+#endif
return 0;
}
@@ -1967,6 +1971,10 @@ static void unassigned_mem_writeb(void *opaque, target_phys_addr_t addr, uint32_
#ifdef DEBUG_UNASSIGNED
printf("Unassigned mem write 0x%08x = 0x%x\n", (int)addr, val);
#endif
+#ifdef TARGET_SPARC
+ // Not enabled yet because of bugs in gdbstub etc.
+ //raise_exception(TT_DATA_ACCESS);
+#endif
}
static CPUReadMemoryFunc *unassigned_mem_read[3] = {
diff --git a/target-sparc/cpu.h b/target-sparc/cpu.h
index f3f872ff72..91ed11fd05 100644
--- a/target-sparc/cpu.h
+++ b/target-sparc/cpu.h
@@ -40,6 +40,7 @@
#define TT_DFAULT 0x09
#define TT_TOVF 0x0a
#define TT_EXTINT 0x10
+#define TT_DATA_ACCESS 0x29
#define TT_DIV_ZERO 0x2a
#define TT_NCP_INSN 0x24
#define TT_TRAP 0x80
@@ -55,7 +56,8 @@
#define TT_DIV_ZERO 0x28
#define TT_DFAULT 0x30
#define TT_DMISS 0x31
-#define TT_DPROT 0x32
+#define TT_DATA_ACCESS 0x32
+#define TT_DPROT 0x33
#define TT_UNALIGNED 0x34
#define TT_PRIV_ACT 0x37
#define TT_EXTINT 0x40
@@ -287,6 +289,7 @@ void cpu_set_cwp(CPUSPARCState *env1, int new_cwp);
#endif
int cpu_sparc_signal_handler(int host_signum, void *pinfo, void *puc);
+void raise_exception(int tt);
#include "cpu-all.h"