Changeset 3292 in vbox
- Timestamp:
- Jun 26, 2007 2:15:29 PM (18 years ago)
- svn:sync-xref-src-repo-rev:
- 22395
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/HWACCM.cpp
r2981 r3292 442 442 { 443 443 LogRel(("HWACCM: VMX setup failed with rc=%Vrc!\n", rc)); 444 LogRel(("HWACCM: Last instruction error %x\n", pVM->hwaccm.s.vmx.ulLastInstrError)); 444 445 pVM->fHWACCMEnabled = false; 445 446 } … … 476 477 } 477 478 } 479 } 480 else 481 { 482 LogRel(("HWACCM: No VMX or SVM CPU extension found. Reason %Vrc\n", pVM->hwaccm.s.ulLastError)); 478 483 } 479 484 -
trunk/src/VBox/VMM/HWACCMInternal.h
r2981 r3292 192 192 uint64_t vmx_vmcs_enum; 193 193 } msr; 194 195 /* Last instruction error */ 196 uint32_t ulLastInstrError; 194 197 } vmx; 195 198 … … 250 253 uint64_t intInfo; 251 254 } Event; 255 256 /** Saved error from detection */ 257 uint32_t ulLastError; 252 258 253 259 /** Currenty shadow paging mode. */ -
trunk/src/VBox/VMM/VMMR0/HWACCMR0.cpp
r2981 r3292 60 60 61 61 #ifndef VBOX_WITH_HYBIRD_32BIT_KERNEL /* paranoia */ 62 63 pVM->hwaccm.s.ulLastError = VINF_SUCCESS; 62 64 63 65 /* … … 123 125 } 124 126 } 127 else 128 pVM->hwaccm.s.ulLastError = VERR_VMX_ILLEGAL_FEATURE_CONTROL_MSR; 125 129 } 130 else 131 pVM->hwaccm.s.ulLastError = VERR_VMX_NO_VMX; 126 132 } 127 133 else … … 158 164 } 159 165 else 166 { 167 pVM->hwaccm.s.ulLastError = VERR_SVM_ILLEGAL_EFER_MSR; 160 168 AssertFailed(); 169 } 161 170 } 171 else 172 pVM->hwaccm.s.ulLastError = VERR_SVM_NO_SVM; 162 173 } 163 } 174 else 175 pVM->hwaccm.s.ulLastError = VERR_HWACCM_UNKNOWN_CPU; 176 } 177 else 178 pVM->hwaccm.s.ulLastError = VERR_HWACCM_NO_CPUID; 179 164 180 #endif /* !VBOX_WITH_HYBIRD_32BIT_KERNEL */ 165 181 -
trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp
r3279 r3292 46 46 47 47 48 static void VMXR0CheckError(PVM pVM, int rc) 49 { 50 if (rc == VERR_VMX_GENERIC) 51 { 52 RTCCUINTREG instrError; 53 54 VMXReadVMCS(VMX_VMCS_RO_VM_INSTR_ERROR, &instrError); 55 Log(("VMXR0CheckError -> generic error %x\n", instrError)); 56 57 pVM->hwaccm.s.vmx.ulLastInstrError = instrError; 58 } 59 else 60 { 61 Log(("VMXR0CheckError failed with %Vrc\n", rc)); 62 } 63 pVM->hwaccm.s.ulLastError = rc; 64 } 65 48 66 /** 49 67 * Sets up and activates VMX … … 79 97 if (VBOX_FAILURE(rc)) 80 98 { 81 #ifdef DEBUG 82 if (rc == VERR_VMX_GENERIC) 83 { 84 RTCCUINTREG instrError; 85 86 VMXReadVMCS(VMX_VMCS_RO_VM_INSTR_ERROR, &instrError); 87 Log(("VMXEnable -> generic error %x\n", instrError)); 88 } 89 else 90 Log(("VMXEnable failed with %Vrc\n", rc)); 91 #endif 99 VMXR0CheckError(pVM, rc); 92 100 return rc; 93 101 } … … 269 277 270 278 vmx_end: 279 VMXR0CheckError(pVM, rc); 271 280 /* Leave VMX Root Mode. */ 272 281 VMXDisable();
Note:
See TracChangeset
for help on using the changeset viewer.