Commit b4f0a316b5585b6aeca13bf9022e2ad3de8bafd3
1 parent
8508b89e
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
Showing
2 changed files
with
12 additions
and
1 deletions
exec.c
... | ... | @@ -1959,6 +1959,10 @@ static uint32_t unassigned_mem_readb(void *opaque, target_phys_addr_t addr) |
1959 | 1959 | #ifdef DEBUG_UNASSIGNED |
1960 | 1960 | printf("Unassigned mem read 0x%08x\n", (int)addr); |
1961 | 1961 | #endif |
1962 | +#ifdef TARGET_SPARC | |
1963 | + // Not enabled yet because of bugs in gdbstub etc. | |
1964 | + //raise_exception(TT_DATA_ACCESS); | |
1965 | +#endif | |
1962 | 1966 | return 0; |
1963 | 1967 | } |
1964 | 1968 | |
... | ... | @@ -1967,6 +1971,10 @@ static void unassigned_mem_writeb(void *opaque, target_phys_addr_t addr, uint32_ |
1967 | 1971 | #ifdef DEBUG_UNASSIGNED |
1968 | 1972 | printf("Unassigned mem write 0x%08x = 0x%x\n", (int)addr, val); |
1969 | 1973 | #endif |
1974 | +#ifdef TARGET_SPARC | |
1975 | + // Not enabled yet because of bugs in gdbstub etc. | |
1976 | + //raise_exception(TT_DATA_ACCESS); | |
1977 | +#endif | |
1970 | 1978 | } |
1971 | 1979 | |
1972 | 1980 | static CPUReadMemoryFunc *unassigned_mem_read[3] = { | ... | ... |
target-sparc/cpu.h
... | ... | @@ -40,6 +40,7 @@ |
40 | 40 | #define TT_DFAULT 0x09 |
41 | 41 | #define TT_TOVF 0x0a |
42 | 42 | #define TT_EXTINT 0x10 |
43 | +#define TT_DATA_ACCESS 0x29 | |
43 | 44 | #define TT_DIV_ZERO 0x2a |
44 | 45 | #define TT_NCP_INSN 0x24 |
45 | 46 | #define TT_TRAP 0x80 |
... | ... | @@ -55,7 +56,8 @@ |
55 | 56 | #define TT_DIV_ZERO 0x28 |
56 | 57 | #define TT_DFAULT 0x30 |
57 | 58 | #define TT_DMISS 0x31 |
58 | -#define TT_DPROT 0x32 | |
59 | +#define TT_DATA_ACCESS 0x32 | |
60 | +#define TT_DPROT 0x33 | |
59 | 61 | #define TT_UNALIGNED 0x34 |
60 | 62 | #define TT_PRIV_ACT 0x37 |
61 | 63 | #define TT_EXTINT 0x40 |
... | ... | @@ -287,6 +289,7 @@ void cpu_set_cwp(CPUSPARCState *env1, int new_cwp); |
287 | 289 | #endif |
288 | 290 | |
289 | 291 | int cpu_sparc_signal_handler(int host_signum, void *pinfo, void *puc); |
292 | +void raise_exception(int tt); | |
290 | 293 | |
291 | 294 | #include "cpu-all.h" |
292 | 295 | ... | ... |