|
|
发表于 2009-5-9 19:27:01
|
显示全部楼层
1.首先要确定你的平台用来触发SMI的IO PORT是B2H,如果没有记错的话,INTEL CHIP一般是使用B0H,AMD CHIP使用B2H。& e% D: r7 ^# u4 c
2.当你往SMI PORT写值用来触发SMI,并不需要先设定暫存器的值。
, `) E: m/ e2 W3 s' @) n2 F3.现在问题来了,SMI触发后进入SMM MODE,CODE是怎么跑的?BIOS里面那么多的SMI HANDLE,不可能一个一个的都跑到吧。所以就有了一个验证的概念,BIOS 先去看对应的HANDLE所需要的条件是否符合,只有条件符合才会去执行对应HANDLE的CODE.这就是你说的先设定一些暂存器的值了,设定这些值只是为了让BIOS知道,这个SMI是你发出来的,然后去跑你为这个功能写的CODE.8 X- {$ a) K8 N0 n, l# d, E
4.通常我们把这种功能叫做SW SMI Function. |
|