On 23/08/2017 23:25, Jim Mattson wrote:
>> +       if (from_vmentry) {
>> +               vmcs12->launch_state = 1;
> Because we defer most guest state validity checks to the hardware
> vmlaunch of the vmcs02, it is too early to set the vmcs12 launched
> state here. If the exit reason has the high bit set,
> vmcs12->launch_state should not be modified.

Thanks---I'll do my homework and add a testcase then. :)  The launched
state cannot be discovered with VMREAD, but I can test that a
VMLAUNCH;VMLAUNCH works and a VMLAUNCH;VMRESUME fails.

The same applies for the next instruction, which is part of step 6 of
the vmentry ("An event may be injected in the guest context").  This one
can be tested with VMREAD.

Paolo

>> +
>> +               /* vm_entry_intr_info_field is cleared on exit. Emulate this
>> +                * instead of reading the real value. */
>> +               vmcs12->vm_entry_intr_info_field &= ~INTR_INFO_VALID_MASK;

Reply via email to