Subversion Repositories HelenOS-historic

Rev

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