I've set up interrupts, exceptions, the PIT and the irq0 ISR. Interrupts and exceptions are working, PIC is remapped and only irq0 is unmasked. So far, so good...but when i enable interrupts, the handler for irq0 gets called only once (yes, I acknowledge the irq...).
There's no exception (and bochs doesn't display any error)...it simply hangs there after the first interrupt...
ISR for irq0:
Code: Select all
irq0:
cli
pushad
push ds
push es
push fs
push gs
mov ax, 0x10 ; Load the Kernel Data Segment descriptor!
mov ds, ax
mov es, ax
mov fs, ax
mov gs, ax
push eax
mov eax, irq0Handler
call eax
pop eax
pop gs
pop fs
pop es
pop ds
popad
iret
greetings, singularity