Очень хочется увидеть прерывания от платы Di32-5 фирмы Fastwel, которая сидит на шине ISA.
На плате есть регистр в который задаем линию прерываний, в биосе закрепляем эту линию за шиной ISA, и регистрируем свой обработчик на эту линию:
ret = request_irq(IRQ_NUM, (void*)interrupt_handler, IRQF_DISABLED, «DI_intrpt», NULL);
И для других плат этого было достаточно.
В примере, прилогающемся к плате, есть такая строчка:
// Unmask PC-interrupt
outportb(0x21,inp(0x21) & ~IRQMask); //IRQMask 0x20 - irq 5
И под DOC все замечательно работает, потому что после выполнения этой строчки высокий уровень, который стоит на шине на выбранной линии прерываний, становиться низким и прерывания возникают высоким уровнем.
Как бы провернуть это под Linux?