|
|
我知道进入smm后,cpu从SMBASE+8000h处执行handler,但是BIOS中有很多handler,如何执行某一具体的handler?
) R, j/ r" u/ F& H+ I, K看资料说是通过SW SMI进入SMM前,要配置相关的寄存器,这样就可以执行指定的handler。请问:; X: T* m" a v. {
h1 a% r y$ E3 [) D, A
1.通过SW SMI进入SMM前如何配置寄存器以便执行指定的handler?有什么资料可参考吗?(看了intel手册但没有相关介绍,似乎和BIOS相关?)
' c/ b! C4 O& V7 Q( n L 比如Intel平台,outpd( 0xb2, 0xDE )触发SMM,0xDE如何与bios中的某一handler进行关联?写入的数据(0xDE)代表什么呢?
$ E5 J9 @, D5 E0 C4 ?; Y/ d5 T1 H" t* _1 i6 K7 n8 n- S; }+ G$ r9 \! h9 [
2.是否BIOS中只有一个SMI handler对应write AMPC产生的smi(即SW SMI)?
. X9 S4 y- h7 k# q% T9 A- \$ ^4 }! q8 x N
7 Q' e4 z2 t8 j4 j( a6 A
多谢! |
|