
2-76
PRELIMINARY
System Management Mode
Advanci ng the S tandar ds
System Management Mode
2-76
The SMM instructions listed in Table 2-38,
(except the SMINT instruction) can be executed
only if:
1)
ARR3 Size > 0
2)
Current Privilege Level =0
3)
SMAC bit is set or the CPU is executing
an SMI service routine.
4)
USE_SMI (CCR1- bit 1) = 1
5)
SM3 (CCR1-bit 7) = 1
If the above conditions are not met and an
attempt is made to execute an SVDC, RSDC,
SVLDT, RSLDT, SVTS, RSTS, SMINT, RSM,
RDSHR, or WDSHR instruction, an invalid
opcode exception is generated. These instruc-
tions can be executed outside of defined SMM
space provided the above conditions are met.
The SMINT instruction allows software entry
into SMM. The SVDC, RSDC, SVLDT, RSLDT,
SVTS and RSTS instructions save or restore 80
bits of data, allowing the saved values to include
the hidden portion of the register contents.
The WRSHR instruction loads the contents of
either a 32-bit memory operand or a 32-bit
register operand into the SMHR pointer register
based on the value of the mod r/m instruction
byte. Likewise the RDSHR instruction stores the
contents of the SMHR pointer register to either
a 32 bit memory operand or a 32 bit register
operand based on the value of the mod r/m
instruction byte.
2.15.4 SMM Operation
This section details the SMM operations.
Entering SMM
Entering SMM requires the assertion of the
SMI# pin or execution of an SMINT instruction.
SMI interrupts have higher priority than any
interrupt including NMI interrupts.
For the SMI# or SMINT instruction to be recog-
nized, the following configuration register bits
must be set as shown in Table 2-39.
Upon entry into SMM, after the SMM header has
been saved, the CR0, EFLAGS, and DR7 regis-
ters are set to their reset values. The Code
Segment (CS) register is loaded with the base,
as defined by the ARR3 register, and a limit of 4
GBytes. The SMI service routine then begins
execution at the SMM base address in real mode.
Table 2-39. Requirements for
Recognizing SMI# and SMINT
REGISTER (Bit)
SMI#
SMINT
SMI
CCR1 (1)
1
SMAC
CCR1 (2)
0
1
ARR3
SIZE (3-0)
> 0
SM3
CCR1 (7)
1