Changes in kernel/arch/ia32/src/interrupt.c [98000fb:a000878c] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/src/interrupt.c
r98000fb ra000878c 53 53 #include <ddi/irq.h> 54 54 #include <symtab.h> 55 #include <stacktrace.h> 55 56 56 57 /* … … 64 65 void decode_istate(istate_t *istate) 65 66 { 66 char *symbol; 67 68 symbol = symtab_fmt_name_lookup(istate->eip); 69 67 const char *symbol = symtab_fmt_name_lookup(istate->eip); 68 70 69 if (CPU) 71 70 printf("----------------EXCEPTION OCCURED (cpu%u)----------------\n", CPU->id); 72 71 else 73 72 printf("----------------EXCEPTION OCCURED----------------\n"); 74 73 75 74 printf("%%eip: %#lx (%s)\n", istate->eip, symbol); 76 75 printf("ERROR_WORD=%#lx\n", istate->error_word); … … 79 78 printf("stack: %#lx, %#lx, %#lx, %#lx\n", istate->stack[0], istate->stack[1], istate->stack[2], istate->stack[3]); 80 79 printf(" %#lx, %#lx, %#lx, %#lx\n", istate->stack[4], istate->stack[5], istate->stack[6], istate->stack[7]); 80 81 stack_trace_istate(istate); 81 82 } 82 83 … … 96 97 decode_istate(istate); 97 98 panic("Unserviced interrupt: %d.", n); 99 } 100 101 static void de_fault(int n, istate_t *istate) 102 { 103 fault_if_from_uspace(istate, "Divide error."); 104 105 decode_istate(istate); 106 panic("Divide error."); 98 107 } 99 108 … … 215 224 } 216 225 226 exc_register(0, "de_fault", (iroutine) de_fault); 217 227 exc_register(7, "nm_fault", (iroutine) nm_fault); 218 228 exc_register(12, "ss_fault", (iroutine) ss_fault);
Note:
See TracChangeset
for help on using the changeset viewer.