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

Table Of Contents
Vol. 3 23-7
VM EXITS
For INVLPG, the exit qualification contains the linear-address operand of the
instruction.
On processors that support Intel 64 architecture, bits 63:32 are cleared if
the logical processor was not in 64-bit mode before the VM exit.
If the INVLPG source operand specifies an unusable segment, the linear
address specified in the exit qualification will match the linear address
that the INVLPG would have used if no VM exit occurred. Note that this
address is not architecturally defined and may be implementation-
specific.
For INVEPT, INVVPID, LGDT, LIDT, LLDT, LTR, SGDT, SIDT, SLDT, STR,
VMCLEAR, VMPTRLD, VMPTRST, VMREAD, VMWRITE, and VMXON, the exit
qualification receives the value of the instruction’s displacement field, which
is sign-extended to 64 bits if necessary (32 bits on processors that do not
support Intel 64 architecture). If the instruction has no displacement (for
example, has a register operand), zero is stored into the exit qualification.
On processors that support Intel 64 architecture, an exception is made for
RIP-relative addressing (used only in 64-bit mode). Such addressing causes
an instruction to use an address that is the sum of the displacement field
and the value of RIP that references the following instruction. In this case,
the exit qualification is loaded with the sum of the displacement field and
the appropriate RIP value.
In all cases, bits of this field beyond the instruction’s address size are
undefined. For example, suppose that the address-size field in the VM-exit
instruction-information field (see Section 20.9.4 and Section 23.2.4) reports
an n-bit address size. Then bits 63:n (bits 31:n on processors that do not
support Intel 64 architecture) of the instruction displacement are undefined.
For a control-register access, the exit qualification contains information about
the access and has the format given in Table 23-3.
63:32 Reserved (cleared to 0). These bits exist only on processors that support Intel
64 architecture.
Table 23-3. Exit Qualification for Control-Register Accesses
Bit Positions Contents
3:0 Number of control register (0 for CLTS and LMSW). Bit 3 is always 0 on
processors that do not support Intel 64 architecture as they do not support CR8.
Table 23-2. Exit Qualification for Task Switch (Contd.)
Bit Position(s) Contents