|
|
我知道进入smm后,cpu从SMBASE+8000h处执行handler,但是BIOS中有很多handler,如何执行某一具体的handler?
# }8 M; G) _& S; N看资料说是通过SW SMI进入SMM前,要配置相关的寄存器,这样就可以执行指定的handler。请问:
! |: I1 q7 t7 v+ e, E+ `' h) d$ u3 Y# ]! ~6 ]0 }; P
1.通过SW SMI进入SMM前如何配置寄存器以便执行指定的handler?有什么资料可参考吗?(看了intel手册但没有相关介绍,似乎和BIOS相关?)
5 `$ G7 M& N7 w- z5 R4 a4 [' _: Y1 l 比如Intel平台,outpd( 0xb2, 0xDE )触发SMM,0xDE如何与bios中的某一handler进行关联?写入的数据(0xDE)代表什么呢?
% A: U; u6 K9 u: ]( D
4 q- N( _& Z( a2.是否BIOS中只有一个SMI handler对应write AMPC产生的smi(即SW SMI)?. y y3 I+ v7 B9 p g
; e/ n$ n5 I" P) p2 `* E0 z+ b* u6 b! a% j! A
多谢! |
|