Rev 4339 | Rev 4345 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4339 | Rev 4343 | ||
|---|---|---|---|
| Line 75... | Line 75... | ||
| 75 | 75 | ||
| 76 | printf("%%eip: %#lx (%s)\n", istate->eip, symbol); |
76 | printf("%%eip: %#lx (%s)\n", istate->eip, symbol); |
| 77 | printf("ERROR_WORD=%#lx\n", istate->error_word); |
77 | printf("ERROR_WORD=%#lx\n", istate->error_word); |
| 78 | printf("%%cs=%#lx,flags=%#lx\n", istate->cs, istate->eflags); |
78 | printf("%%cs=%#lx,flags=%#lx\n", istate->cs, istate->eflags); |
| 79 | printf("%%eax=%#lx, %%ecx=%#lx, %%edx=%#lx, %%esp=%p\n", istate->eax, istate->ecx, istate->edx, &istate->stack[0]); |
79 | printf("%%eax=%#lx, %%ecx=%#lx, %%edx=%#lx, %%esp=%p\n", istate->eax, istate->ecx, istate->edx, &istate->stack[0]); |
| 80 | #ifdef CONFIG_DEBUG_ALLREGS |
- | |
| 81 | printf("%%esi=%#lx, %%edi=%#lx, %%ebp=%#lx, %%ebx=%#lx\n", istate->esi, istate->edi, istate->ebp, istate->ebx); |
- | |
| 82 | #endif |
- | |
| 83 | printf("stack: %#lx, %#lx, %#lx, %#lx\n", istate->stack[0], istate->stack[1], istate->stack[2], istate->stack[3]); |
80 | printf("stack: %#lx, %#lx, %#lx, %#lx\n", istate->stack[0], istate->stack[1], istate->stack[2], istate->stack[3]); |
| 84 | printf(" %#lx, %#lx, %#lx, %#lx\n", istate->stack[4], istate->stack[5], istate->stack[6], istate->stack[7]); |
81 | printf(" %#lx, %#lx, %#lx, %#lx\n", istate->stack[4], istate->stack[5], istate->stack[6], istate->stack[7]); |
| 85 | } |
82 | } |
| 86 | 83 | ||
| 87 | static void trap_virtual_eoi(void) |
84 | static void trap_virtual_eoi(void) |
| Line 189... | Line 186... | ||
| 189 | if (irq->preack) { |
186 | if (irq->preack) { |
| 190 | /* Send EOI before processing the interrupt */ |
187 | /* Send EOI before processing the interrupt */ |
| 191 | trap_virtual_eoi(); |
188 | trap_virtual_eoi(); |
| 192 | ack = true; |
189 | ack = true; |
| 193 | } |
190 | } |
| 194 | irq->handler(irq, irq->arg); |
191 | irq->handler(irq); |
| 195 | spinlock_unlock(&irq->lock); |
192 | spinlock_unlock(&irq->lock); |
| 196 | } else { |
193 | } else { |
| 197 | /* |
194 | /* |
| 198 | * Spurious interrupt. |
195 | * Spurious interrupt. |
| 199 | */ |
196 | */ |