У меня есть SBC на базе Intel, который я использую во встроенном приложении. Он имеет порт Digital IO (DIO), подключенный к микросхеме Fintek Super I / O. Я хочу иметь возможность устанавливать биты на выходных линиях этого порта для управления другим оборудованием.
К счастью, в BIOS производителя есть функция, позволяющая сделать это:
AX=6F09h
bl=<bits>
int 15h
К сожалению, я использую 64-битную версию Linux в защищенном режиме. Можно ли как-нибудь вызвать это прерывание BIOS, либо из программы пользовательского пространства, либо в качестве драйвера ядра, если это будет необходимо?
В качестве альтернативы я могу установить регистры непосредственно на микросхеме Fintek, но для этого необходимо точно знать, какие контакты на микросхеме подключены к разъему DIO, и, конечно, это меняется от ревизии платы к ревизии платы.