|
我知道进入smm后,cpu从SMBASE+8000h处执行handler,但是BIOS中有很多handler,如何执行某一具体的handler?
& q A$ y# D+ [' m8 V4 c7 H看资料说是通过SW SMI进入SMM前,要配置相关的寄存器,这样就可以执行指定的handler。请问:
6 n) [ k u8 e3 I$ s* U& N; W4 f% u" m; S5 g9 t
1.通过SW SMI进入SMM前如何配置寄存器以便执行指定的handler?有什么资料可参考吗?(看了intel手册但没有相关介绍,似乎和BIOS相关?)9 o6 m5 S* |* W8 ]2 q9 d4 x
比如Intel平台,outpd( 0xb2, 0xDE )触发SMM,0xDE如何与bios中的某一handler进行关联?写入的数据(0xDE)代表什么呢?4 L @+ v0 k F0 |: E0 c" k. ~
2 m- J9 H1 p; z2.是否BIOS中只有一个SMI handler对应write AMPC产生的smi(即SW SMI)?
P9 k9 X9 h5 N$ X$ A/ h7 S+ }( G6 Y* v9 _4 _8 E. J+ f
( ?0 F& d3 o, |. I多谢! |
|