[Solved]Hardware IRQs not fired

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.
Post Reply
melgmry0101b
Member
Member
Posts: 109
Joined: Wed Nov 10, 2010 10:49 am

[Solved]Hardware IRQs not fired

Post by melgmry0101b »

Hi everyone :),
I was working on a keyboard driver.
I completed the handler then i installed it into the IDT.
In the testing when i press any key , nothing happen !.
I returned again and i tried to setup another hardware , and also the same thing <nothing happen!>.
I tested the IDT by firing a software interrupt like <int 0x80> , i found that it is running and also the CPU exceptions are running.
I tested the PIC driver and i got the IMR , i found that all hardware IRQs are enabled (the IMR for the Mater PIC = 00000000 and the slave = 00000000).
I re-read the documents and the tutorials , i found that i am right , but the hardware IRQs cannot fire.
Can anyone help me ?
------------------------------
Thanks in advance :)
Last edited by melgmry0101b on Sun Oct 30, 2011 1:24 am, edited 1 time in total.
User avatar
Velko
Member
Member
Posts: 153
Joined: Fri Oct 03, 2008 4:13 am
Location: Ogre, Latvia, EU

Re: Hardware IRQs not fired

Post by Velko »

Is IF bit set in FLAGS register? Did you execute sti instruction? You never mentioned that.
If something looks overcomplicated, most likely it is.
gerryg400
Member
Member
Posts: 1801
Joined: Thu Mar 25, 2010 11:26 pm
Location: Melbourne, Australia

Re: Hardware IRQs not fired

Post by gerryg400 »

Did you check your PIC initialisation code ? Or perhaps the PIC is waiting for EOI already ?
If a trainstation is where trains stop, what is a workstation ?
melgmry0101b
Member
Member
Posts: 109
Joined: Wed Nov 10, 2010 10:49 am

Re: Hardware IRQs not fired

Post by melgmry0101b »

Velko wrote:Is IF bit set in FLAGS register? Did you execute sti instruction? You never mentioned that.
Yes , i am using STI and the IF is set.
gerryg400 wrote:Did you check your PIC initialisation code ? Perhaps the PIC is waiting for EOI already ?
I sent EOI after initialization to the master PIC and the slave one and nothing happened.
melgmry0101b
Member
Member
Posts: 109
Joined: Wed Nov 10, 2010 10:49 am

Re: Hardware IRQs not fired

Post by melgmry0101b »

OK , I found that IRR is 0x01 and ISR is 0x01
i sent EOI to empty them and leave the other hardware interrupts to fire, but i couldn't empty them.
Can anyone tell me how to edit them , or what should i do to make it leave the hardware interrupts?
------
Thanks in advance
melgmry0101b
Member
Member
Posts: 109
Joined: Wed Nov 10, 2010 10:49 am

Re: Hardware IRQs not fired

Post by melgmry0101b »

OK , i have solved it , the timer was stopping the other IRQs from launching :)
and thank you for all your replies.
Post Reply