我有一个基于intel的SBC,我正在使用嵌入式应用程序。它有一个连接到Fintek Super I/O芯片的数字IO(DIO)端口。我希望能够设置此端口的输出线上的位来控制其他一些硬件。如何在linux驱动中切换到实模式
幸运的是,制造商的BIOS自带的功能来完成这一点:
AX=6F09h
bl=<bits>
int 15h
不幸的是,我在保护模式下运行64位Linux。有什么办法可以调用这个bios中断,无论是从用户空间程序还是作为内核驱动程序(如果需要的话)?
我可以选择直接在Fintek芯片上设置寄存器,但这需要知道芯片上什么引脚连接到DIO头上,当然,这会从电路板修订版改为电路板版本。
确实,vm86模式在长模式代码中不再可用(注意“长模式”而不是“64位” - 即使在长模式下运行的32位代码(它有名字,忘了它)也不能使用vm86 )。 – Griwes 2012-02-15 13:23:27