|
我知道进入smm后,cpu从SMBASE+8000h处执行handler,但是BIOS中有很多handler,如何执行某一具体的handler?* D& U5 l0 `: e2 ?$ V
看资料说是通过SW SMI进入SMM前,要配置相关的寄存器,这样就可以执行指定的handler。请问:! {/ N9 ^( i( `% n6 M
! j8 K; G/ w Y* a* ~7 b, ?1 }
1.通过SW SMI进入SMM前如何配置寄存器以便执行指定的handler?有什么资料可参考吗?(看了intel手册但没有相关介绍,似乎和BIOS相关?)+ {/ B3 K+ l! ~3 G
比如Intel平台,outpd( 0xb2, 0xDE )触发SMM,0xDE如何与bios中的某一handler进行关联?写入的数据(0xDE)代表什么呢?" b, G5 |. [8 J0 h2 c# c' i% M. S9 d
3 p% c" u5 E- H! ^7 A5 O
2.是否BIOS中只有一个SMI handler对应write AMPC产生的smi(即SW SMI)?9 ?5 R/ T& M6 Z, i; E
* s0 Z ?/ `1 Z2 P
! X8 z c+ P' t0 N多谢! |
|