Subversion Repositories HelenOS

Rev

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
         */