Changeset 51244 in vbox for trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
- Timestamp:
- May 13, 2014 2:19:15 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r51241 r51244 6177 6177 case MSR_K8_SF_MASK: pMixedCtx->msrSFMASK = pMsr->u64Value; break; 6178 6178 case MSR_K8_KERNEL_GS_BASE: pMixedCtx->msrKERNELGSBASE = pMsr->u64Value; break; 6179 #if HC_ARCH_BITS == 64 || defined(VBOX_WITH_HYBRID_32BIT_KERNEL) 6180 case MSR_K6_EFER: 6181 { 6182 if (HMVMX_IS_64BIT_HOST_MODE()) /* Nothing to do here since we intercept writes, see hmR0VmxLoadGuestMsrs(). */ 6183 break; 6184 } 6185 #endif 6179 case MSR_K6_EFER: /* Nothing to do here since we intercept writes, see hmR0VmxLoadGuestMsrs(). */ 6180 break; 6181 6186 6182 default: 6187 6183 { 6188 6184 AssertMsgFailed(("Unexpected MSR in auto-load/store area. uMsr=%#RX32 cMsrs=%u\n", pMsr->u32Msr, cMsrs)); 6185 pVCpu->hm.s.u32HMError = pMsr->u32Msr; 6189 6186 return VERR_HM_UNEXPECTED_LD_ST_MSR; 6190 6187 } … … 10465 10462 if (hmR0VmxIsAutoLoadStoreGuestMsr(pVCpu, pMixedCtx->ecx)) 10466 10463 { 10467 #if HC_ARCH_BITS == 64 || defined(VBOX_WITH_HYBRID_32BIT_KERNEL)10468 10464 /* EFER writes are always intercepted, see hmR0VmxLoadGuestMsrs(). */ 10469 if ( HMVMX_IS_64BIT_HOST_MODE() 10470 && pMixedCtx->ecx == MSR_K6_EFER) 10465 if (pMixedCtx->ecx != MSR_K6_EFER) 10471 10466 { 10472 break; 10467 AssertMsgFailed(("Unexpected WRMSR for an MSR in the auto-load/store area in the VMCS. ecx=%#RX32\n", 10468 pMixedCtx->ecx)); 10469 HMVMX_RETURN_UNEXPECTED_EXIT(); 10473 10470 } 10474 #endif10475 AssertMsgFailed(("Unexpected WRMSR for an MSR in the auto-load/store area in the VMCS. ecx=%#RX32\n",10476 pMixedCtx->ecx));10477 HMVMX_RETURN_UNEXPECTED_EXIT();10478 10471 } 10479 10472
Note:
See TracChangeset
for help on using the changeset viewer.