Changeset 72596 in vbox for trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
- Timestamp:
- Jun 18, 2018 12:51:15 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r72595 r72596 6255 6255 { 6256 6256 HMSVM_VALIDATE_EXIT_HANDLER_PARAMS(); 6257 #if 1 /** @todo Needs testing. @bugref{6973} */6258 6257 VBOXSTRICTRC rcStrict = IEMExecDecodedRdtsc(pVCpu, hmR0SvmGetInstrLengthHwAssist(pVCpu, pCtx, 2)); 6259 6258 if (rcStrict == VINF_SUCCESS) … … 6264 6263 STAM_COUNTER_INC(&pVCpu->hm.s.StatExitRdtsc); 6265 6264 return VBOXSTRICTRC_TODO(rcStrict); 6266 #else6267 int rc = EMInterpretRdtsc(pVCpu->CTX_SUFF(pVM), pVCpu, CPUMCTX2CORE(pCtx));6268 if (RT_LIKELY(rc == VINF_SUCCESS))6269 {6270 pSvmTransient->fUpdateTscOffsetting = true;6271 HMSVM_CHECK_SINGLE_STEP(pVCpu, rc);6272 }6273 else6274 {6275 AssertMsgFailed(("hmR0SvmExitRdtsc: EMInterpretRdtsc failed with %Rrc\n", rc));6276 rc = VERR_EM_INTERPRETER;6277 }6278 STAM_COUNTER_INC(&pVCpu->hm.s.StatExitRdtsc);6279 return rc;6280 #endif6281 6265 } 6282 6266 … … 6288 6272 { 6289 6273 HMSVM_VALIDATE_EXIT_HANDLER_PARAMS(); 6290 #if 1 /** @todo Needs testing. @bugref{6973} */6291 6274 VBOXSTRICTRC rcStrict = IEMExecDecodedRdtscp(pVCpu, hmR0SvmGetInstrLengthHwAssist(pVCpu, pCtx, 2)); 6292 6275 if (rcStrict == VINF_SUCCESS) … … 6297 6280 STAM_COUNTER_INC(&pVCpu->hm.s.StatExitRdtscp); 6298 6281 return VBOXSTRICTRC_TODO(rcStrict); 6299 #else6300 int rc = EMInterpretRdtscp(pVCpu->CTX_SUFF(pVM), pVCpu, pCtx);6301 if (RT_LIKELY(rc == VINF_SUCCESS))6302 {6303 pSvmTransient->fUpdateTscOffsetting = true;6304 hmR0SvmAdvanceRipHwAssist(pVCpu, pCtx, 3);6305 HMSVM_CHECK_SINGLE_STEP(pVCpu, rc);6306 }6307 else6308 {6309 AssertMsgFailed(("hmR0SvmExitRdtsc: EMInterpretRdtscp failed with %Rrc\n", rc));6310 rc = VERR_EM_INTERPRETER;6311 }6312 STAM_COUNTER_INC(&pVCpu->hm.s.StatExitRdtscp);6313 return rc;6314 #endif6315 6282 } 6316 6283
Note:
See TracChangeset
for help on using the changeset viewer.