Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
IRQ 12, if that is the one you are receiving, is the IRQ for a PS2 style mouse, and it has sent (atleast) one byte to the PS2's output buffer.
However, it looks like to me that you are getting an exception of 12, not an IRQ of 12. Exception 12 (decimal) is the GPF, or General Protect Fault exception.
This means that you have "stepped outside of your bounds".
Yes. Tell us if your arch ( x86_64?) , show us your GDT and TSS
int12 is stack fault exception. The spirits are telling me to check everything that can be related to stack.
Some information about your interrupt/exception handlers would help. You presumably have created handling routines and made IDT entries for each of them. Have you inspected these in a debugger to show that they contain the values you think they should?
If it's actually interrupt 12 (and not IRQ12 which corresponds to interrupt 0x74 or 0x2C), then you should have a good look at your bochs log, because it usually tells you exactly what is wrong in these cases.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]