Intel SDM states that if the current VMCS is a shadow VMCS,
VMFailInvalid occurs and control passes to the next instruction.
Implement such behaviour for nested vmlaunch.
Signed-off-by: Sergey Dyasli <sergey.dyasli@citrix.com>
Acked-by: Kevin Tian <kevin.tian@intel.com>
return X86EMUL_OKAY;
}
+ /* Check that guest is not using a shadow vmcs for vmentry */
+ if ( nvmx->shadow_vmcs )
+ {
+ vmfail_invalid(regs);
+ return X86EMUL_OKAY;
+ }
+
__vmread(GUEST_INTERRUPTIBILITY_INFO, &intr_shadow);
if ( intr_shadow & VMX_INTR_SHADOW_MOV_SS )
{