/kernel/trunk/generic/include/interrupt.h |
---|
41,7 → 41,7 |
#endif |
extern iroutine exc_register(int n, const char *name, iroutine f); |
extern void exc_dispatch(int n, void *stack); |
extern void exc_dispatch(int n, istate_t *t); |
void exc_init(void); |
#endif |
/kernel/trunk/generic/include/typedefs.h |
---|
82,7 → 82,8 |
typedef struct cmd_arg cmd_arg_t; |
typedef struct cmd_info cmd_info_t; |
typedef void (* iroutine)(int n, void *stack); |
typedef struct istate istate_t; |
typedef void (* iroutine)(int n, istate_t *istate); |
typedef struct hash_table hash_table_t; |
typedef struct hash_table_operations hash_table_operations_t; |
/kernel/trunk/generic/src/interrupt/interrupt.c |
---|
71,15 → 71,15 |
* Called directly from the assembler code. |
* CPU is interrupts_disable()'d. |
*/ |
void exc_dispatch(int n, void *stack) |
void exc_dispatch(int n, istate_t *istate) |
{ |
ASSERT(n < IVT_ITEMS); |
exc_table[n].f(n + IVT_FIRST, stack); |
exc_table[n].f(n + IVT_FIRST, istate); |
} |
/** Default 'null' exception handler */ |
static void exc_undef(int n, void *stack) |
static void exc_undef(int n, istate_t *istate) |
{ |
panic("Unhandled exception %d.", n); |
} |
126,7 → 126,7 |
int i; |
for (i=0;i < IVT_ITEMS; i++) |
exc_register(i, "undef", exc_undef); |
exc_register(i, "undef", (iroutine) exc_undef); |
cmd_initialize(&exc_info); |
if (!cmd_register(&exc_info)) |