Changeset 72636 in vbox for trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
- Timestamp:
- Jun 21, 2018 10:47:43 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r72623 r72636 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) 6260 6259 pSvmTransient->fUpdateTscOffsetting = true; 6261 else if (rcStrict == VINF_ EM_RESCHEDULE)6260 else if (rcStrict == VINF_IEM_RAISED_XCPT) 6262 6261 rcStrict = VINF_SUCCESS; 6263 6262 HMSVM_CHECK_SINGLE_STEP(pVCpu, rcStrict); 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 hmR0SvmAdvanceRipHwAssist(pVCpu, pCtx, 2);6272 HMSVM_CHECK_SINGLE_STEP(pVCpu, rc);6273 }6274 else6275 {6276 AssertMsgFailed(("hmR0SvmExitRdtsc: EMInterpretRdtsc failed with %Rrc\n", rc));6277 rc = VERR_EM_INTERPRETER;6278 }6279 STAM_COUNTER_INC(&pVCpu->hm.s.StatExitRdtsc);6280 return rc;6281 #endif6282 6265 } 6283 6266 … … 6289 6272 { 6290 6273 HMSVM_VALIDATE_EXIT_HANDLER_PARAMS(); 6291 #if 1 /** @todo Needs testing. @bugref{6973} */6292 6274 VBOXSTRICTRC rcStrict = IEMExecDecodedRdtscp(pVCpu, hmR0SvmGetInstrLengthHwAssist(pVCpu, pCtx, 3)); 6293 6275 if (rcStrict == VINF_SUCCESS) 6294 6276 pSvmTransient->fUpdateTscOffsetting = true; 6295 else if (rcStrict == VINF_ EM_RESCHEDULE)6277 else if (rcStrict == VINF_IEM_RAISED_XCPT) 6296 6278 rcStrict = VINF_SUCCESS; 6297 6279 HMSVM_CHECK_SINGLE_STEP(pVCpu, rcStrict); 6298 6280 STAM_COUNTER_INC(&pVCpu->hm.s.StatExitRdtscp); 6299 6281 return VBOXSTRICTRC_TODO(rcStrict); 6300 #else6301 int rc = EMInterpretRdtscp(pVCpu->CTX_SUFF(pVM), pVCpu, pCtx);6302 if (RT_LIKELY(rc == VINF_SUCCESS))6303 {6304 pSvmTransient->fUpdateTscOffsetting = true;6305 hmR0SvmAdvanceRipHwAssist(pVCpu, pCtx, 3);6306 HMSVM_CHECK_SINGLE_STEP(pVCpu, rc);6307 }6308 else6309 {6310 AssertMsgFailed(("hmR0SvmExitRdtsc: EMInterpretRdtscp failed with %Rrc\n", rc));6311 rc = VERR_EM_INTERPRETER;6312 }6313 STAM_COUNTER_INC(&pVCpu->hm.s.StatExitRdtscp);6314 return rc;6315 #endif6316 6282 } 6317 6283
Note:
See TracChangeset
for help on using the changeset viewer.