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

Table Of Contents
25-28 Vol. 3
SYSTEM MANAGEMENT
SMM VM exits are the only VM exits that may occur in VMX root operation.
Because the SMM monitor may need to know whether it was invoked from
VMX root or VMX non-root operation, this information is stored in bit 29 of the
exit-reason field (see Table 20-13 in Section 20.9.1). The bit is set by SMM
VM exits from VMX root operation.
If the SMM VM exit occurred in VMX non-root operation and an MTF VM exit
was pending, bit 28 of the exit-reason field is set; otherwise, it is cleared.
Bits 27:16 and bits 31:30 are cleared.
Exit qualification. For an SMM VM exit due an SMI that arrives immediately
after the retirement of an I/O instruction, the exit qualification contains
information about the I/O instruction that retired immediately before the SMI.It
has the format given in Table 25-9.
Guest linear address. This field is used for VM exits due to SMIs that arrive
immediately after the retirement of an INS or OUTS instruction for which the
relevant segment (ES for INS; DS for OUTS unless overridden by an instruction
prefix) is usable. The field receives the value of the linear address generated by
ES:(E)DI (for INS) or segment:(E)SI (for OUTS; the default segment is DS but
can be overridden by a segment override prefix) at the time the instruction
started. If the relevant segment is not usable, the value is undefined. On
Table 25-9. Exit Qualification for SMIs That Arrive Immediately
After the Retirement of an I/O Instruction
Bit Position(s) Contents
2:0 Size of access:
0= 1-byte
1= 2-byte
3= 4-byte
Other values not used.
3 Direction of the attempted access (0 = OUT, 1 = IN)
4 String instruction (0 = not string; 1 = string)
5 REP prefixed (0 = not REP; 1 = REP)
6 Operand encoding (0 = DX, 1 = immediate)
15:7 Reserved (cleared to 0)
31:16 Port number (as specified in the I/O instruction)
63:32 Reserved (cleared to 0). These bits exist only on processors
that support Intel 64 architecture.