|
|
我知道进入smm后,cpu从SMBASE+8000h处执行handler,但是BIOS中有很多handler,如何执行某一具体的handler?# g8 K% ^0 k0 l5 `/ ]
看资料说是通过SW SMI进入SMM前,要配置相关的寄存器,这样就可以执行指定的handler。请问:
( ~8 E$ Q& q1 ?0 ^+ s' ?
* Z J8 {; R: }$ A1.通过SW SMI进入SMM前如何配置寄存器以便执行指定的handler?有什么资料可参考吗?(看了intel手册但没有相关介绍,似乎和BIOS相关?)
. M6 L) d, t2 D/ N8 b8 p8 R3 ~5 F0 _ 比如Intel平台,outpd( 0xb2, 0xDE )触发SMM,0xDE如何与bios中的某一handler进行关联?写入的数据(0xDE)代表什么呢?8 o( i6 I7 I1 \
X8 E+ ^0 I, m8 {" a; J% @
2.是否BIOS中只有一个SMI handler对应write AMPC产生的smi(即SW SMI)?
5 A1 d* J* ?* i3 W7 o" k y; j
8 J. b( }0 i9 T# e& [0 E1 l0 s2 J6 t4 u
多谢! |
|