Commit e19e4efeaa250e269b491f3a04e04a35831d313a
1 parent
477b24ef
Fix MMU miss traps
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4880 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
2 changed files
with
4 additions
and
4 deletions
target-sparc/cpu.h
| @@ -50,7 +50,6 @@ | @@ -50,7 +50,6 @@ | ||
| 50 | #define TT_TRAP 0x80 | 50 | #define TT_TRAP 0x80 |
| 51 | #else | 51 | #else |
| 52 | #define TT_TFAULT 0x08 | 52 | #define TT_TFAULT 0x08 |
| 53 | -#define TT_TMISS 0x09 | ||
| 54 | #define TT_CODE_ACCESS 0x0a | 53 | #define TT_CODE_ACCESS 0x0a |
| 55 | #define TT_ILL_INSN 0x10 | 54 | #define TT_ILL_INSN 0x10 |
| 56 | #define TT_UNIMP_FLUSH TT_ILL_INSN | 55 | #define TT_UNIMP_FLUSH TT_ILL_INSN |
| @@ -61,12 +60,13 @@ | @@ -61,12 +60,13 @@ | ||
| 61 | #define TT_CLRWIN 0x24 | 60 | #define TT_CLRWIN 0x24 |
| 62 | #define TT_DIV_ZERO 0x28 | 61 | #define TT_DIV_ZERO 0x28 |
| 63 | #define TT_DFAULT 0x30 | 62 | #define TT_DFAULT 0x30 |
| 64 | -#define TT_DMISS 0x31 | ||
| 65 | #define TT_DATA_ACCESS 0x32 | 63 | #define TT_DATA_ACCESS 0x32 |
| 66 | #define TT_DPROT 0x33 | 64 | #define TT_DPROT 0x33 |
| 67 | #define TT_UNALIGNED 0x34 | 65 | #define TT_UNALIGNED 0x34 |
| 68 | #define TT_PRIV_ACT 0x37 | 66 | #define TT_PRIV_ACT 0x37 |
| 69 | #define TT_EXTINT 0x40 | 67 | #define TT_EXTINT 0x40 |
| 68 | +#define TT_TMISS 0x64 | ||
| 69 | +#define TT_DMISS 0x68 | ||
| 70 | #define TT_SPILL 0x80 | 70 | #define TT_SPILL 0x80 |
| 71 | #define TT_FILL 0xc0 | 71 | #define TT_FILL 0xc0 |
| 72 | #define TT_WOTHER 0x10 | 72 | #define TT_WOTHER 0x10 |
target-sparc/helper.c
| @@ -655,7 +655,7 @@ target_phys_addr_t cpu_get_phys_page_debug(CPUState *env, target_ulong addr) | @@ -655,7 +655,7 @@ target_phys_addr_t cpu_get_phys_page_debug(CPUState *env, target_ulong addr) | ||
| 655 | 655 | ||
| 656 | #ifdef TARGET_SPARC64 | 656 | #ifdef TARGET_SPARC64 |
| 657 | #ifdef DEBUG_PCALL | 657 | #ifdef DEBUG_PCALL |
| 658 | -static const char * const excp_names[0x50] = { | 658 | +static const char * const excp_names[0x80] = { |
| 659 | [TT_TFAULT] = "Instruction Access Fault", | 659 | [TT_TFAULT] = "Instruction Access Fault", |
| 660 | [TT_TMISS] = "Instruction Access MMU Miss", | 660 | [TT_TMISS] = "Instruction Access MMU Miss", |
| 661 | [TT_CODE_ACCESS] = "Instruction Access Error", | 661 | [TT_CODE_ACCESS] = "Instruction Access Error", |
| @@ -699,7 +699,7 @@ void do_interrupt(CPUState *env) | @@ -699,7 +699,7 @@ void do_interrupt(CPUState *env) | ||
| 699 | static int count; | 699 | static int count; |
| 700 | const char *name; | 700 | const char *name; |
| 701 | 701 | ||
| 702 | - if (intno < 0 || intno >= 0x180 || (intno > 0x4f && intno < 0x80)) | 702 | + if (intno < 0 || intno >= 0x180) |
| 703 | name = "Unknown"; | 703 | name = "Unknown"; |
| 704 | else if (intno >= 0x100) | 704 | else if (intno >= 0x100) |
| 705 | name = "Trap Instruction"; | 705 | name = "Trap Instruction"; |