Changeset 83066 in vbox for trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
- Timestamp:
- Feb 13, 2020 4:15:25 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r83029 r83066 742 742 743 743 /* 744 * Initialize the hardware-assisted SVM guest-execution handler. 745 * We now use a single handler for both 32-bit and 64-bit guests, see @bugref{6208#c73}. 746 */ 747 pVCpu->hm.s.svm.pfnVMRun = SVMR0VMRun; 748 749 /* 744 750 * Allocate one page for the host-context VM control block (VMCB). This is used for additional host-state (such as 745 751 * FS, GS, Kernel GS Base, etc.) apart from the host-state save area specified in MSR_K8_VM_HSAVE_PA. … … 2178 2184 2179 2185 /** 2180 * Selects the appropriate function to run guest code.2181 *2182 * @param pVCpu The cross context virtual CPU structure.2183 *2184 * @remarks No-long-jump zone!!!2185 */2186 DECLINLINE(void) hmR0SvmSelectVMRunHandler(PVMCPUCC pVCpu)2187 {2188 if (pVCpu->CTX_SUFF(pVM)->hm.s.fAllow64BitGuests)2189 {2190 # if HC_ARCH_BITS != 64 || ARCH_BITS != 642191 # error "Only 64-bit hosts are supported!"2192 # endif2193 /* Guest may enter long mode, always use 64-bit handler. */2194 pVCpu->hm.s.svm.pfnVMRun = SVMR0VMRun;2195 }2196 else2197 {2198 /* Guest is 32-bit only, use the 32-bit handler. */2199 pVCpu->hm.s.svm.pfnVMRun = SVMR0VMRun32;2200 }2201 }2202 2203 2204 /**2205 2186 * Enters the AMD-V session. 2206 2187 * … … 2355 2336 hmR0SvmExportGuestXcptIntercepts(pVCpu, pVmcb); 2356 2337 } 2357 2358 hmR0SvmSelectVMRunHandler(pVCpu);2359 2338 2360 2339 /* Clear any bits that may be set but exported unconditionally or unused/reserved bits. */
Note:
See TracChangeset
for help on using the changeset viewer.