|
|
我知道进入smm后,cpu从SMBASE+8000h处执行handler,但是BIOS中有很多handler,如何执行某一具体的handler?
8 p' m: D; r$ \7 i$ A# G: T看资料说是通过SW SMI进入SMM前,要配置相关的寄存器,这样就可以执行指定的handler。请问:2 V" f+ S# s i" O/ W, a# n0 q3 \
1 e' u A+ K/ \) a8 a1.通过SW SMI进入SMM前如何配置寄存器以便执行指定的handler?有什么资料可参考吗?(看了intel手册但没有相关介绍,似乎和BIOS相关?)
0 z1 U* e$ M3 c; J; E 比如Intel平台,outpd( 0xb2, 0xDE )触发SMM,0xDE如何与bios中的某一handler进行关联?写入的数据(0xDE)代表什么呢?
$ l0 o# [# F2 ^/ w) Y( @
( w' @( S5 Z2 A; \9 M1 z2.是否BIOS中只有一个SMI handler对应write AMPC产生的smi(即SW SMI)?
2 g" Q& s2 `7 D0 r
, f" q8 o9 K2 F! Z7 d! m0 X) U5 ^6 O" j" d) l/ E7 \9 O
多谢! |
|