про модули ядра 2.4 и 2.6
Добавлено: 21 май 2010, 09:55
Есть PCI-ная железка. Под нее на 2.4 был написан модуль. В момент загрузки модуля читалось конф.пространство этой железки, откуда добывали адреса портов, памяти, и номер прерывания, необходимые этой железке. Все это благополучно захватывалось и работало.
При переходе на ядро 2.6 столкнулись с проблемой: номер прерывания из конф. пространства читается не верный. Точнее не тот, что сама система определяет для этой платы.
В итоге обработчик вешаем на одно прерывание, а в реале происходит другое.
Да, порты и память продолжают определяться правильно.
Как под ядром 2.6 модуль может узнать IRQ железки, чтобы захватить его, повесить на него обработчик и далее с ним работать?
т.е. надо в самом модуле определить номер прерывания PCI-устройства.
При переходе на ядро 2.6 столкнулись с проблемой: номер прерывания из конф. пространства читается не верный. Точнее не тот, что сама система определяет для этой платы.
В итоге обработчик вешаем на одно прерывание, а в реале происходит другое.
Да, порты и память продолжают определяться правильно.
Как под ядром 2.6 модуль может узнать IRQ железки, чтобы захватить его, повесить на него обработчик и далее с ним работать?
т.е. надо в самом модуле определить номер прерывания PCI-устройства.