|
|
发表于 2009-5-9 19:27:01
|
显示全部楼层
1.首先要确定你的平台用来触发SMI的IO PORT是B2H,如果没有记错的话,INTEL CHIP一般是使用B0H,AMD CHIP使用B2H。! [! g5 j8 O% x
2.当你往SMI PORT写值用来触发SMI,并不需要先设定暫存器的值。8 }. i% I3 M/ L8 O8 P# h$ A& T
3.现在问题来了,SMI触发后进入SMM MODE,CODE是怎么跑的?BIOS里面那么多的SMI HANDLE,不可能一个一个的都跑到吧。所以就有了一个验证的概念,BIOS 先去看对应的HANDLE所需要的条件是否符合,只有条件符合才会去执行对应HANDLE的CODE.这就是你说的先设定一些暂存器的值了,设定这些值只是为了让BIOS知道,这个SMI是你发出来的,然后去跑你为这个功能写的CODE.
/ _) n, C, a# l! D: g4.通常我们把这种功能叫做SW SMI Function. |
|