On most systems, IRQ lines are shared. In any case, the interrupt architecture of various computer systems / motherboards is one of the biggest areas of difference that you will find. The kernel is designed, to some degree, to abstract-away a little bit of that nonsense, but it's still there.
You need either to know or to configure which hardware interrupt your device is going to throw, so that you can attach your first-level handler to the appropriate chain, then your handler must still poll the hardware to find out whether, in fact, your device is actually the one that's talking. (Think of it like the old telephone "party lines.")
Let the kernel do the dirty-work of passing control to your handler, since it might be a different mechanism for different hardware types. Also don't be concerned about precisely how your CPU-type deals with interruptions. Let the kernel give you the opportunity to respond, however it wants to do that.
Last edited by sundialsvcs; 10-24-2012 at 09:30 AM.