|
|
我知道进入smm后,cpu从SMBASE+8000h处执行handler,但是BIOS中有很多handler,如何执行某一具体的handler?
& I8 D& m6 \6 t' ~( M看资料说是通过SW SMI进入SMM前,要配置相关的寄存器,这样就可以执行指定的handler。请问:1 Z% f- y- L5 t- Y0 [
8 |( ?* p# {, c' t1 ~' ~) N1.通过SW SMI进入SMM前如何配置寄存器以便执行指定的handler?有什么资料可参考吗?(看了intel手册但没有相关介绍,似乎和BIOS相关?)' F/ |, e& u1 H, M) N' k
比如Intel平台,outpd( 0xb2, 0xDE )触发SMM,0xDE如何与bios中的某一handler进行关联?写入的数据(0xDE)代表什么呢?
6 G$ Q# |8 p$ t$ b' a3 ~- v5 Z! z2 _4 }* f# S. f5 ^, V* y
2.是否BIOS中只有一个SMI handler对应write AMPC产生的smi(即SW SMI)?- j5 O" K5 M$ N& T/ P S: V: g
f& A6 a& J* ^) d# a$ q
- F- |0 h0 S3 ]( S0 Q3 K- D( J1 p
多谢! |
|