|
|
我知道进入smm后,cpu从SMBASE+8000h处执行handler,但是BIOS中有很多handler,如何执行某一具体的handler?/ \! Q( ]$ N, M9 ]6 y9 S+ @2 h
看资料说是通过SW SMI进入SMM前,要配置相关的寄存器,这样就可以执行指定的handler。请问:
7 }2 k0 d5 d% }: J3 t8 [
5 C+ E8 |* e w) ^8 @1.通过SW SMI进入SMM前如何配置寄存器以便执行指定的handler?有什么资料可参考吗?(看了intel手册但没有相关介绍,似乎和BIOS相关?); l7 e; _4 I/ X; e9 @
比如Intel平台,outpd( 0xb2, 0xDE )触发SMM,0xDE如何与bios中的某一handler进行关联?写入的数据(0xDE)代表什么呢?
! I/ ]2 d; U, S/ q& [
?' v* Z+ w/ ?% r7 ~7 l2.是否BIOS中只有一个SMI handler对应write AMPC产生的smi(即SW SMI)?
7 e0 J- C' k( |" Q( o6 c- J+ k3 k8 W* h
: j* S/ @: _- i
多谢! |
|