Rev 3906 | Rev 4137 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3906 | Rev 4132 | ||
|---|---|---|---|
| Line 41... | Line 41... | ||
| 41 | #include <cpu.h> |
41 | #include <cpu.h> |
| 42 | #include <arch/asm.h> |
42 | #include <arch/asm.h> |
| 43 | #include <mm/tlb.h> |
43 | #include <mm/tlb.h> |
| 44 | #include <mm/as.h> |
44 | #include <mm/as.h> |
| 45 | #include <arch.h> |
45 | #include <arch.h> |
| 46 | #include <symtab.h> |
- | |
| 47 | #include <arch/asm.h> |
46 | #include <arch/asm.h> |
| 48 | #include <proc/scheduler.h> |
47 | #include <proc/scheduler.h> |
| 49 | #include <proc/thread.h> |
48 | #include <proc/thread.h> |
| 50 | #include <proc/task.h> |
49 | #include <proc/task.h> |
| 51 | #include <synch/spinlock.h> |
50 | #include <synch/spinlock.h> |
| 52 | #include <arch/ddi/ddi.h> |
51 | #include <arch/ddi/ddi.h> |
| 53 | #include <interrupt.h> |
52 | #include <interrupt.h> |
| 54 | #include <ddi/irq.h> |
53 | #include <ddi/irq.h> |
| 55 | 54 | ||
| - | 55 | #ifdef CONFIG_SYMTAB |
|
| - | 56 | #include <symtab.h> |
|
| - | 57 | #endif |
|
| - | 58 | ||
| 56 | /* |
59 | /* |
| 57 | * Interrupt and exception dispatching. |
60 | * Interrupt and exception dispatching. |
| 58 | */ |
61 | */ |
| 59 | 62 | ||
| 60 | void (* disable_irqs_function)(uint16_t irqmask) = NULL; |
63 | void (* disable_irqs_function)(uint16_t irqmask) = NULL; |
| Line 64... | Line 67... | ||
| 64 | void decode_istate(int n, istate_t *istate) |
67 | void decode_istate(int n, istate_t *istate) |
| 65 | { |
68 | { |
| 66 | char *symbol; |
69 | char *symbol; |
| 67 | /* uint64_t *x = &istate->stack[0]; */ |
70 | /* uint64_t *x = &istate->stack[0]; */ |
| 68 | 71 | ||
| - | 72 | #ifdef CONFIG_SYMTAB |
|
| 69 | if (!(symbol = get_symtab_entry(istate->rip))) |
73 | if (!(symbol = get_symtab_entry(istate->rip))) |
| 70 | symbol = ""; |
74 | symbol = ""; |
| - | 75 | #else |
|
| - | 76 | symbol = ""; |
|
| - | 77 | #endif |
|
| 71 | 78 | ||
| 72 | printf("-----EXCEPTION(%d) OCCURED----- ( %s )\n", n, __func__); |
79 | printf("-----EXCEPTION(%d) OCCURED----- ( %s )\n", n, __func__); |
| 73 | printf("%%rip: %#llx (%s)\n", istate->rip, symbol); |
80 | printf("%%rip: %#llx (%s)\n", istate->rip, symbol); |
| 74 | printf("ERROR_WORD=%#llx\n", istate->error_word); |
81 | printf("ERROR_WORD=%#llx\n", istate->error_word); |
| 75 | printf("%%cs=%#llx, rflags=%#llx, %%cr0=%#llx\n", istate->cs, |
82 | printf("%%cs=%#llx, rflags=%#llx, %%cr0=%#llx\n", istate->cs, |