Page 1 of 1

Interrupt 13: General Protection Fault

Posted: Mon Mar 16, 2009 6:21 am
by venk
Hello

I downloaded the tutorial on software interrupts.

I made an interrupt handler myself, and used it, I also made the default interrupt handler return using the iretd instruction.

But the default interrupt handler was called again and again. If I put an infinite loop in the default handler then it is called only once. This happens only if another interrupt is called, and it does not return to the calling function.

I also found out the interrupt no. by trial and error method. The interrupt was interrupt 13.

Please help me

Posted: Mon Mar 16, 2009 4:29 pm
by Andyhhp
This is most likely caused by you not returning correctly from the interrupt.

Specifically, if have a non-naked function, it doesnt redo the stack properly before returning.

I suggest you have a read of http://www.brokenthorn.com/forums/viewtopic.php?t=131 which is how I got around the problem.

Hope this helps,

~Andyhhp