|
|
我知道进入smm后,cpu从SMBASE+8000h处执行handler,但是BIOS中有很多handler,如何执行某一具体的handler?
& w, r5 H: Q, m9 r( Q. D0 f看资料说是通过SW SMI进入SMM前,要配置相关的寄存器,这样就可以执行指定的handler。请问:; r0 }! ]% H/ V. `- i, F
8 `2 H4 {) e/ C
1.通过SW SMI进入SMM前如何配置寄存器以便执行指定的handler?有什么资料可参考吗?(看了intel手册但没有相关介绍,似乎和BIOS相关?)7 z( r" c* e% \/ _0 Q2 a F9 x
比如Intel平台,outpd( 0xb2, 0xDE )触发SMM,0xDE如何与bios中的某一handler进行关联?写入的数据(0xDE)代表什么呢?
/ t' \" A- }+ d6 p0 ]9 b" K( J* N4 r }. k# ? G
2.是否BIOS中只有一个SMI handler对应write AMPC产生的smi(即SW SMI)?
+ ~: c ~+ E/ t" e" m
$ p2 G/ D; S8 I2 C5 A
3 q a5 K* X9 @7 N' C% @多谢! |
|