Rev 1100 | Rev 1221 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1100 | Rev 1196 | ||
---|---|---|---|
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 98... | Line 98... | ||
98 | asm |
98 | asm |
99 | ( |
99 | ( |
100 | "stmxcsr %0;\n" |
100 | "stmxcsr %0;\n" |
101 | :"=m"(mxcsr) |
101 | :"=m"(mxcsr) |
102 | ); |
102 | ); |
103 | printf("MXCSR: %X\n",(__native)(mxcsr)); |
103 | printf("MXCSR: %#zX\n",(__native)(mxcsr)); |
104 | panic("SIMD FP exception(19)\n"); |
104 | panic("SIMD FP exception(19)\n"); |
105 | } |
105 | } |
106 | 106 | ||
107 | void nm_fault(int n, istate_t *istate) |
107 | void nm_fault(int n, istate_t *istate) |
108 | { |
108 | { |
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) |