Changeset 14366 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Nov 19, 2008 5:20:49 PM (16 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/HWACCMInternal.h
r14364 r14366 520 520 VMMR0DECL(PHWACCM_CPUINFO) HWACCMR0GetCurrentCpu(); 521 521 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 526 522 527 523 #ifdef VBOX_STRICT -
trunk/src/VBox/VMM/VMMR0/HWACCMR0A.asm
r13908 r14366 939 939 ; * @param pCtx Guest context 940 940 ; */ 941 BEGINPROC SVM VMRun941 BEGINPROC SVMR0VMRun 942 942 %ifdef RT_ARCH_AMD64 ; fake a cdecl stack frame 943 943 %ifdef ASM_CALL64_GCC … … 1036 1036 %endif 1037 1037 ret 1038 ENDPROC SVM VMRun1038 ENDPROC SVMR0VMRun 1039 1039 1040 1040 %ifdef RT_ARCH_AMD64 … … 1047 1047 ; * @param pCtx Guest context 1048 1048 ; */ 1049 BEGINPROC SVM VMRun641049 BEGINPROC SVMR0VMRun64 1050 1050 ; fake a cdecl stack frame 1051 1051 %ifdef ASM_CALL64_GCC … … 1157 1157 add rsp, 4*xS 1158 1158 ret 1159 ENDPROC SVM VMRun641159 ENDPROC SVMR0VMRun64 1160 1160 %endif ; RT_ARCH_AMD64 1161 1161 … … 1168 1168 ; @param uASID msc:rdx gcc:rsi x86:[esp+0C] Tagged TLB id 1169 1169 ; 1170 ;DECLASM(void) SVM InvlpgA(RTGCPTR pPageGC, uint32_t uASID);1171 BEGINPROC SVM InvlpgA1170 ;DECLASM(void) SVMR0InvlpgA(RTGCPTR pPageGC, uint32_t uASID); 1171 BEGINPROC SVMR0InvlpgA 1172 1172 %ifdef RT_ARCH_AMD64 1173 1173 %ifdef ASM_CALL64_GCC … … 1188 1188 invlpga [xAX], ecx 1189 1189 ret 1190 ENDPROC SVM InvlpgA1190 ENDPROC SVMR0InvlpgA 1191 1191 1192 1192 %else … … 1197 1197 ; @param uASID msc:edx gcc:esi x86:[esp+08] Tagged TLB id 1198 1198 ; 1199 ;DECLASM(void) SVM InvlpgA(RTGCPTR pPageGC, uint32_t uASID);1200 BEGINPROC SVM InvlpgA1199 ;DECLASM(void) SVMR0InvlpgA(RTGCPTR pPageGC, uint32_t uASID); 1200 BEGINPROC SVMR0InvlpgA 1201 1201 %ifdef RT_ARCH_AMD64 1202 1202 %ifdef ASM_CALL64_GCC … … 1217 1217 invlpga [xAX], ecx 1218 1218 ret 1219 ENDPROC SVM InvlpgA1219 ENDPROC SVMR0InvlpgA 1220 1220 1221 1221 %endif ; GC_ARCH_BITS != 64 -
trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp
r14364 r14366 762 762 return VERR_PGM_UNSUPPORTED_SHADOW_PAGING_MODE; 763 763 #elif HC_ARCH_BITS == 32 764 pVCpu->hwaccm.s.svm.pfnVMRun = SVM VMSwitcherRun64;764 pVCpu->hwaccm.s.svm.pfnVMRun = SVMR0VMSwitcherRun64; 765 765 #else 766 pVCpu->hwaccm.s.svm.pfnVMRun = SVM VMRun64;766 pVCpu->hwaccm.s.svm.pfnVMRun = SVMR0VMRun64; 767 767 #endif 768 768 /* Unconditionally update these as wrmsr might have changed them. (HWACCM_CHANGED_GUEST_SEGMENT_REGS will not be set) */ … … 775 775 pVMCB->guest.u64EFER &= ~MSR_K6_EFER_LME; 776 776 777 pVCpu->hwaccm.s.svm.pfnVMRun = SVM VMRun;777 pVCpu->hwaccm.s.svm.pfnVMRun = SVMR0VMRun; 778 778 } 779 779 … … 2155 2155 { 2156 2156 /* Manually invalidate the page for the VM's TLB. */ 2157 Log(("SVM InvlpgA %RGv ASID=%d\n", addr, uASID));2158 SVM InvlpgA(addr, uASID);2157 Log(("SVMR0InvlpgA %RGv ASID=%d\n", addr, uASID)); 2158 SVMR0InvlpgA(addr, uASID); 2159 2159 return VINF_SUCCESS; 2160 2160 } … … 2237 2237 2238 2238 STAM_COUNTER_INC(&pVCpu->hwaccm.s.StatFlushPageManual); 2239 SVM InvlpgA(GCVirt, pVMCB->ctrl.TLBCtrl.n.u32ASID);2239 SVMR0InvlpgA(GCVirt, pVMCB->ctrl.TLBCtrl.n.u32ASID); 2240 2240 } 2241 2241 return VINF_SUCCESS; … … 2262 2262 #ifdef HC_ARCH_BITS == 32 2263 2263 /** 2264 * Prepares for and executes VMRUN (64 bits guests ).2264 * Prepares for and executes VMRUN (64 bits guests from a 32 bits hosts). 2265 2265 * 2266 2266 * @returns VBox status code. … … 2269 2269 * @param pCtx Guest context. 2270 2270 */ 2271 DECLASM(int) SVM VMSwitcherRun64(RTHCPHYS pVMCBHostPhys, RTHCPHYS pVMCBPhys, PCPUMCTX pCtx)2271 DECLASM(int) SVMR0VMSwitcherRun64(RTHCPHYS pVMCBHostPhys, RTHCPHYS pVMCBPhys, PCPUMCTX pCtx) 2272 2272 { 2273 2273 return VERR_NOT_IMPLEMENTED; -
trunk/src/VBox/VMM/VMMR0/HWSVMR0.h
r13883 r14366 138 138 VMMR0DECL(int) SVMR0LoadGuestState(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx); 139 139 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 */ 148 DECLASM(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 */ 158 DECLASM(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 */ 168 DECLASM(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 */ 176 DECLASM(void) SVMR0InvlpgA(RTGCPTR pPageGC, uint32_t u32ASID); 140 177 141 178 /** Convert hidden selector attribute word between VMX and SVM formats. */ -
trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp
r14308 r14366 3351 3351 } 3352 3352 } 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 */ 3362 DECLASM(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 208 208 DECLASM(int) VMXR0StartVM64(RTHCUINT fResume, PCPUMCTX pCtx); 209 209 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 */ 217 DECLASM(int) VMXR0SwitcherStartVM64(RTHCUINT fResume, PCPUMCTX pCtx); 218 210 219 #endif /* IN_RING0 */ 211 220
Note:
See TracChangeset
for help on using the changeset viewer.