SMM系列(1)-- SMM基本概念

来源:互联网 发布:界面翻译软件下载 编辑:程序博客网 时间:2024/05/17 00:15

SMM的定义:

    SMM, System Management Mode, 即系统管理模式。在intel 386SL, intel486SL引入的一种特殊的操作模式,在这种模式下,可以执行高级电源管理,硬件控制和运行OEM代码。它对于操作系统而言是完全透明的,也就是说操作系统并不知道CPU什么时候会进入和退出SMM。

基本术语:

SMM: System Management Mode

SMI:   System Management Interrupt

SMRAM: System Management RAM

C-SEG: Compatibility Segment, 在Legacy Mode下,0xA0000~0xC0000这段地址空间被用作SMRAM和VGA Frame Buffer

H-SEG: High Segment

T-SEG: 用作4GB以下的SMRAM, 可以提供扩展的SMRAM空间


SMM的特权级:

    SMM拥有最高的特权等级,因此在SMM下可以执行各种特权指令和IO操作。进入SMM的方式是当收到SMI(System Management Interrupt)时,而执行RSM指令则可以退出SMM。

SMM也其模式的切换:

关于SMI:

    SMI是进入SMM的唯一途径,SMI可以由处理器的SMI#管脚有效或者是APIC(Advanced Program Interface Controller)总线的SMI信息。 它是不可屏蔽的中断,独立于其它形式的中断。

   SMI的中断优先级是3, 而debug breakpoint是4, NMI是5, 当然最高的还是Reset, 它的中断优先级是1

关于SMRAM:

    由于SMM的特殊性,所以进入SMM后的程序是运行在SMRAM中的,而不是随便找一段内存就可以运行。这当然是出于安全的考虑,毕竟SMM有最高的优先级,如果在哪儿都可以运行,那么其它的程序改动了内存里的一点东西,也会影响到SMM,如果这个改动是恶意的,那后果就不堪设想了。

    由上图可以看出SMRAM的一个大致结构了,SMRAM的大小不是无限大的,它最初只有64KB,其起始地址是SMBASE(这个值保存在一个专门的寄存器中),在SMBASE+0x8000H处开始存放的是SMI的中断处理程序。而在SMRAM的高地址处存放着处理器进入SMM时的状态信息,这些信息在处理器退出SMM时会被恢复到处理器中。

    SMBASE开机时的默认值是0x30000H,一般BIOS会把它重定位到0xA0000H处。


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 聚水潭暂存位没有箱号怎么办? 长时间不锻炼运动后浑身酸痛怎么办 体脂称身体年龄比实际年龄大怎么办 分手两天我好难过好想去找他怎么办 宝宝一吃药就哭得很厉害怎么办 比你入职晚的同事比你厉害怎么办 nba篮球大师能力值满了怎么办 做什么都觉得很累没有兴趣怎么办 剧烈运动后头晕恶心想吐怎么办 剧烈运动完头晕恶心想吐怎么办 小孩头部摔到地上想吐头晕怎么办 肺部化疗恶心反胃怎么办吃什么药好 好久没运动一运动全身酸痛怎么办 怀孕两个月了一直吐没体力怎么办 公务员审查六级口语证丢了怎么办 农资经营如果被执法查处了怎么办? 干隧道测量坚持不下去该怎么办 老家房子强拆没钱做没钱补怎么办? 魔兽世界出了两个一样的传说怎么办 死亡事故后遇上不讲理家属怎么办 死亡事故后死亡者家属不讲理怎么办 住的地方治安乱混混多怎么办 使命召唤进去感觉动作好慢怎么办 40岁后不够硬不持久怎么办 如果别人毁灭了你的梦想怎么办 如果死者托梦说自己过的不好怎么办 吵架了老婆跑回娘家不回家了怎么办 和老婆吵架她跑回娘家了怎么办 鞋子里面的皮穿的都是泥怎么办 绝地求生手游模拟器键位不灵怎么办 我更新目录的时候目录不存在怎么办 如果别人欠我钱不还 我该怎么办 老婆欠信用卡的钱我该怎么办 我欠了很多钱我该怎么办 一个人欠我钱跑了我该怎么办 买房子时间长了成危楼了怎么办 别人欠我钱人找不到了怎么办 欠银行信用卡钱人失踪了怎么办 欧洲卡车模拟2没油了怎么办 蓝牙安装包里没有微信怎么办 腾讯手游模拟器玩全军出击卡怎么办