|
我知道进入smm后,cpu从SMBASE+8000h处执行handler,但是BIOS中有很多handler,如何执行某一具体的handler?
0 V b J$ R3 T( [# [2 @. r; a看资料说是通过SW SMI进入SMM前,要配置相关的寄存器,这样就可以执行指定的handler。请问:& g9 d& h8 G0 c( b( | @. L- Q
, m) t2 D9 |' M9 s1 Q6 }
1.通过SW SMI进入SMM前如何配置寄存器以便执行指定的handler?有什么资料可参考吗?(看了intel手册但没有相关介绍,似乎和BIOS相关?)
4 D, v: f. K+ O! O: f 比如Intel平台,outpd( 0xb2, 0xDE )触发SMM,0xDE如何与bios中的某一handler进行关联?写入的数据(0xDE)代表什么呢?/ \) H/ G3 {; O2 [* S) J% Z: R4 v
! R1 o: x+ R* x8 w0 u
2.是否BIOS中只有一个SMI handler对应write AMPC产生的smi(即SW SMI)?
/ D8 g x' Z: `1 Q! ~
& a% }8 i) d5 _4 \* P3 K. o" U3 }, H0 E0 _3 d& o4 E# T
多谢! |
|