Rev 610 | Rev 1258 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 610 | Rev 958 | ||
|---|---|---|---|
| Line 72... | Line 72... | ||
| 72 | ipl_t interrupts_read(void) |
72 | ipl_t interrupts_read(void) |
| 73 | { |
73 | { |
| 74 | return cp0_status_read(); |
74 | return cp0_status_read(); |
| 75 | } |
75 | } |
| 76 | 76 | ||
| 77 | static void timer_exception(int n, void *stack) |
77 | static void timer_exception(int n, istate_t *istate) |
| 78 | { |
78 | { |
| 79 | cp0_compare_write(cp0_count_read() + cp0_compare_value); |
79 | cp0_compare_write(cp0_count_read() + cp0_compare_value); |
| 80 | clock(); |
80 | clock(); |
| 81 | } |
81 | } |
| 82 | 82 | ||
| 83 | static void swint0(int n, void *stack) |
83 | static void swint0(int n, istate_t *istate) |
| 84 | { |
84 | { |
| 85 | cp0_cause_write(cp0_cause_read() & ~(1 << 8)); /* clear SW0 interrupt */ |
85 | cp0_cause_write(cp0_cause_read() & ~(1 << 8)); /* clear SW0 interrupt */ |
| 86 | } |
86 | } |
| 87 | 87 | ||
| 88 | static void swint1(int n, void *stack) |
88 | static void swint1(int n, istate_t *istate) |
| 89 | { |
89 | { |
| 90 | cp0_cause_write(cp0_cause_read() & ~(1 << 9)); /* clear SW1 interrupt */ |
90 | cp0_cause_write(cp0_cause_read() & ~(1 << 9)); /* clear SW1 interrupt */ |
| 91 | } |
91 | } |
| 92 | 92 | ||
| 93 | /* Initialize basic tables for exception dispatching */ |
93 | /* Initialize basic tables for exception dispatching */ |