The idea of Chained IRQ Handlers

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
User avatar
XCHG
Member
Member
Posts: 416
Joined: Sat Nov 25, 2006 3:55 am
Location: Wisconsin
Contact:

The idea of Chained IRQ Handlers

Post by XCHG »

I recently coded some procedures in my kernel that allow individual procedures to register themselves as Extra IRQ Handlers. So for example IRQ 3 can be handled by more than 1 procedure which is the actual IRQ3 handler. I was wondering if this might bring the system down later or whether it is a good or a bad idea. I needed it so I designed it. I don't know if there are other ways around this problem so I'd appreciate it if you could share your thoughts on this matter.
On the field with sword and shield amidst the din of dying of men's wails. War is waged and the battle will rage until only the righteous prevails.
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Post by Combuster »

If you have shared IRQs, the common approach is to have one driver hooked up to it, which in turn invoked all the (neccessary) handlers.
"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 ]
User avatar
XCHG
Member
Member
Posts: 416
Joined: Sat Nov 25, 2006 3:55 am
Location: Wisconsin
Contact:

Post by XCHG »

Right now I have at least one procedure for each IRQ that handles the IRQs. Each of those procedures can allow the chained procedures to be executed or not. So there is at least one handler per IRQ. That must be advantageous for handling shared IRQs right?
On the field with sword and shield amidst the din of dying of men's wails. War is waged and the battle will rage until only the righteous prevails.
Post Reply