|
|
我知道进入smm后,cpu从SMBASE+8000h处执行handler,但是BIOS中有很多handler,如何执行某一具体的handler?
" X+ s+ }& ?& G8 R! o. m' X看资料说是通过SW SMI进入SMM前,要配置相关的寄存器,这样就可以执行指定的handler。请问:
, E7 |0 }3 P# B1 V* P6 S
, L: ]. u, i0 Z1 x# e9 J1.通过SW SMI进入SMM前如何配置寄存器以便执行指定的handler?有什么资料可参考吗?(看了intel手册但没有相关介绍,似乎和BIOS相关?): `( b) a$ l( J, K; M
比如Intel平台,outpd( 0xb2, 0xDE )触发SMM,0xDE如何与bios中的某一handler进行关联?写入的数据(0xDE)代表什么呢?0 ~0 Q5 H: p! d9 ?7 H& d7 f2 `
% T+ h1 {0 @" u) H% L& ]( Z
2.是否BIOS中只有一个SMI handler对应write AMPC产生的smi(即SW SMI)?% @* T4 x1 K/ @4 H# L, D: }& D
) O6 J1 L$ J6 ?. m" ^; l
# c; {4 v0 w+ d0 _多谢! |
|