diff --git a/SeaPkg/Core/Init/StmInit.c b/SeaPkg/Core/Init/StmInit.c index 658b5096..f7329e85 100644 --- a/SeaPkg/Core/Init/StmInit.c +++ b/SeaPkg/Core/Init/StmInit.c @@ -884,7 +884,11 @@ LaunchBack ( SerializationLock = 0; - Rflags = AsmVmLaunch (Register); + Rflags = AsmVmResume (Register); + if (VmRead32 (VMCS_32_RO_VM_INSTRUCTION_ERROR_INDEX) == VmxFailErrorVmResumeWithNonLaunchedVmcs) { + DEBUG ((DEBUG_ERROR, "Calling AsmVmLaunch()\n")); + Rflags = AsmVmLaunch (Register); + } AcquireSpinLock (&mHostContextCommon.DebugLock); DEBUG ((DEBUG_ERROR, "!!!LaunchBack FAIL!!!\n"));