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

SMM系列(1)– SMM基本概念SMM 的定义 SMM SystemManage 即系统管理模式

大家好,欢迎来到IT知识分享网。

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

SMM的特权级:

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

SMM也其模式的切换:

SMM系列(1)-- 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,如果这个改动是恶意的,那后果就不堪设想了。

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

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

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

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

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/115671.html

(0)
上一篇 2024-11-17 18:33
下一篇 2024-11-17 18:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信