|
发表于 2009-5-9 19:27:01
|
显示全部楼层
1.首先要确定你的平台用来触发SMI的IO PORT是B2H,如果没有记错的话,INTEL CHIP一般是使用B0H,AMD CHIP使用B2H。
* N& U7 E1 w' A+ e) p. {6 \2.当你往SMI PORT写值用来触发SMI,并不需要先设定暫存器的值。
1 n! m% O, v. K6 u3.现在问题来了,SMI触发后进入SMM MODE,CODE是怎么跑的?BIOS里面那么多的SMI HANDLE,不可能一个一个的都跑到吧。所以就有了一个验证的概念,BIOS 先去看对应的HANDLE所需要的条件是否符合,只有条件符合才会去执行对应HANDLE的CODE.这就是你说的先设定一些暂存器的值了,设定这些值只是为了让BIOS知道,这个SMI是你发出来的,然后去跑你为这个功能写的CODE.
, h0 w; u3 Y Z3 `4.通常我们把这种功能叫做SW SMI Function. |
|