VirtualBox

Changeset 14366 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Nov 19, 2008 5:20:49 PM (16 years ago)
Author:
vboxsync
Message:

Cleaned up some more.

Location:
trunk/src/VBox/VMM
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/HWACCMInternal.h

    r14364 r14366  
    520520VMMR0DECL(PHWACCM_CPUINFO) HWACCMR0GetCurrentCpu();
    521521
    522 DECLASM(int) SVMVMRun(RTHCPHYS pVMCBHostPhys, RTHCPHYS pVMCBPhys, PCPUMCTX pCtx);
    523 DECLASM(int) SVMVMRun64(RTHCPHYS pVMCBHostPhys, RTHCPHYS pVMCBPhys, PCPUMCTX pCtx);
    524 DECLASM(int) SVMVMSwitcherRun64(RTHCPHYS pVMCBHostPhys, RTHCPHYS pVMCBPhys, PCPUMCTX pCtx);
    525 
    526522
    527523#ifdef VBOX_STRICT
  • trunk/src/VBox/VMM/VMMR0/HWACCMR0A.asm

    r13908 r14366  
    939939; * @param   pCtx           Guest context
    940940; */
    941 BEGINPROC SVMVMRun
     941BEGINPROC SVMR0VMRun
    942942%ifdef RT_ARCH_AMD64 ; fake a cdecl stack frame
    943943 %ifdef ASM_CALL64_GCC
     
    10361036%endif
    10371037    ret
    1038 ENDPROC SVMVMRun
     1038ENDPROC SVMR0VMRun
    10391039
    10401040%ifdef RT_ARCH_AMD64
     
    10471047; * @param   pCtx           Guest context
    10481048; */
    1049 BEGINPROC SVMVMRun64
     1049BEGINPROC SVMR0VMRun64
    10501050    ; fake a cdecl stack frame
    10511051 %ifdef ASM_CALL64_GCC
     
    11571157    add     rsp, 4*xS
    11581158    ret
    1159 ENDPROC SVMVMRun64
     1159ENDPROC SVMR0VMRun64
    11601160%endif ; RT_ARCH_AMD64
    11611161
     
    11681168; @param   uASID    msc:rdx  gcc:rsi  x86:[esp+0C]  Tagged TLB id
    11691169;
    1170 ;DECLASM(void) SVMInvlpgA(RTGCPTR pPageGC, uint32_t uASID);
    1171 BEGINPROC SVMInvlpgA
     1170;DECLASM(void) SVMR0InvlpgA(RTGCPTR pPageGC, uint32_t uASID);
     1171BEGINPROC SVMR0InvlpgA
    11721172%ifdef RT_ARCH_AMD64
    11731173 %ifdef ASM_CALL64_GCC
     
    11881188    invlpga [xAX], ecx
    11891189    ret
    1190 ENDPROC SVMInvlpgA
     1190ENDPROC SVMR0InvlpgA
    11911191
    11921192%else
     
    11971197; @param   uASID    msc:edx  gcc:esi  x86:[esp+08]  Tagged TLB id
    11981198;
    1199 ;DECLASM(void) SVMInvlpgA(RTGCPTR pPageGC, uint32_t uASID);
    1200 BEGINPROC SVMInvlpgA
     1199;DECLASM(void) SVMR0InvlpgA(RTGCPTR pPageGC, uint32_t uASID);
     1200BEGINPROC SVMR0InvlpgA
    12011201%ifdef RT_ARCH_AMD64
    12021202 %ifdef ASM_CALL64_GCC
     
    12171217    invlpga [xAX], ecx
    12181218    ret
    1219 ENDPROC SVMInvlpgA
     1219ENDPROC SVMR0InvlpgA
    12201220
    12211221%endif ; GC_ARCH_BITS != 64
  • trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp

    r14364 r14366  
    762762        return VERR_PGM_UNSUPPORTED_SHADOW_PAGING_MODE;
    763763#elif HC_ARCH_BITS == 32
    764         pVCpu->hwaccm.s.svm.pfnVMRun = SVMVMSwitcherRun64;
     764        pVCpu->hwaccm.s.svm.pfnVMRun = SVMR0VMSwitcherRun64;
    765765#else
    766         pVCpu->hwaccm.s.svm.pfnVMRun = SVMVMRun64;
     766        pVCpu->hwaccm.s.svm.pfnVMRun = SVMR0VMRun64;
    767767#endif
    768768        /* Unconditionally update these as wrmsr might have changed them. (HWACCM_CHANGED_GUEST_SEGMENT_REGS will not be set) */
     
    775775        pVMCB->guest.u64EFER &= ~MSR_K6_EFER_LME;
    776776
    777         pVCpu->hwaccm.s.svm.pfnVMRun = SVMVMRun;
     777        pVCpu->hwaccm.s.svm.pfnVMRun = SVMR0VMRun;
    778778    }
    779779
     
    21552155    {
    21562156        /* Manually invalidate the page for the VM's TLB. */
    2157         Log(("SVMInvlpgA %RGv ASID=%d\n", addr, uASID));
    2158         SVMInvlpgA(addr, uASID);
     2157        Log(("SVMR0InvlpgA %RGv ASID=%d\n", addr, uASID));
     2158        SVMR0InvlpgA(addr, uASID);
    21592159        return VINF_SUCCESS;
    21602160    }
     
    22372237
    22382238        STAM_COUNTER_INC(&pVCpu->hwaccm.s.StatFlushPageManual);
    2239         SVMInvlpgA(GCVirt, pVMCB->ctrl.TLBCtrl.n.u32ASID);
     2239        SVMR0InvlpgA(GCVirt, pVMCB->ctrl.TLBCtrl.n.u32ASID);
    22402240    }
    22412241    return VINF_SUCCESS;
     
    22622262#ifdef HC_ARCH_BITS == 32
    22632263/**
    2264  * Prepares for and executes VMRUN (64 bits guests).
     2264 * Prepares for and executes VMRUN (64 bits guests from a 32 bits hosts).
    22652265 *
    22662266 * @returns VBox status code.
     
    22692269 * @param   pCtx            Guest context.
    22702270 */
    2271 DECLASM(int) SVMVMSwitcherRun64(RTHCPHYS pVMCBHostPhys, RTHCPHYS pVMCBPhys, PCPUMCTX pCtx)
     2271DECLASM(int) SVMR0VMSwitcherRun64(RTHCPHYS pVMCBHostPhys, RTHCPHYS pVMCBPhys, PCPUMCTX pCtx)
    22722272{
    22732273    return VERR_NOT_IMPLEMENTED;
  • trunk/src/VBox/VMM/VMMR0/HWSVMR0.h

    r13883 r14366  
    138138VMMR0DECL(int) SVMR0LoadGuestState(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx);
    139139
     140/**
     141 * Prepares for and executes VMRUN (32 bits guests).
     142 *
     143 * @returns VBox status code.
     144 * @param   pVMCBHostPhys   Physical address of host VMCB.
     145 * @param   pVMCBPhys       Physical address of the VMCB.
     146 * @param   pCtx            Guest context.
     147 */
     148DECLASM(int) SVMR0VMRun(RTHCPHYS pVMCBHostPhys, RTHCPHYS pVMCBPhys, PCPUMCTX pCtx);
     149
     150/**
     151 * Prepares for and executes VMRUN (64 bits guests).
     152 *
     153 * @returns VBox status code.
     154 * @param   pVMCBHostPhys   Physical address of host VMCB.
     155 * @param   pVMCBPhys       Physical address of the VMCB.
     156 * @param   pCtx            Guest context.
     157 */
     158DECLASM(int) SVMR0VMRun64(RTHCPHYS pVMCBHostPhys, RTHCPHYS pVMCBPhys, PCPUMCTX pCtx);
     159
     160/**
     161 * Prepares for and executes VMRUN (64 bits guests from a 32 bits hosts).
     162 *
     163 * @returns VBox status code.
     164 * @param   pVMCBHostPhys   Physical address of host VMCB.
     165 * @param   pVMCBPhys       Physical address of the VMCB.
     166 * @param   pCtx            Guest context.
     167 */
     168DECLASM(int) SVMR0VMSwitcherRun64(RTHCPHYS pVMCBHostPhys, RTHCPHYS pVMCBPhys, PCPUMCTX pCtx);
     169
     170/**
     171 * Executes INVLPGA.
     172 *
     173 * @param   pPageGC         Virtual page to invalidate.
     174 * @param   u32ASID         Tagged TLB id.
     175 */
     176DECLASM(void) SVMR0InvlpgA(RTGCPTR pPageGC, uint32_t u32ASID);
    140177
    141178/** Convert hidden selector attribute word between VMX and SVM formats. */
  • trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp

    r14308 r14366  
    33513351    }
    33523352}
     3353
     3354#if HC_ARCH_BITS == 32
     3355/**
     3356 * Prepares for and executes VMLAUNCH (64 bits guest mode)
     3357 *
     3358 * @returns VBox status code
     3359 * @param   fResume     vmlauch/vmresume
     3360 * @param   pCtx        Guest context
     3361 */
     3362DECLASM(int) VMXR0SwitcherStartVM64(RTHCUINT fResume, PCPUMCTX pCtx)
     3363{
     3364    return VERR_NOT_IMPLEMENTED;
     3365}
     3366#endif
     3367
     3368
  • trunk/src/VBox/VMM/VMMR0/HWVMXR0.h

    r13883 r14366  
    208208DECLASM(int) VMXR0StartVM64(RTHCUINT fResume, PCPUMCTX pCtx);
    209209
     210/**
     211 * Prepares for and executes VMLAUNCH (64 bits guest mode)
     212 *
     213 * @returns VBox status code
     214 * @param   fResume     vmlauch/vmresume
     215 * @param   pCtx        Guest context
     216 */
     217DECLASM(int) VMXR0SwitcherStartVM64(RTHCUINT fResume, PCPUMCTX pCtx);
     218
    210219#endif /* IN_RING0 */
    211220
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette