Page 1 of 1

PMode Interrupts/Coprocessor INT

Posted: Wed Mar 27, 2002 3:59 pm
by bchadwick01
 I have a two piece kernel, Assembly/C, that jmps to Pmode and sets up the IDT. The hardware IRQs get reassigned to INTs 0x20..0x2F, but when they are enabled, only IRQ 13  (coprocessor) shows up.  I made each IRQ print out a letter 0..F, and all I get are Ds, and lots of them. I'm thinking that this could be the clock, because it's so frequent, but I've checked my new vector assignments and they look good.
 Sadly no other IRQs are able to register, and masking all/none is unsuccessfull.
 If anyone has any ideas it would be great  :)
thanks
BC

Re: PMode Interrupts/Coprocessor INT

Posted: Wed Mar 27, 2002 6:58 pm
by Kernel Panic
Are you sure you tell PIC to enable all the IRQs? Write a zero (byte) to ports 0x20 and 0xA0, so that all the IRQs are enabled.
It's strange, though, that the coprocessor issues interrupts so frequently.. Are you sure it really isn't the clock? :)

Re: PMode Interrupts/Coprocessor INT

Posted: Thu Mar 28, 2002 8:51 am
by K.J.
Check out Chris Giese's OSD kernels:
http://www.execpc.com/~geezer/osd/code/osd.zip

K.J.

Re: PMode Interrupts/Coprocessor INT

Posted: Thu Mar 28, 2002 12:02 pm
by Bchadwick
Well, Thanks for your replies... it seems it was the clock after all, a mistake with allocating the Intel reserved Exceptions, put my IRQs directly after the Machine check Exception, which is 0xD (13) descriptors from the start of the IRQs in the table.  So the clock was being called to vector 0, when that was really vector 13. Thanks guys.

BC