|
|
我知道进入smm后,cpu从SMBASE+8000h处执行handler,但是BIOS中有很多handler,如何执行某一具体的handler?
6 a g7 C, |( Q8 z0 @: p看资料说是通过SW SMI进入SMM前,要配置相关的寄存器,这样就可以执行指定的handler。请问:' p5 c2 _' {; q9 q/ N e
8 S* s* K, ^; F1 k1.通过SW SMI进入SMM前如何配置寄存器以便执行指定的handler?有什么资料可参考吗?(看了intel手册但没有相关介绍,似乎和BIOS相关?)3 U, ^0 T# Y+ }- [% s! o) Q& B
比如Intel平台,outpd( 0xb2, 0xDE )触发SMM,0xDE如何与bios中的某一handler进行关联?写入的数据(0xDE)代表什么呢?% e1 d6 w/ L# t0 S' Y0 Q% L
' D7 c) F( F& @1 P9 @# L, T) b! w1 k
2.是否BIOS中只有一个SMI handler对应write AMPC产生的smi(即SW SMI)?
; {: M3 {% H; k/ h0 b1 Y) J x% Y- U0 G- Y
) v7 A$ a0 i0 k2 I2 `" \1 |. n% B
多谢! |
|