首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

请教应用程式如何得到 bios 发出的 SCI 消息

2012-02-25 
请问应用程式怎么得到 bios 发出的 SCI 消息RT补充下SCI只能在ACPI的OS下发出来,如果在DOS下能触发的中断,

请问应用程式怎么得到 bios 发出的 SCI 消息
RT

补充下

SCI只能在ACPI的OS下发出来,如果在DOS下能触发的中断,那肯定不是SCI,那可能是SMI。SMI同样可以在OS下发出来。在进入ACPI的OS后,Bios把CPU的控制权交给OS,SMI还是可以发出来的。SMI大部分由硬件来issue,也可以发soft SMI,一般是想port 0B2h下command,然后在SMI Handle中加入对cmd的动作即可。



[解决办法]
BIOS底层这东西没做过,只好帮你顶一个
[解决办法]
系统处理SCI中断过程对驱动是透明的。

大概只能Hook IDT了,hook IDT里面的
acpi!ACPIInterruptServiceRoutine函数。
---------------------------------------------
如果放宽一点条件,小改一下EC部分的ASL Code的话,就好办了,在特定Q Method里面去读写一下EC Space中AD Converter中的相应位置。

然后让你的驱动附加到驱动acpiec上,用RegisterOpRegionHandler注册一个Handler来监视系统对EC Space的操作。完了过滤你感兴趣的内容。

代码参考http://www.osronline.com/ddkx/acpi/opregdg_9qqv.htm
以及DDK中的acpisim.c
---------------------------------------------
如果不考虑用中断,其实轮询也很快的

热点排行