|
我知道进入smm后,cpu从SMBASE+8000h处执行handler,但是BIOS中有很多handler,如何执行某一具体的handler?
8 d, W* D/ ?9 L8 m% S看资料说是通过SW SMI进入SMM前,要配置相关的寄存器,这样就可以执行指定的handler。请问:
( H: H, y) @1 b8 f2 L- f" I! {0 J7 H; G# u
1.通过SW SMI进入SMM前如何配置寄存器以便执行指定的handler?有什么资料可参考吗?(看了intel手册但没有相关介绍,似乎和BIOS相关?)
' Z' _8 b9 z+ k! @ 比如Intel平台,outpd( 0xb2, 0xDE )触发SMM,0xDE如何与bios中的某一handler进行关联?写入的数据(0xDE)代表什么呢?
3 M9 N' o/ Y0 K _$ b# p8 N$ P; m9 e' I
2.是否BIOS中只有一个SMI handler对应write AMPC产生的smi(即SW SMI)?5 Y: C9 g" Y5 W; i8 `& G
, @/ |7 z7 u6 X* n
2 X! w/ g& ^9 h+ W2 j4 L. q) C8 e
多谢! |
|