Page 1 of 1

System Management Mode

Posted: Fri Jun 16, 2006 4:47 am
by AndrewAPrice
I've was reading through my new Intel manuals and noticed that an IA-32 processor has 3 modes of operation:
- protected mode
- real-address mode
- system management mode

I'm curious about the SMM, as the description says:
This mode provides an operating system or executive with a transparent mechanism for implementing platform-specific function such as power management and system security. The processor enters SMM when the external SMM interrupt pin (SMI#) is activated or an SMI is received from the advance programmable interrupt controller (APIC).
Could some-one please explain a bit more about system managment mode? What would SMM be life for an operationg system in comparison with protected mode?

Posted: Fri Jun 16, 2006 7:42 am
by JAAman
i dont think its possible for a desktop OS to use SMM -- as it requires hardware to enter the SMM state, its designed for onboard firmware -- i believe its used for some of the legacy emulation features

also it would be somewhat impractical to use for an OS, as it is severly limited (16bit address bus (not required to be part of the normal address space), no paging, etc), and it is (by design) isolated from the rest of the system


to say that RMode is a separate 'mode of operation' is misleading... though it is the way its generally refered to, which (imho) is the source of much confusion when people try to understand PMode/RMode/UMode

386+ CPUs (but not the 286) do not actually have a separate 'RMode' -- rather it is simply a special case of PMode, where GDT references are redirected to an internal table, the IDT is interpreted differently, and many protection checks are disabled

Posted: Sat Jun 24, 2006 5:05 pm
by Midas
However, even the Intel manuals themselves refer to it quite specifically as a separate mode.