|
|
我知道进入smm后,cpu从SMBASE+8000h处执行handler,但是BIOS中有很多handler,如何执行某一具体的handler?% q: w; e' c/ a) ^
看资料说是通过SW SMI进入SMM前,要配置相关的寄存器,这样就可以执行指定的handler。请问:) f6 b' A; h# G
- e C9 e' j5 j% U1 V
1.通过SW SMI进入SMM前如何配置寄存器以便执行指定的handler?有什么资料可参考吗?(看了intel手册但没有相关介绍,似乎和BIOS相关?)' F! v1 u, ?( I& O& x0 h' S
比如Intel平台,outpd( 0xb2, 0xDE )触发SMM,0xDE如何与bios中的某一handler进行关联?写入的数据(0xDE)代表什么呢?
4 B+ ~' r6 [, A: U% F1 _6 L4 u; `+ b- A/ `9 C/ N8 t
2.是否BIOS中只有一个SMI handler对应write AMPC产生的smi(即SW SMI)? p1 c1 W$ U8 g& Q; h5 P
; |/ X% n0 Y$ [) r4 i# _ ~4 w
; z9 J& t3 K: ?' ]多谢! |
|