VirtualBox

儲存庫 vbox 的更動 13542


忽略:
時間撮記:
2008-10-23 下午04:25:44 (16 年 以前)
作者:
vboxsync
訊息:

Additional release logging for two more VT-x error cases.

位置:
trunk/src/VBox/VMM
檔案:
修改 4 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/VMM/EM.cpp

    r13532 r13542  
    23782378        case VERR_VMX_UNEXPECTED_EXIT_CODE:
    23792379        case VERR_VMX_INVALID_GUEST_STATE:
     2380        case VERR_VMX_UNABLE_TO_START_VM:
     2381        case VERR_VMX_UNABLE_TO_RESUME_VM:
    23802382            HWACCMR3CheckError(pVM, rc);
    23812383            break;
  • trunk/src/VBox/VMM/HWACCM.cpp

    r13532 r13542  
    10421042        break;
    10431043
     1044    case VERR_VMX_UNABLE_TO_START_VM:
     1045        LogRel(("VERR_VMX_UNABLE_TO_START_VM: instruction error %x\n", pVM->hwaccm.s.vmx.lasterror.ulLastInstrError));
     1046        LogRel(("VERR_VMX_UNABLE_TO_START_VM: exit reason       %x\n", pVM->hwaccm.s.vmx.lasterror.ulLastExitReason));
     1047        break;
     1048
     1049    case VERR_VMX_UNABLE_TO_RESUME_VM:
     1050        LogRel(("VERR_VMX_UNABLE_TO_RESUME_VM: instruction error %x\n", pVM->hwaccm.s.vmx.lasterror.ulLastInstrError));
     1051        LogRel(("VERR_VMX_UNABLE_TO_RESUME_VM: exit reason       %x\n", pVM->hwaccm.s.vmx.lasterror.ulLastExitReason));
     1052        break;
     1053
    10441054    case VERR_VMX_INVALID_VMXON_PTR:
    10451055        break;
  • trunk/src/VBox/VMM/HWACCMInternal.h

    r13533 r13542  
    352352            uint64_t                u64VMCSPhys;
    353353            uint32_t                ulVMCSRevision;
     354            uint32_t                ulLastInstrError;
     355            uint32_t                ulLastExitReason;
    354356            uint32_t                padding;
    355357        } lasterror;
  • trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp

    r13541 r13542  
    5151*   Local Functions                                                            *
    5252*******************************************************************************/
    53 #ifdef VBOX_STRICT
    5453static void VMXR0ReportWorldSwitchError(PVM pVM, int rc, PCPUMCTX pCtx);
    55 #else
    56 #define VMXR0ReportWorldSwitchError(a, b, c)      do { } while (0);
    57 #endif /* VBOX_STRICT */
    5854static void vmxR0SetupTLBEPT(PVM pVM);
    5955static void vmxR0SetupTLBVPID(PVM pVM);
     
    31133109}
    31143110
    3115 #ifdef VBOX_STRICT
    31163111/**
    31173112 * Report world switch error and dump some useful debug info
     
    31403135        if (rc == VINF_SUCCESS)
    31413136        {
     3137            Log(("Unable to start/resume VM for reason: %x. Instruction error %x\n", (uint32_t)exitReason, (uint32_t)instrError));
     3138            Log(("Current stack %08x\n", &rc));
     3139           
     3140            pVM->hwaccm.s.vmx.lasterror.ulLastInstrError = instrError;
     3141            pVM->hwaccm.s.vmx.lasterror.ulLastExitReason = exitReason;
     3142
     3143#ifdef VBOX_STRICT
    31423144            RTGDTR     gdtr;
    31433145            PX86DESCHC pDesc;
    31443146
    31453147            ASMGetGDTR(&gdtr);
    3146 
    3147             Log(("Unable to start/resume VM for reason: %x. Instruction error %x\n", (uint32_t)exitReason, (uint32_t)instrError));
    3148             Log(("Current stack %08x\n", &rc));
    3149 
    31503148
    31513149            VMXReadVMCS(VMX_VMCS_GUEST_RIP, &val);
     
    32513249            Log(("VMX_VMCS_HOST_RIP %VHv\n", val));
    32523250
    3253 #if HC_ARCH_BITS == 64
     3251# if HC_ARCH_BITS == 64
    32543252            Log(("MSR_K6_EFER       = %VX64\n", ASMRdMsr(MSR_K6_EFER)));
    32553253            Log(("MSR_K6_STAR       = %VX64\n", ASMRdMsr(MSR_K6_STAR)));
     
    32573255            Log(("MSR_K8_CSTAR      = %VX64\n", ASMRdMsr(MSR_K8_CSTAR)));
    32583256            Log(("MSR_K8_SF_MASK    = %VX64\n", ASMRdMsr(MSR_K8_SF_MASK)));
    3259 #endif
     3257# endif
     3258#endif /* VBOX_STRICT */
    32603259        }
    32613260        break;
     
    32683267    }
    32693268}
    3270 #endif /* VBOX_STRICT */
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette