|
|
我知道进入smm后,cpu从SMBASE+8000h处执行handler,但是BIOS中有很多handler,如何执行某一具体的handler?0 I9 L" J E% n. n2 ^2 E0 s
看资料说是通过SW SMI进入SMM前,要配置相关的寄存器,这样就可以执行指定的handler。请问:
8 ~# k' P. @1 M0 T
, l/ u3 u( Q A3 {8 N9 o2 x1 W1.通过SW SMI进入SMM前如何配置寄存器以便执行指定的handler?有什么资料可参考吗?(看了intel手册但没有相关介绍,似乎和BIOS相关?)
_$ r, m/ A; k; ]5 ]* I 比如Intel平台,outpd( 0xb2, 0xDE )触发SMM,0xDE如何与bios中的某一handler进行关联?写入的数据(0xDE)代表什么呢?
5 e3 i- W: P6 U4 N8 z% \9 `2 l
) @1 d+ b3 h" K7 }2.是否BIOS中只有一个SMI handler对应write AMPC产生的smi(即SW SMI)?4 M1 P+ U6 _9 [5 N0 ~, p ~1 o
7 n& `! s/ L2 v: L' V4 q U3 Y8 m4 C) E) ?9 s1 p+ F0 L0 a, B& P. [; _
多谢! |
|