|
|
我知道进入smm后,cpu从SMBASE+8000h处执行handler,但是BIOS中有很多handler,如何执行某一具体的handler?
L/ I" o4 s. I7 e9 o. |+ `) [- x看资料说是通过SW SMI进入SMM前,要配置相关的寄存器,这样就可以执行指定的handler。请问:: C" W0 Y. T% ?3 [5 ~2 P2 A
' g* b- s; i/ S* Q d
1.通过SW SMI进入SMM前如何配置寄存器以便执行指定的handler?有什么资料可参考吗?(看了intel手册但没有相关介绍,似乎和BIOS相关?)
+ ~8 n7 x/ @. F( Z5 R* H# j 比如Intel平台,outpd( 0xb2, 0xDE )触发SMM,0xDE如何与bios中的某一handler进行关联?写入的数据(0xDE)代表什么呢?; [3 Y6 n- O4 s6 b/ i
: I: J1 v; d& ?* ?' d4 {/ Y2.是否BIOS中只有一个SMI handler对应write AMPC产生的smi(即SW SMI)?+ x. ~! P! ^" [6 z( b8 n# g+ r
4 W y0 s/ m7 ?. B1 g5 [8 V4 z, k$ w6 \7 y" A% x& \4 Y
多谢! |
|