Changeset 51563 in vbox for trunk/src/VBox
- Timestamp:
- Jun 6, 2014 6:09:36 AM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 94221
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/GIMAll.cpp
r51560 r51563 102 102 103 103 104 VMMDECL(bool) GIMIsParavirtTscEnabled(PVM pVM) 105 { 106 if (!pVM->gim.s.fEnabled) 107 return false; 108 109 switch (pVM->gim.s.enmProviderId) 110 { 111 case GIMPROVIDERID_HYPERV: 112 return GIMHvIsParavirtTscEnabled(pVM); 113 114 default: 115 break; 116 } 117 return false; 118 } 119 120 104 121 /** 105 122 * Invokes the read-MSR handler for the GIM provider configured for the VM. … … 142 159 VMM_INT_DECL(int) GIMWriteMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue) 143 160 { 144 Assert(pVCpu); 161 AssertPtr(pVCpu); 162 NOREF(uValue); 163 145 164 PVM pVM = pVCpu->CTX_SUFF(pVM); 146 165 Assert(GIMIsEnabled(pVM)); … … 150 169 { 151 170 case GIMPROVIDERID_HYPERV: 152 return GIMHvWriteMsr(pVCpu, idMsr, pRange, u Value, uRawValue);171 return GIMHvWriteMsr(pVCpu, idMsr, pRange, uRawValue); 153 172 154 173 default: -
trunk/src/VBox/VMM/VMMAll/GIMAllHv.cpp
r51560 r51563 37 37 * @param pCtx Pointer to the guest-CPU context. 38 38 */ 39 VMM DECL(int) GIMHvHypercall(PVMCPU pVCpu, PCPUMCTX pCtx)39 VMM_INT_DECL(int) GIMHvHypercall(PVMCPU pVCpu, PCPUMCTX pCtx) 40 40 { 41 41 return VINF_SUCCESS; 42 } 43 44 45 /** 46 * Returns whether the guest has configured and enabled the use of Hyper-V's 47 * paravirtualized TSC. 48 * 49 * @returns true if paravirt. TSC is enabled, false otherwise. 50 * @param pVM Pointer to the VM. 51 */ 52 VMM_INT_DECL(bool) GIMHvIsParavirtTscEnabled(PVM pVM) 53 { 54 return MSR_GIM_HV_REF_TSC_IS_ENABLED(pVM->gim.s.u.Hv.u64TscPageMsr); 42 55 } 43 56 … … 51 64 * @thread EMT(pVCpu) 52 65 */ 53 VMM DECL(int) GIMHvUpdateParavirtTsc(PVM pVM, uint64_t u64Offset)66 VMM_INT_DECL(int) GIMHvUpdateParavirtTsc(PVM pVM, uint64_t u64Offset) 54 67 { 55 68 Assert(GIMIsEnabled(pVM)); … … 81 94 * @param puValue Where to store the MSR value read. 82 95 */ 83 VMM DECL(int) GIMHvReadMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)96 VMM_INT_DECL(int) GIMHvReadMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue) 84 97 { 85 98 NOREF(pRange); … … 140 153 * @param idMsr The MSR being written. 141 154 * @param pRange The range this MSR belongs to. 142 * @param uValue The value to set, ignored bits masked.143 155 * @param uRawValue The raw value with the ignored bits not masked. 144 156 */ 145 VMM DECL(int) GIMHvWriteMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)146 { 147 NOREF(pRange); NOREF(uValue);157 VMM_INT_DECL(int) GIMHvWriteMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uRawValue) 158 { 159 NOREF(pRange); 148 160 PVM pVM = pVCpu->CTX_SUFF(pVM); 149 161 PGIMHV pHv = &pVM->gim.s.u.Hv; -
trunk/src/VBox/VMM/include/GIMHvInternal.h
r51560 r51563 477 477 478 478 #ifdef IN_RING0 479 VMMR0_INT_DECL(int) GIMR0HvInitVM(PVM pVM);480 VMMR0_INT_DECL(int) GIMR0HvTermVM(PVM pVM);479 VMMR0_INT_DECL(int) GIMR0HvInitVM(PVM pVM); 480 VMMR0_INT_DECL(int) GIMR0HvTermVM(PVM pVM); 481 481 #endif /* IN_RING0 */ 482 482 483 483 #ifdef IN_RING3 484 VMMR3_INT_DECL(int) GIMR3HvInit(PVM pVM);485 VMMR3_INT_DECL(void) GIMR3HvRelocate(PVM pVM, RTGCINTPTR offDelta);486 VMMR3_INT_DECL(void) GIMR3HvReset(PVM pVM);484 VMMR3_INT_DECL(int) GIMR3HvInit(PVM pVM); 485 VMMR3_INT_DECL(void) GIMR3HvRelocate(PVM pVM, RTGCINTPTR offDelta); 486 VMMR3_INT_DECL(void) GIMR3HvReset(PVM pVM); 487 487 VMMR3_INT_DECL(PGIMMMIO2REGION) GIMR3HvGetMmio2Regions(PVM pVM, uint32_t *pcRegions); 488 488 #endif /* IN_RING3 */ 489 489 490 VMMDECL(int) GIMHvUpdateParavirtTsc(PVM pVM, uint64_t u64Offset); 491 VMMDECL(int) GIMHvHypercall(PVMCPU pVCpu, PCPUMCTX pCtx); 492 VMMDECL(int) GIMHvReadMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue); 493 VMMDECL(int) GIMHvWriteMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue); 490 VMM_INT_DECL(bool) GIMHvIsParavirtTscEnabled(PVM pVM); 491 VMM_INT_DECL(int) GIMHvUpdateParavirtTsc(PVM pVM, uint64_t u64Offset); 492 VMM_INT_DECL(int) GIMHvHypercall(PVMCPU pVCpu, PCPUMCTX pCtx); 493 VMM_INT_DECL(int) GIMHvReadMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue); 494 VMM_INT_DECL(int) GIMHvWriteMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uRawValue); 494 495 495 496 RT_C_DECLS_END
Note:
See TracChangeset
for help on using the changeset viewer.