我有一个我需要在嵌入式系统上不时调用的BIOS功能,并且使用LRMI我能够从用户空间程序成功调用它。现在我想从可加载的内核模块中做同样的事情。
有没有办法做到这一点?其他一些图书馆可能吗?
答案 0 :(得分:0)
它与处理器所处的模式有关(这是受保护模式,在bios初始化所有资源后打开)。为了再次使用BIOS中断,您必须使用v8086模式,即处理器模拟16位实模式机器时。然后,您可以设置寄存器并使用虚拟模式程序调用中断。
以下是进入虚拟模式的方法:http://www.brokenthorn.com/Resources/OSDev23.html
您也可以尝试切换到Real模式,但这涉及重置处理器。我不知道你将如何以编程方式执行此操作,因为您可能不会。