Intel 64 and IA-32 Architectures Software Developers Manual Volume 3B, System Programming Guide Part 2

Table Of Contents
Vol. 3 25-1
CHAPTER 25
SYSTEM MANAGEMENT
This chapter describes aspects of IA-64 and IA-32 architecture used in system
management mode (SMM).
SMM provides an alternate operating environment that can be used to monitor and
manage various system resources for more efficient energy usage, to control system
hardware, and/or to run proprietary code. It was introduced into the IA-32 architec-
ture in the Intel386 SL processor (a mobile specialized version of the Intel386
processor). It is also available in the Pentium M, Pentium 4, Intel Xeon, P6 family, and
Pentium and Intel486 processors (beginning with the enhanced versions of the
Intel486 SL and Intel486 processors).
25.1 SYSTEM MANAGEMENT MODE OVERVIEW
SMM is a special-purpose operating mode provided for handling system-wide func-
tions like power management, system hardware control, or proprietary OEM-
designed code. It is intended for use only by system firmware, not by applications
software or general-purpose systems software. The main benefit of SMM is that it
offers a distinct and easily isolated processor environment that operates transpar-
ently to the operating system or executive and software applications.
When SMM is invoked through a system management interrupt (SMI), the processor
saves the current state of the processor (the processors context), then switches to a
separate operating environment contained in system management RAM (SMRAM).
While in SMM, the processor executes SMI handler code to perform operations such
as powering down unused disk drives or monitors, executing proprietary code, or
placing the whole system in a suspended state. When the SMI handler has completed
its operations, it executes a resume (RSM) instruction. This instruction causes the
processor to reload the saved context of the processor, switch back to protected or
real mode, and resume executing the interrupted application or operating-system
program or task.
The following SMM mechanisms make it transparent to applications programs and
operating systems:
The only way to enter SMM is by means of an SMI.
The processor executes SMM code in a separate address space (SMRAM) that can
be made inaccessible from the other operating modes.
Upon entering SMM, the processor saves the context of the interrupted program
or task.