|
|
我知道进入smm后,cpu从SMBASE+8000h处执行handler,但是BIOS中有很多handler,如何执行某一具体的handler?6 R( A M" W! O3 R S# g7 k
看资料说是通过SW SMI进入SMM前,要配置相关的寄存器,这样就可以执行指定的handler。请问:
' n+ D( d7 e9 K0 g7 e& }0 o* D2 K" W- @- \6 i" N
1.通过SW SMI进入SMM前如何配置寄存器以便执行指定的handler?有什么资料可参考吗?(看了intel手册但没有相关介绍,似乎和BIOS相关?)
( P, n4 D( K7 K5 c6 n _$ J5 L 比如Intel平台,outpd( 0xb2, 0xDE )触发SMM,0xDE如何与bios中的某一handler进行关联?写入的数据(0xDE)代表什么呢?
r4 y1 N6 b4 D0 N+ m0 O/ [2 Q! w5 }
2.是否BIOS中只有一个SMI handler对应write AMPC产生的smi(即SW SMI)?: |# n1 D) R* f5 v; C) N
" ^" F/ L' [7 S$ G; c; C1 n! g
; s8 R+ v9 }" O% t |多谢! |
|