|
|
我知道进入smm后,cpu从SMBASE+8000h处执行handler,但是BIOS中有很多handler,如何执行某一具体的handler?
, T1 D7 }" e% Y; G2 R/ p看资料说是通过SW SMI进入SMM前,要配置相关的寄存器,这样就可以执行指定的handler。请问:
$ Q7 i! |$ {5 o6 r; N- ?% V, n, [, o% G
1.通过SW SMI进入SMM前如何配置寄存器以便执行指定的handler?有什么资料可参考吗?(看了intel手册但没有相关介绍,似乎和BIOS相关?)
$ ~- ^0 K. m8 {+ i. M; { 比如Intel平台,outpd( 0xb2, 0xDE )触发SMM,0xDE如何与bios中的某一handler进行关联?写入的数据(0xDE)代表什么呢?2 {, v/ T: \. b& @- P
4 a% M ?& {; f
2.是否BIOS中只有一个SMI handler对应write AMPC产生的smi(即SW SMI)?
5 Z! I. f9 e0 R2 j" D* j m- _/ D( P; H$ \2 p% `: e: ]
! V0 T! l c. [多谢! |
|