Rev 1196 | Rev 1256 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1196 | Rev 1221 | ||
|---|---|---|---|
| Line 59... | Line 59... | ||
| 59 | if (CPU) |
59 | if (CPU) |
| 60 | printf("----------------EXCEPTION OCCURED (cpu%d)----------------\n", CPU->id); |
60 | printf("----------------EXCEPTION OCCURED (cpu%d)----------------\n", CPU->id); |
| 61 | else |
61 | else |
| 62 | printf("----------------EXCEPTION OCCURED----------------\n"); |
62 | printf("----------------EXCEPTION OCCURED----------------\n"); |
| 63 | 63 | ||
| 64 | printf("%%eip: %#X (%s)\n",istate->eip,symbol); |
64 | printf("%%eip: %#x (%s)\n",istate->eip,symbol); |
| 65 | printf("ERROR_WORD=%#X\n", istate->error_word); |
65 | printf("ERROR_WORD=%#x\n", istate->error_word); |
| 66 | printf("%%cs=%#X,flags=%#X\n", istate->cs, istate->eflags); |
66 | printf("%%cs=%#x,flags=%#x\n", istate->cs, istate->eflags); |
| 67 | printf("%%eax=%#X, %%ecx=%#X, %%edx=%#X, %%esp=%#X\n", istate->eax,istate->ecx,istate->edx,&istate->stack[0]); |
67 | printf("%%eax=%#x, %%ecx=%#x, %%edx=%#x, %%esp=%#x\n", istate->eax,istate->ecx,istate->edx,&istate->stack[0]); |
| 68 | #ifdef CONFIG_DEBUG_ALLREGS |
68 | #ifdef CONFIG_DEBUG_ALLREGS |
| 69 | printf("%%esi=%#X, %%edi=%#X, %%ebp=%#X, %%ebx=%#X\n", istate->esi,istate->edi,istate->ebp,istate->ebx); |
69 | printf("%%esi=%#x, %%edi=%#x, %%ebp=%#x, %%ebx=%#x\n", istate->esi,istate->edi,istate->ebp,istate->ebx); |
| 70 | #endif |
70 | #endif |
| 71 | printf("stack: %#X, %#X, %#X, %#X\n", istate->stack[0], istate->stack[1], istate->stack[2], istate->stack[3]); |
71 | printf("stack: %#x, %#x, %#x, %#x\n", istate->stack[0], istate->stack[1], istate->stack[2], istate->stack[3]); |
| 72 | printf(" %#X, %#X, %#X, %#X\n", istate->stack[4], istate->stack[5], istate->stack[6], istate->stack[7]); |
72 | printf(" %#x, %#x, %#x, %#x\n", istate->stack[4], istate->stack[5], istate->stack[6], istate->stack[7]); |
| 73 | } |
73 | } |
| 74 | 74 | ||
| 75 | void null_interrupt(int n, istate_t *istate) |
75 | void null_interrupt(int n, istate_t *istate) |
| 76 | { |
76 | { |
| 77 | PRINT_INFO_ERRCODE(istate); |
77 | PRINT_INFO_ERRCODE(istate); |
| Line 118... | Line 118... | ||
| 118 | __address page; |
118 | __address page; |
| 119 | 119 | ||
| 120 | page = read_cr2(); |
120 | page = read_cr2(); |
| 121 | if (!as_page_fault(page)) { |
121 | if (!as_page_fault(page)) { |
| 122 | PRINT_INFO_ERRCODE(istate); |
122 | PRINT_INFO_ERRCODE(istate); |
| 123 | printf("page fault address: %#X\n", page); |
123 | printf("page fault address: %#x\n", page); |
| 124 | panic("page fault\n"); |
124 | panic("page fault\n"); |
| 125 | } |
125 | } |
| 126 | } |
126 | } |
| 127 | 127 | ||
| 128 | void syscall(int n, istate_t *istate) |
128 | void syscall(int n, istate_t *istate) |