Shared Interrupt Lines and Proving the Interrupt Was Yours
Several devices can be wired to the same interrupt line, so when it fires the kernel calls every handler registered for it, including yours, for events that were not yours. Your handler must read its own device's status register, decide whether this device actually raised anything, and say so. Handlers that assume the interrupt was theirs corrupt state on every unrelated interrupt, and handlers that never claim one cause the kernel to switch the line off entirely.
Questions this Concept answers
- Why must a handler on a shared line read its own device's status register before doing anything else?
This Concept is waiting for its first lesson!
Several devices can be wired to the same interrupt line, so when it fires the kernel calls every handler registered for it, including yours, for events that were not yours. Your handler must read its own device's status register, decide whether this device actually raised anything, and say so. Handlers that assume the interrupt was theirs corrupt state on every unrelated interrupt, and handlers that never claim one cause the kernel to switch the line off entirely.
Are you a teacher? Sign in to start contributing.
Sign In