Für eine gemeinsame Interrupt-Leitung kann ich mehrere Interrupt-Handler haben. Der Kernel ruft nacheinander alle Handler für diese bestimmte gemeinsam genutzte Leitung auf. Soweit ich weiß, informiert jeder Handler beim Aufruf den Kernel, ob der richtige Handler aufgerufen wurde oder nicht.Wie finde ich für eine gemeinsame Interrupt-Leitung welchen Interrupt-Handler zu verwenden?
Meine Fragen ist, wie ist das bestimmt, gibt es eine Möglichkeit, überprüft ein Memory-Mapped-Register, das den Status eines bestimmten Geräts oder gibt es einen anderen Hardware-Mechanismus? Wie weiß der Handler, dass das entsprechende Gerät den Interrupt ausgelöst hat oder nicht?
Wird diese Information über den Interrupt-Controller weitergeleitet, der zwischen den Geräten und der Prozessor-Interrupt-Leitung liegt?
http://unix.stackexchange.com/questions/47306/how-does-the-linux-kernel-handle-shared-irqs –