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

Table Of Contents
22-22 Vol. 3
VM ENTRIES
The value of bits 31:0 indicates an MSR that cannot be loaded on VM entries for
model-specific reasons. A processor may prevent loading of certain MSRs even if
they can normally be written by WRMSR. Such model-specific behavior is
documented in Appendix B.
Bits 63:32 are not all 0.
An attempt to write bits 127:64 to the MSR indexed by bits 31:0 of the entry
would cause a general-protection exception if executed via WRMSR with
CPL = 0.
1
The VM entry fails if processing fails for any entry. The logical processor responds to
such failures by loading state from the host-state area, as it would for a VM exit. See
Section 22.7.
If any MSR is being loaded in such a way that would architecturally require a TLB
flush, the TLBs are updated so that, after VM entry, the logical processor will not use
any translations that were cached before the transition.
22.5 EVENT INJECTION
If the valid bit in the VM-entry interruption-information field (see Section 20.8.3) is
1, VM entry causes an event to be delivered (or made pending) after all components
of guest state have been loaded (including MSRs) and after the VM-execution control
fields have been established.
If the interruption type in the field is 0 (external interrupt), 2 (non-maskable
interrupt); 3 (hardware exception), 4 (software interrupt), 5 (privileged software
exception), or 6 (software exception), the event is delivered as described in
Section 22.5.1.
If the interruption type in the field is 7 (other event) and the vector field is 0, an
MTF VM exit is pending after VM entry. See Section 22.5.2.
22.5.1 Vectored-Event Injection
VM entry delivers an injected vectored event within the guest context established by
VM entry. This means that delivery occurs after all components of guest state have
been loaded (including MSRs) and after the VM-execution control fields have been
established.
2
The event is delivered using the vector in that field to select a
descriptor in the IDT. Since event injection occurs after loading IDTR from the guest-
state area, this is the guest IDT.
1. Note the following about processors that support Intel 64 architecture. If CR0.PG = 1, WRMSR to
the IA32_EFER MSR causes a general-protection exception if it would modify the LME bit. Since
CR0.PG is always 1 in VMX operation, the IA32_EFER MSR should not be included in the
VM-entry MSR-load area for the purpose of modifying the LME bit.