IRQ Failure
IRQ Failure
I recently remapped the PIC, and installed handlers for the interrupts. (basicly just print which interrupt it is). The problem is that the only irq that seems to fire is the clock (irq 0). (No its not a mapping problem because i tried it with no irq's masked ) what could the problem be? (yes i send EOI after the isr ).
Re:IRQ Failure
The only other IRQ that's likely to fire is 1, and that's when you press or release a key on the keyboard. The keyboard controller will only fire another IRQ 1 if you read the scan code using in(0x60).
Re:IRQ Failure
ok i see, do i have to initialize the keyboard to send the irq or is that the default. Also, will all the hardware be setup to send irq's or is there initialization for serial ports etc. ?
Re:IRQ Failure
no initialization is necessary. once a key is pressed(or released) irq0 fires. same for serial ports etc...
but im not sure if you disable the keyboard the irq will still fire..maybe Tim can help you here
but im not sure if you disable the keyboard the irq will still fire..maybe Tim can help you here
Re:IRQ Failure
Hardware will only fire an IRQ if it needs to. For the timer, this is when the interval expires. For the keyboard, this is when it's enabled and the user presses a key. For the floppy drive and IDE controllers, when the drive or disk has completed a command. For a network card, when the card is set up and a packet is sent or received.