Changeset 54654 in vbox for trunk/src/VBox
- Timestamp:
- Mar 5, 2015 3:43:41 PM (10 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/GIMAll.cpp
r53466 r54654 5 5 6 6 /* 7 * Copyright (C) 2014 Oracle Corporation7 * Copyright (C) 2014-2015 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 71 71 { 72 72 case GIMPROVIDERID_HYPERV: 73 return GIMHvAreHypercallsEnabled(pVCpu);73 return gimHvAreHypercallsEnabled(pVCpu); 74 74 75 75 default: … … 97 97 { 98 98 case GIMPROVIDERID_HYPERV: 99 return GIMHvHypercall(pVCpu, pCtx);99 return gimHvHypercall(pVCpu, pCtx); 100 100 101 101 default: … … 121 121 { 122 122 case GIMPROVIDERID_HYPERV: 123 return GIMHvIsParavirtTscEnabled(pVM);123 return gimHvIsParavirtTscEnabled(pVM); 124 124 125 125 default: … … 152 152 { 153 153 case GIMPROVIDERID_HYPERV: 154 return GIMHvReadMsr(pVCpu, idMsr, pRange, puValue);154 return gimHvReadMsr(pVCpu, idMsr, pRange, puValue); 155 155 156 156 default: … … 186 186 { 187 187 case GIMPROVIDERID_HYPERV: 188 return GIMHvWriteMsr(pVCpu, idMsr, pRange, uRawValue);188 return gimHvWriteMsr(pVCpu, idMsr, pRange, uRawValue); 189 189 190 190 default: -
trunk/src/VBox/VMM/VMMAll/GIMAllHv.cpp
r54089 r54654 5 5 6 6 /* 7 * Copyright (C) 2014 Oracle Corporation7 * Copyright (C) 2014-2015 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 42 42 * @param pCtx Pointer to the guest-CPU context. 43 43 */ 44 VMM_INT_DECL(int) GIMHvHypercall(PVMCPU pVCpu, PCPUMCTX pCtx)44 VMM_INT_DECL(int) gimHvHypercall(PVMCPU pVCpu, PCPUMCTX pCtx) 45 45 { 46 46 PVM pVM = pVCpu->CTX_SUFF(pVM); … … 60 60 * @param pVCpu Pointer to the VMCPU. 61 61 */ 62 VMM_INT_DECL(bool) GIMHvAreHypercallsEnabled(PVMCPU pVCpu)62 VMM_INT_DECL(bool) gimHvAreHypercallsEnabled(PVMCPU pVCpu) 63 63 { 64 64 return MSR_GIM_HV_HYPERCALL_IS_ENABLED(pVCpu->CTX_SUFF(pVM)->gim.s.u.Hv.u64HypercallMsr); … … 73 73 * @param pVM Pointer to the VM. 74 74 */ 75 VMM_INT_DECL(bool) GIMHvIsParavirtTscEnabled(PVM pVM)75 VMM_INT_DECL(bool) gimHvIsParavirtTscEnabled(PVM pVM) 76 76 { 77 77 return MSR_GIM_HV_REF_TSC_IS_ENABLED(pVM->gim.s.u.Hv.u64TscPageMsr); … … 91 91 * @param puValue Where to store the MSR value read. 92 92 */ 93 VMM_INT_DECL(VBOXSTRICTRC) GIMHvReadMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)93 VMM_INT_DECL(VBOXSTRICTRC) gimHvReadMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue) 94 94 { 95 95 NOREF(pRange); … … 179 179 * @param uRawValue The raw value with the ignored bits not masked. 180 180 */ 181 VMM_INT_DECL(VBOXSTRICTRC) GIMHvWriteMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uRawValue)181 VMM_INT_DECL(VBOXSTRICTRC) gimHvWriteMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uRawValue) 182 182 { 183 183 NOREF(pRange); … … 207 207 if (!uRawValue) 208 208 { 209 GIMR3HvDisableHypercallPage(pVM);209 gimR3HvDisableHypercallPage(pVM); 210 210 pHv->u64HypercallMsr &= ~MSR_GIM_HV_HYPERCALL_ENABLE_BIT; 211 211 } … … 241 241 if (!fEnable) 242 242 { 243 GIMR3HvDisableHypercallPage(pVM);243 gimR3HvDisableHypercallPage(pVM); 244 244 pHv->u64HypercallMsr = uRawValue; 245 245 return VINF_SUCCESS; … … 248 248 /* Enable the hypercall-page. */ 249 249 RTGCPHYS GCPhysHypercallPage = MSR_GIM_HV_HYPERCALL_GUEST_PFN(uRawValue) << PAGE_SHIFT; 250 int rc = GIMR3HvEnableHypercallPage(pVM, GCPhysHypercallPage);250 int rc = gimR3HvEnableHypercallPage(pVM, GCPhysHypercallPage); 251 251 if (RT_SUCCESS(rc)) 252 252 { … … 272 272 if (!fEnable) 273 273 { 274 GIMR3HvDisableTscPage(pVM);274 gimR3HvDisableTscPage(pVM); 275 275 pHv->u64TscPageMsr = uRawValue; 276 276 return VINF_SUCCESS; … … 279 279 /* Enable the TSC-page. */ 280 280 RTGCPHYS GCPhysTscPage = MSR_GIM_HV_REF_TSC_GUEST_PFN(uRawValue) << PAGE_SHIFT; 281 int rc = GIMR3HvEnableTscPage(pVM, GCPhysTscPage, false /* fUseThisTscSequence */, 0 /* uTscSequence */);281 int rc = gimR3HvEnableTscPage(pVM, GCPhysTscPage, false /* fUseThisTscSequence */, 0 /* uTscSequence */); 282 282 if (RT_SUCCESS(rc)) 283 283 { -
trunk/src/VBox/VMM/VMMR0/GIMR0.cpp
r52767 r54654 5 5 6 6 /* 7 * Copyright (C) 2014 Oracle Corporation7 * Copyright (C) 2014-2015 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 41 41 { 42 42 case GIMPROVIDERID_HYPERV: 43 return GIMR0HvInitVM(pVM);43 return gimR0HvInitVM(pVM); 44 44 45 45 default: … … 64 64 { 65 65 case GIMPROVIDERID_HYPERV: 66 return GIMR0HvTermVM(pVM);66 return gimR0HvTermVM(pVM); 67 67 68 68 default: … … 93 93 { 94 94 case GIMPROVIDERID_HYPERV: 95 return GIMR0HvUpdateParavirtTsc(pVM, u64Offset);95 return gimR0HvUpdateParavirtTsc(pVM, u64Offset); 96 96 97 97 case GIMPROVIDERID_NONE: -
trunk/src/VBox/VMM/VMMR3/GIM.cpp
r54065 r54654 129 129 { 130 130 pVM->gim.s.enmProviderId = GIMPROVIDERID_MINIMAL; 131 rc = GIMR3MinimalInit(pVM);131 rc = gimR3MinimalInit(pVM); 132 132 } 133 133 else if (!RTStrCmp(szProvider, "HyperV")) 134 134 { 135 135 pVM->gim.s.enmProviderId = GIMPROVIDERID_HYPERV; 136 rc = GIMR3HvInit(pVM);136 rc = gimR3HvInit(pVM); 137 137 } 138 138 /** @todo KVM and others. */ … … 159 159 { 160 160 case GIMPROVIDERID_MINIMAL: 161 return GIMR3MinimalInitCompleted(pVM);162 163 case GIMPROVIDERID_HYPERV: 164 return GIMR3HvInitCompleted(pVM);161 return gimR3MinimalInitCompleted(pVM); 162 163 case GIMPROVIDERID_HYPERV: 164 return gimR3HvInitCompleted(pVM); 165 165 166 166 default: … … 194 194 case GIMPROVIDERID_MINIMAL: 195 195 { 196 GIMR3MinimalRelocate(pVM, offDelta);197 break; 198 } 199 200 case GIMPROVIDERID_HYPERV: 201 { 202 GIMR3HvRelocate(pVM, offDelta);196 gimR3MinimalRelocate(pVM, offDelta); 197 break; 198 } 199 200 case GIMPROVIDERID_HYPERV: 201 { 202 gimR3HvRelocate(pVM, offDelta); 203 203 break; 204 204 } … … 248 248 { 249 249 case GIMPROVIDERID_HYPERV: 250 rc = GIMR3HvSave(pVM, pSSM);250 rc = gimR3HvSave(pVM, pSSM); 251 251 AssertRCReturn(rc, rc); 252 252 break; … … 311 311 { 312 312 case GIMPROVIDERID_HYPERV: 313 rc = GIMR3HvLoad(pVM, pSSM, uVersion);313 rc = gimR3HvLoad(pVM, pSSM, uVersion); 314 314 AssertRCReturn(rc, rc); 315 315 break; … … 337 337 { 338 338 case GIMPROVIDERID_HYPERV: 339 return GIMR3HvTerm(pVM);339 return gimR3HvTerm(pVM); 340 340 341 341 default: … … 360 360 { 361 361 case GIMPROVIDERID_HYPERV: 362 return GIMR3HvReset(pVM);362 return gimR3HvReset(pVM); 363 363 364 364 default: … … 401 401 { 402 402 case GIMPROVIDERID_HYPERV: 403 return GIMR3HvGetMmio2Regions(pVM, pcRegions);403 return gimR3HvGetMmio2Regions(pVM, pcRegions); 404 404 405 405 case GIMPROVIDERID_KVM: /** @todo KVM. */ -
trunk/src/VBox/VMM/VMMR3/GIMHv.cpp
r54065 r54654 86 86 * @param uVersion The interface version this VM should use. 87 87 */ 88 VMMR3_INT_DECL(int) GIMR3HvInit(PVM pVM)88 VMMR3_INT_DECL(int) gimR3HvInit(PVM pVM) 89 89 { 90 90 AssertReturn(pVM, VERR_INVALID_PARAMETER); … … 239 239 * @param pVM Pointer to the VM. 240 240 */ 241 VMMR3_INT_DECL(int) GIMR3HvInitCompleted(PVM pVM)241 VMMR3_INT_DECL(int) gimR3HvInitCompleted(PVM pVM) 242 242 { 243 243 PGIMHV pHv = &pVM->gim.s.u.Hv; … … 268 268 269 269 #if 0 270 VMMR3_INT_DECL(int) GIMR3HvInitFinalize(PVM pVM)270 VMMR3_INT_DECL(int) gimR3HvInitFinalize(PVM pVM) 271 271 { 272 272 pVM->gim.s.pfnHypercallR3 = &GIMHvHypercall; … … 288 288 * @param pVM Pointer to the VM. 289 289 */ 290 VMMR3_INT_DECL(int) GIMR3HvTerm(PVM pVM)291 { 292 GIMR3HvReset(pVM);290 VMMR3_INT_DECL(int) gimR3HvTerm(PVM pVM) 291 { 292 gimR3HvReset(pVM); 293 293 return VINF_SUCCESS; 294 294 } … … 304 304 * @param offDelta Relocation delta relative to old location. 305 305 */ 306 VMMR3_INT_DECL(void) GIMR3HvRelocate(PVM pVM, RTGCINTPTR offDelta)306 VMMR3_INT_DECL(void) gimR3HvRelocate(PVM pVM, RTGCINTPTR offDelta) 307 307 { 308 308 #if 0 … … 321 321 * @param pVM Pointer to the VM. 322 322 */ 323 VMMR3_INT_DECL(void) GIMR3HvReset(PVM pVM)323 VMMR3_INT_DECL(void) gimR3HvReset(PVM pVM) 324 324 { 325 325 /* … … 350 350 * @param pcRegions Where to store the number of regions in the array. 351 351 */ 352 VMMR3_INT_DECL(PGIMMMIO2REGION) GIMR3HvGetMmio2Regions(PVM pVM, uint32_t *pcRegions)352 VMMR3_INT_DECL(PGIMMMIO2REGION) gimR3HvGetMmio2Regions(PVM pVM, uint32_t *pcRegions) 353 353 { 354 354 Assert(GIMIsEnabled(pVM)); … … 368 368 * @param pSSM Pointer to the SSM handle. 369 369 */ 370 VMMR3_INT_DECL(int) GIMR3HvSave(PVM pVM, PSSMHANDLE pSSM)370 VMMR3_INT_DECL(int) gimR3HvSave(PVM pVM, PSSMHANDLE pSSM) 371 371 { 372 372 PCGIMHV pcHv = &pVM->gim.s.u.Hv; … … 436 436 * @param uSSMVersion The GIM saved-state version. 437 437 */ 438 VMMR3_INT_DECL(int) GIMR3HvLoad(PVM pVM, PSSMHANDLE pSSM, uint32_t uSSMVersion)438 VMMR3_INT_DECL(int) gimR3HvLoad(PVM pVM, PSSMHANDLE pSSM, uint32_t uSSMVersion) 439 439 { 440 440 PGIMHV pHv = &pVM->gim.s.u.Hv; … … 486 486 if (RT_LIKELY(pRegion->fRegistered)) 487 487 { 488 rc = GIMR3HvEnableHypercallPage(pVM, pRegion->GCPhysPage);488 rc = gimR3HvEnableHypercallPage(pVM, pRegion->GCPhysPage); 489 489 if (RT_FAILURE(rc)) 490 490 return SSMR3SetCfgError(pSSM, RT_SRC_POS, N_("Failed to enable the hypercall page. GCPhys=%#RGp rc=%Rrc"), … … 512 512 if (pRegion->fRegistered) 513 513 { 514 rc = GIMR3HvEnableTscPage(pVM, pRegion->GCPhysPage, true /* fUseThisTscSeq */, uTscSequence);514 rc = gimR3HvEnableTscPage(pVM, pRegion->GCPhysPage, true /* fUseThisTscSeq */, uTscSequence); 515 515 if (RT_FAILURE(rc)) 516 516 return SSMR3SetCfgError(pSSM, RT_SRC_POS, N_("Failed to enable the TSC page. GCPhys=%#RGp rc=%Rrc"), … … 529 529 * 530 530 * @returns VBox status code. 531 * @param pVM 532 * @param GCPhysTscPage 533 * @param fUseThisTscSeq uence Whether to set the TSC sequence number to534 * the one specified in @a uTscSequence.535 * @param uTscSeq uence The TSC sequence value to use. Ignored if @a536 * fUseThisTscSequenceis false.537 538 VMMR3_INT_DECL(int) GIMR3HvEnableTscPage(PVM pVM, RTGCPHYS GCPhysTscPage, bool fUseThisTscSequence, uint32_t uTscSequence)531 * @param pVM Pointer to the VM. 532 * @param GCPhysTscPage Where to map the TSC page. 533 * @param fUseThisTscSeq Whether to set the TSC sequence number to the one 534 * specified in @a uTscSeq. 535 * @param uTscSeq The TSC sequence value to use. Ignored if 536 * @a fUseThisTscSeq is false. 537 */ 538 VMMR3_INT_DECL(int) gimR3HvEnableTscPage(PVM pVM, RTGCPHYS GCPhysTscPage, bool fUseThisTscSeq, uint32_t uTscSeq) 539 539 { 540 540 PPDMDEVINSR3 pDevIns = pVM->gim.s.pDevInsR3; … … 554 554 * If it's mapped at a different address, unmap the previous address. 555 555 */ 556 rc = GIMR3HvDisableTscPage(pVM);556 rc = gimR3HvDisableTscPage(pVM); 557 557 AssertRC(rc); 558 558 } … … 579 579 uint64_t const u64TscKHz = TMCpuTicksPerSecond(pVM) / UINT64_C(1000); 580 580 uint32_t u32TscSeq = 1; 581 if ( fUseThisTscSequence 582 && uTscSequence < UINT32_C(0xfffffffe)) 583 { 584 u32TscSeq = uTscSequence + 1; 585 } 581 if ( fUseThisTscSeq 582 && uTscSeq < UINT32_C(0xfffffffe)) 583 u32TscSeq = uTscSeq + 1; 586 584 pRefTsc->u32TscSequence = u32TscSeq; 587 585 pRefTsc->u64TscScale = ((INT64_C(10000) << 32) / u64TscKHz) << 32; … … 607 605 * @param pVM Pointer to the VM. 608 606 */ 609 VMMR3_INT_DECL(int) GIMR3HvDisableTscPage(PVM pVM)607 VMMR3_INT_DECL(int) gimR3HvDisableTscPage(PVM pVM) 610 608 { 611 609 PGIMHV pHv = &pVM->gim.s.u.Hv; … … 629 627 * @returns VBox status code. 630 628 */ 631 VMMR3_INT_DECL(int) GIMR3HvDisableHypercallPage(PVM pVM)629 VMMR3_INT_DECL(int) gimR3HvDisableHypercallPage(PVM pVM) 632 630 { 633 631 PGIMHV pHv = &pVM->gim.s.u.Hv; … … 651 649 * @param GCPhysHypercallPage Where to map the hypercall page. 652 650 */ 653 VMMR3_INT_DECL(int) GIMR3HvEnableHypercallPage(PVM pVM, RTGCPHYS GCPhysHypercallPage)651 VMMR3_INT_DECL(int) gimR3HvEnableHypercallPage(PVM pVM, RTGCPHYS GCPhysHypercallPage) 654 652 { 655 653 PPDMDEVINSR3 pDevIns = pVM->gim.s.pDevInsR3; … … 668 666 * If it's mapped at a different address, unmap the previous address. 669 667 */ 670 int rc2 = GIMR3HvDisableHypercallPage(pVM);668 int rc2 = gimR3HvDisableHypercallPage(pVM); 671 669 AssertRC(rc2); 672 670 } -
trunk/src/VBox/VMM/VMMR3/GIMMinimal.cpp
r52707 r54654 5 5 6 6 /* 7 * Copyright (C) 2014 Oracle Corporation7 * Copyright (C) 2014-2015 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 42 42 * @param pVM Pointer to the VM. 43 43 */ 44 VMMR3_INT_DECL(int) GIMR3MinimalInit(PVM pVM)44 VMMR3_INT_DECL(int) gimR3MinimalInit(PVM pVM) 45 45 { 46 46 AssertReturn(pVM, VERR_INVALID_PARAMETER); … … 63 63 * @param pVM Pointer to the VM. 64 64 */ 65 VMMR3_INT_DECL(int) GIMR3MinimalInitCompleted(PVM pVM)65 VMMR3_INT_DECL(int) gimR3MinimalInitCompleted(PVM pVM) 66 66 { 67 67 /* … … 114 114 * @param offDelta Relocation delta relative to old location. 115 115 */ 116 VMMR3_INT_DECL(void) GIMR3MinimalRelocate(PVM pVM, RTGCINTPTR offDelta)116 VMMR3_INT_DECL(void) gimR3MinimalRelocate(PVM pVM, RTGCINTPTR offDelta) 117 117 { 118 118 NOREF(pVM); NOREF(offDelta); -
trunk/src/VBox/VMM/include/GIMHvInternal.h
r53509 r54654 5 5 6 6 /* 7 * Copyright (C) 2014 Oracle Corporation7 * Copyright (C) 2014-2015 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 495 495 RT_C_DECLS_BEGIN 496 496 497 /** @todo r=bird: Internal header, internal prefix: s/GIM\(R.|\)Hv/gim\1Hv/g */498 499 497 #ifdef IN_RING0 500 VMMR0_INT_DECL(int) GIMR0HvInitVM(PVM pVM);501 VMMR0_INT_DECL(int) GIMR0HvTermVM(PVM pVM);502 VMMR0_INT_DECL(int) GIMR0HvUpdateParavirtTsc(PVM pVM, uint64_t u64Offset);498 VMMR0_INT_DECL(int) gimR0HvInitVM(PVM pVM); 499 VMMR0_INT_DECL(int) gimR0HvTermVM(PVM pVM); 500 VMMR0_INT_DECL(int) gimR0HvUpdateParavirtTsc(PVM pVM, uint64_t u64Offset); 503 501 #endif /* IN_RING0 */ 504 502 505 503 #ifdef IN_RING3 506 VMMR3_INT_DECL(int) GIMR3HvInit(PVM pVM);507 VMMR3_INT_DECL(int) GIMR3HvInitCompleted(PVM pVM);508 VMMR3_INT_DECL(int) GIMR3HvTerm(PVM pVM);509 VMMR3_INT_DECL(void) GIMR3HvRelocate(PVM pVM, RTGCINTPTR offDelta);510 VMMR3_INT_DECL(void) GIMR3HvReset(PVM pVM);511 VMMR3_INT_DECL(PGIMMMIO2REGION) GIMR3HvGetMmio2Regions(PVM pVM, uint32_t *pcRegions);512 VMMR3_INT_DECL(int) GIMR3HvSave(PVM pVM, PSSMHANDLE pSSM);513 VMMR3_INT_DECL(int) GIMR3HvLoad(PVM pVM, PSSMHANDLE pSSM, uint32_t uSSMVersion);514 515 VMMR3_INT_DECL(int) GIMR3HvDisableTscPage(PVM pVM);516 VMMR3_INT_DECL(int) GIMR3HvEnableTscPage(PVM pVM, RTGCPHYS GCPhysTscPage, bool fUseThisTscSequence, uint32_t uTscSequence);517 VMMR3_INT_DECL(int) GIMR3HvDisableHypercallPage(PVM pVM);518 VMMR3_INT_DECL(int) GIMR3HvEnableHypercallPage(PVM pVM, RTGCPHYS GCPhysHypercallPage);504 VMMR3_INT_DECL(int) gimR3HvInit(PVM pVM); 505 VMMR3_INT_DECL(int) gimR3HvInitCompleted(PVM pVM); 506 VMMR3_INT_DECL(int) gimR3HvTerm(PVM pVM); 507 VMMR3_INT_DECL(void) gimR3HvRelocate(PVM pVM, RTGCINTPTR offDelta); 508 VMMR3_INT_DECL(void) gimR3HvReset(PVM pVM); 509 VMMR3_INT_DECL(PGIMMMIO2REGION) gimR3HvGetMmio2Regions(PVM pVM, uint32_t *pcRegions); 510 VMMR3_INT_DECL(int) gimR3HvSave(PVM pVM, PSSMHANDLE pSSM); 511 VMMR3_INT_DECL(int) gimR3HvLoad(PVM pVM, PSSMHANDLE pSSM, uint32_t uSSMVersion); 512 513 VMMR3_INT_DECL(int) gimR3HvDisableTscPage(PVM pVM); 514 VMMR3_INT_DECL(int) gimR3HvEnableTscPage(PVM pVM, RTGCPHYS GCPhysTscPage, bool fUseThisTscSeq, uint32_t uTscSeq); 515 VMMR3_INT_DECL(int) gimR3HvDisableHypercallPage(PVM pVM); 516 VMMR3_INT_DECL(int) gimR3HvEnableHypercallPage(PVM pVM, RTGCPHYS GCPhysHypercallPage); 519 517 #endif /* IN_RING3 */ 520 518 521 VMM_INT_DECL(bool) GIMHvIsParavirtTscEnabled(PVM pVM);522 VMM_INT_DECL(bool) GIMHvAreHypercallsEnabled(PVMCPU pVCpu);523 VMM_INT_DECL(int) GIMHvHypercall(PVMCPU pVCpu, PCPUMCTX pCtx);524 VMM_INT_DECL(VBOXSTRICTRC) GIMHvReadMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue);525 VMM_INT_DECL(VBOXSTRICTRC) GIMHvWriteMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uRawValue);519 VMM_INT_DECL(bool) gimHvIsParavirtTscEnabled(PVM pVM); 520 VMM_INT_DECL(bool) gimHvAreHypercallsEnabled(PVMCPU pVCpu); 521 VMM_INT_DECL(int) gimHvHypercall(PVMCPU pVCpu, PCPUMCTX pCtx); 522 VMM_INT_DECL(VBOXSTRICTRC) gimHvReadMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue); 523 VMM_INT_DECL(VBOXSTRICTRC) gimHvWriteMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uRawValue); 526 524 527 525 RT_C_DECLS_END -
trunk/src/VBox/VMM/include/GIMMinimalInternal.h
r52765 r54654 5 5 6 6 /* 7 * Copyright (C) 2014 Oracle Corporation7 * Copyright (C) 2014-2015 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 25 25 26 26 #ifdef IN_RING3 27 VMMR3_INT_DECL(int) GIMR3MinimalInit(PVM pVM);28 VMMR3_INT_DECL(int) GIMR3MinimalInitCompleted(PVM pVM);29 VMMR3_INT_DECL(void) GIMR3MinimalRelocate(PVM pVM, RTGCINTPTR offDelta);27 VMMR3_INT_DECL(int) gimR3MinimalInit(PVM pVM); 28 VMMR3_INT_DECL(int) gimR3MinimalInitCompleted(PVM pVM); 29 VMMR3_INT_DECL(void) gimR3MinimalRelocate(PVM pVM, RTGCINTPTR offDelta); 30 30 #endif /* IN_RING3 */ 31 31
Note:
See TracChangeset
for help on using the changeset viewer.