- Timestamp:
- May 9, 2017 1:04:57 PM (8 years ago)
- svn:sync-xref-src-repo-rev:
- 115309
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/EMAll.cpp
r66581 r66848 1317 1317 1318 1318 /* Same behaviour in 32 & 64 bits mode */ 1319 pRegFrame->rax = (uint32_t)uTicks;1320 pRegFrame->rdx = (uTicks >> 32ULL);1319 pRegFrame->rax = RT_LO_U32(uTicks); 1320 pRegFrame->rdx = RT_HI_U32(uTicks); 1321 1321 #ifdef VBOX_COMPARE_IEM_AND_EM 1322 1322 g_fIgnoreRaxRdx = true; … … 1353 1353 1354 1354 /* Same behaviour in 32 & 64 bits mode */ 1355 pCtx->rax = (uint32_t)uTicks;1356 pCtx->rdx = (uTicks >> 32ULL);1355 pCtx->rax = RT_LO_U32(uTicks); 1356 pCtx->rdx = RT_HI_U32(uTicks); 1357 1357 #ifdef VBOX_COMPARE_IEM_AND_EM 1358 1358 g_fIgnoreRaxRdx = true; … … 1580 1580 return VERR_EM_INTERPRETER; 1581 1581 } 1582 pRegFrame->rax = (uint32_t) uValue;1583 pRegFrame->rdx = (uint32_t)(uValue >> 32);1582 pRegFrame->rax = RT_LO_U32(uValue); 1583 pRegFrame->rdx = RT_HI_U32(uValue); 1584 1584 LogFlow(("EMInterpretRdmsr %s (%x) -> %RX64\n", emMSRtoString(pRegFrame->ecx), pRegFrame->ecx, uValue)); 1585 1585 return VINF_SUCCESS; -
trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h
r66686 r66848 5779 5779 */ 5780 5780 uint64_t uTicks = TMCpuTickGet(pVCpu); 5781 pCtx->rax = (uint32_t)uTicks;5782 pCtx->rdx = uTicks >> 32;5781 pCtx->rax = RT_LO_U32(uTicks); 5782 pCtx->rdx = RT_HI_U32(uTicks); 5783 5783 #ifdef IEM_VERIFICATION_MODE_FULL 5784 5784 pVCpu->iem.s.fIgnoreRaxRdx = true; … … 5827 5827 5828 5828 uint64_t uTicks = TMCpuTickGet(pVCpu); 5829 pCtx->rax = (uint32_t)uTicks;5830 pCtx->rdx = uTicks >> 32;5829 pCtx->rax = RT_LO_U32(uTicks); 5830 pCtx->rdx = RT_HI_U32(uTicks); 5831 5831 #ifdef IEM_VERIFICATION_MODE_FULL 5832 5832 pVCpu->iem.s.fIgnoreRaxRdx = true; -
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r66759 r66848 984 984 { 985 985 uint32_t aParam[8]; 986 aParam[0] = (uint32_t)(HCPhysVmcbHost);/* Param 1: HCPhysVmcbHost - Lo. */987 aParam[1] = (uint32_t)(HCPhysVmcbHost >> 32);/* Param 1: HCPhysVmcbHost - Hi. */988 aParam[2] = (uint32_t)(HCPhysVmcb);/* Param 2: HCPhysVmcb - Lo. */989 aParam[3] = (uint32_t)(HCPhysVmcb >> 32);/* Param 2: HCPhysVmcb - Hi. */986 aParam[0] = RT_LO_U32(HCPhysVmcbHost); /* Param 1: HCPhysVmcbHost - Lo. */ 987 aParam[1] = RT_HI_U32(HCPhysVmcbHost); /* Param 1: HCPhysVmcbHost - Hi. */ 988 aParam[2] = RT_LO_U32(HCPhysVmcb); /* Param 2: HCPhysVmcb - Lo. */ 989 aParam[3] = RT_HI_U32(HCPhysVmcb); /* Param 2: HCPhysVmcb - Hi. */ 990 990 aParam[4] = VM_RC_ADDR(pVM, pVM); 991 991 aParam[5] = 0; -
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r66790 r66848 5399 5399 5400 5400 uint32_t aParam[10]; 5401 aParam[0] = (uint32_t)(HCPhysCpuPage);/* Param 1: VMXON physical address - Lo. */5402 aParam[1] = (uint32_t)(HCPhysCpuPage >> 32);/* Param 1: VMXON physical address - Hi. */5403 aParam[2] = (uint32_t)(pVCpu->hm.s.vmx.HCPhysVmcs);/* Param 2: VMCS physical address - Lo. */5404 aParam[3] = (uint32_t)(pVCpu->hm.s.vmx.HCPhysVmcs >> 32);/* Param 2: VMCS physical address - Hi. */5401 aParam[0] = RT_LO_U32(HCPhysCpuPage); /* Param 1: VMXON physical address - Lo. */ 5402 aParam[1] = RT_HI_U32(HCPhysCpuPage); /* Param 1: VMXON physical address - Hi. */ 5403 aParam[2] = RT_LO_U32(pVCpu->hm.s.vmx.HCPhysVmcs); /* Param 2: VMCS physical address - Lo. */ 5404 aParam[3] = RT_HI_U32(pVCpu->hm.s.vmx.HCPhysVmcs); /* Param 2: VMCS physical address - Hi. */ 5405 5405 aParam[4] = VM_RC_ADDR(pVM, &pVM->aCpus[pVCpu->idCpu].hm.s.vmx.VMCSCache); 5406 5406 aParam[5] = 0; … … 5583 5583 case VMX_VMCS64_HOST_PERF_GLOBAL_CTRL_FULL: 5584 5584 { 5585 rc = VMXWriteVmcs32(idxField, u64Val);5586 rc |= VMXWriteVmcs32(idxField + 1, (uint32_t)(u64Val >> 32));5585 rc = VMXWriteVmcs32(idxField, RT_LO_U32(u64Val)); 5586 rc |= VMXWriteVmcs32(idxField + 1, RT_HI_U32(u64Val)); 5587 5587 break; 5588 5588 } … … 5609 5609 case VMX_VMCS_GUEST_SYSENTER_EIP: 5610 5610 { 5611 if (!( u64Val >> 32))5611 if (!(RT_HI_U32(u64Val))) 5612 5612 { 5613 5613 /* If this field is 64-bit, VT-x will zero out the top bits. */ 5614 rc = VMXWriteVmcs32(idxField, (uint32_t)u64Val);5614 rc = VMXWriteVmcs32(idxField, RT_LO_U32(u64Val)); 5615 5615 } 5616 5616 else -
trunk/src/VBox/VMM/VMMR3/VMM.cpp
r66757 r66848 626 626 CPUMSetHyperESP(pVCpu, pVCpu->vmm.s.pbEMTStackBottomRC); /* Clear the stack. */ 627 627 uint64_t u64TS = RTTimeProgramStartNanoTS(); 628 CPUMPushHyper(pVCpu, (uint32_t)(u64TS >> 32));/* Param 4: The program startup TS - Hi. */629 CPUMPushHyper(pVCpu, (uint32_t)u64TS);/* Param 4: The program startup TS - Lo. */628 CPUMPushHyper(pVCpu, RT_HI_U32(u64TS)); /* Param 4: The program startup TS - Hi. */ 629 CPUMPushHyper(pVCpu, RT_LO_U32(u64TS)); /* Param 4: The program startup TS - Lo. */ 630 630 CPUMPushHyper(pVCpu, vmmGetBuildType()); /* Param 3: Version argument. */ 631 631 CPUMPushHyper(pVCpu, VMMGetSvnRev()); /* Param 2: Version argument. */ -
trunk/src/VBox/VMM/VMMR3/VMMTests.cpp
r63560 r66848 113 113 " MVO(%#010llx, \"MSR\", UINT64_C(%#018llx)),\n", paResults[i].uMsr, paResults[i].uValue); 114 114 RTPrintf("%#010llx = %#010x`%08x\n", paResults[i].uMsr, 115 (uint32_t)(paResults[i].uValue >> 32), (uint32_t)paResults[i].uValue);115 RT_HI_U32(paResults[i].uValue), RT_LO_U32(paResults[i].uValue)); 116 116 } 117 117 cMsrsFound++; -
trunk/src/VBox/VMM/VMMRC/TRPMRCHandlers.cpp
r65650 r66848 1053 1053 1054 1054 uint64_t uTicks = TMCpuTickGet(pVCpu); 1055 pRegFrame->eax = uTicks;1056 pRegFrame->edx = uTicks >> 32;1055 pRegFrame->eax = RT_LO_U32(uTicks); 1056 pRegFrame->edx = RT_HI_U32(uTicks); 1057 1057 pRegFrame->eip += 2; 1058 1058 TRPM_EXIT_DBG_HOOK(0xd);
Note:
See TracChangeset
for help on using the changeset viewer.