Никто не подскажет, можно ли обрабатывать аппаратные прерывания, не влезая в ядро?
Как работать с портами я уже разобрался
>Никто не подскажет, можно ли обрабатывать аппаратные прерывания, не влезая в ядро?
>
>Как работать с портами я уже разобралсяуже обсуждалось -> www.opennet.ru/search.shtml
>>Никто не подскажет, можно ли обрабатывать аппаратные прерывания, не влезая в ядро?
>>
>>Как работать с портами я уже разобрался
>
>уже обсуждалось -> www.opennet.ru/search.shtml
Сорри, может это и обсуждалось, но по поиску выдался очень большой список, может кто на память поннит или какую-то ассоциацию для поиска, а?
А что принципиально это длать не в ядре? Может конечно не прямо в ядре, но в режиме ядра? Интересно процесс с uid=gid=0 может просто настраивать IRQ или там GDT, т.е. взять да на асме написать... да под root'ом!
Хотел бы на C без асма, может где нить есть ссылка на подобный пример, т.е. программа сама бы обрабатывала прерывания
А система-то какая?
>А система-то какая?
Вообще задача чисто системного программирования, те не смотря на всю извращенность своей программерской фантазии не могу придумать ничего вразумительного. Очивидный способ - модуль ядра, драйвер, либо просто грязный хак ядра. Надеюсь, что не сильно тебя огорчил - на уровне пользователя обрабатывать IRQ... даже под ДОС морально извращенно. Если пойдешь по нормальному пути(через драйвер), то литературы полно(на этом хосте тоже лежало чего-то, я видал)
>Никто не подскажет, можно ли обрабатывать аппаратные прерывания, не влезая в ядро?
>Как работать с портами я уже разобралсяДык так же как и с портами request_irq и вперёд :)
Но только под рутом
>>Никто не подскажет, можно ли обрабатывать аппаратные прерывания, не влезая в ядро?
>>Как работать с портами я уже разобрался
>
>Дык так же как и с портами request_irq и вперёд :)
>Но только под рутомРазве request_irq может работать в userspace?
>Разве request_irq может работать в userspace?А разве нет?
По крайней мере помнится мне я пробовал писать работу с COM портом без модуля, и всё вроде шло нормально, в ядре 2.2.20 :)