Rev 1769 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1769 | Rev 1780 | ||
---|---|---|---|
Line 93... | Line 93... | ||
93 | panic("unhandled exception %s\n", exctable[n]); |
93 | panic("unhandled exception %s\n", exctable[n]); |
94 | } |
94 | } |
95 | 95 | ||
96 | static void reserved_instr_exception(int n, istate_t *istate) |
96 | static void reserved_instr_exception(int n, istate_t *istate) |
97 | { |
97 | { |
98 | if (*((__u32 *)istate->epc) == 0x7c03e83b) { |
98 | if (*((uint32_t *)istate->epc) == 0x7c03e83b) { |
99 | ASSERT(THREAD); |
99 | ASSERT(THREAD); |
100 | istate->epc += 4; |
100 | istate->epc += 4; |
101 | istate->v1 = istate->k1; |
101 | istate->v1 = istate->k1; |
102 | } else |
102 | } else |
103 | unhandled_exception(n, istate); |
103 | unhandled_exception(n, istate); |
Line 137... | Line 137... | ||
137 | } |
137 | } |
138 | #endif |
138 | #endif |
139 | 139 | ||
140 | static void interrupt_exception(int n, istate_t *istate) |
140 | static void interrupt_exception(int n, istate_t *istate) |
141 | { |
141 | { |
142 | __u32 cause; |
142 | uint32_t cause; |
143 | int i; |
143 | int i; |
144 | 144 | ||
145 | /* decode interrupt number and process the interrupt */ |
145 | /* decode interrupt number and process the interrupt */ |
146 | cause = (cp0_cause_read() >> 8) &0xff; |
146 | cause = (cp0_cause_read() >> 8) &0xff; |
147 | 147 |