Я читал об обработке прерываний и увидел, что ядро для поддержки множества аппаратных устройств с фиксированным количеством строк IRQ может выделить одну и ту же линию IRQ для многих аппаратных устройств, используя функцию request_irq.
Теперь это действительно не имеет смысла для меня, поскольку, насколько я знаю, каждое устройство статически выделяется для линии IRQ на аппаратном уровне, и на уровне программного обеспечения можно выполнить только сопоставление между линиями IRQ с соответствующими векторами. с использованием утилит контроллера PIC.
Редактировать (из-за комментария):
Возможно, это слишком большой аппаратный уровень, но я читал, что каждое устройство подключено к PIC через выходную линию, называемую линией IRQ. Ясно, что многие устройства могут быть подключены через одну и ту же выходную линию, но я не понимаю, как каждому устройству можно динамически распределить линию IRQ.
Может кто-нибудь объяснить мне, где моя ошибка?