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

Table Of Contents
25-38 Vol. 3
SYSTEM MANAGEMENT
25.15.6.4 Loading Host State
The VMCS that is current during an SMM VM exit that activates the dual-monitor
treatment was established by the executive monitor. It does not contain the VM-exit
controls and host state required to initialize the SMM monitor. For this reason, such
SMM VM exits do not load processor state as described in Section 23.5. Instead,
state is set to fixed values or loaded based on the content of the MSEG header (see
Table 25-10):
CR0 is set to as follows:
PG, NE, ET, MP, and PE are all set to 1.
CD and NW are left unchanged.
All other bits are cleared to 0.
CR3 is set as follows:
Bits 63:32 are cleared on processors that supports IA-32e mode.
Bits 31:12 are set to bits 31:12 of the sum of the MSEG base address and the
CR3-offset field in the MSEG header.
Bits 11:5 and bits 2:0 are cleared (the corresponding bits in the CR3-offset
field in the MSEG header are ignored).
Bits 4:3 are set to bits 4:3 of the CR3-offset field in the MSEG header.
CR4 is set as follows:
MCE and PGE are cleared.
PAE is set to the value of the IA-32e mode SMM feature bit.
If the IA-32e mode SMM feature bit is clear, PSE is set to 1 if supported by the
processor; if the bit is set, PSE is cleared.
All other bits are unchanged.
DR7 is set to 400H.
The IA32_DEBUGCTL MSR is cleared to 00000000_00000000H.
The registers CS, SS, DS, ES, FS, and GS are loaded as follows:
All registers are usable.
CS.selector is loaded from the corresponding fields in the MSEG header (the
high 16 bits are ignored), with bits 2:0 cleared to 0. If the result is 0000H,
CS.selector is set to 0008H.
The selectors for SS, DS, ES, FS, and GS are set to CS.selector+0008H. If the
result is 0000H (if the CS selector was 0xFFF8), these selectors are instead
set to 0008H.
The base addresses of all registers are cleared to zero.
The segment limits for all registers are set to FFFFFFFFH.
The AR bytes for the registers are set as follows: