Changeset 103752 in vbox for trunk/src/VBox/VMM/VMMR3
- Timestamp:
- Mar 11, 2024 8:12:36 AM (13 months ago)
- svn:sync-xref-src-repo-rev:
- 162121
- Location:
- trunk/src/VBox/VMM/VMMR3
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/CPUM.cpp
r103586 r103752 2248 2248 pVM->cpum.s.HostFeatures.fLahfSahf = true; 2249 2249 pVM->cpum.s.HostFeatures.fMovBe = true; 2250 pVM->cpum.s.HostFeatures.fXSaveRstor = true; 2251 pVM->cpum.s.HostFeatures.fOpSysXSaveRstor = true; 2252 /** @todo r=aeichner Keep AVX/AVX2 disabled for now, too many missing instruction emulations. */ 2253 # if 1 2254 pVM->cpum.s.HostFeatures.cbMaxExtendedState = RT_UOFFSETOF(X86XSAVEAREA, u.YmmHi); 2255 # else 2256 pVM->cpum.s.HostFeatures.cbMaxExtendedState = RT_UOFFSETOF(X86XSAVEAREA, u.YmmHi) + sizeof(X86XSAVEYMMHI); 2257 pVM->cpum.s.HostFeatures.fAvx = false; 2258 pVM->cpum.s.HostFeatures.fAvx2 = false; 2259 # endif 2250 2260 #endif 2251 2261 … … 2282 2292 ("%#llx\n", fXStateHostMask), fXStateHostMask = 0); 2283 2293 } 2294 #elif defined(RT_ARCH_ARM64) 2295 /** @todo r=aeichner Keep AVX/AVX2 disabled for now, too many missing instruction emulations. */ 2296 fXStateHostMask = XSAVE_C_X87 | XSAVE_C_SSE /*| XSAVE_C_YMM | XSAVE_C_OPMASK | XSAVE_C_ZMM_HI256 | XSAVE_C_ZMM_16HI*/; 2284 2297 #endif 2285 2298 pVM->cpum.s.fXStateHostMask = fXStateHostMask; … … 2290 2303 * Initialize the host XSAVE/XRSTOR mask. 2291 2304 */ 2292 #if defined(RT_ARCH_X86) || defined(RT_ARCH_AMD64)2293 2305 uint32_t cbMaxXState = pVM->cpum.s.HostFeatures.cbMaxExtendedState; 2294 2306 cbMaxXState = RT_ALIGN(cbMaxXState, 128); … … 2297 2309 && pVM->cpum.s.HostFeatures.cbMaxExtendedState <= sizeof(pVM->apCpusR3[0]->cpum.s.Guest.abXState) 2298 2310 , VERR_CPUM_IPE_2); 2299 #endif2300 2311 2301 2312 for (VMCPUID i = 0; i < pVM->cCpus; i++) -
trunk/src/VBox/VMM/VMMR3/CPUMR3CpuId.cpp
r103586 r103752 2891 2891 ? NEMHCGetFeatures(pVM) & NEM_FEAT_F_XSAVE_XRSTOR 2892 2892 : VM_IS_EXEC_ENGINE_IEM(pVM) 2893 ? false /** @todo IEM and XSAVE @bugref{9898} */2893 ? true 2894 2894 : fNestedPagingAndFullGuestExec); 2895 2895 uint64_t const fXStateHostMask = pVM->cpum.s.fXStateHostMask; … … 2901 2901 * host support at the moment. 2902 2902 */ 2903 rc = cpumR3CpuIdReadIsaExtCfgEx(pVM, pIsaExts, "XSAVE", &pConfig->enmXSave, fNestedPagingAndFullGuestExec,2903 rc = cpumR3CpuIdReadIsaExtCfgEx(pVM, pIsaExts, "XSAVE", &pConfig->enmXSave, true, 2904 2904 fMayHaveXSave /*fAllowed*/); 2905 2905 AssertLogRelRCReturn(rc, rc);
Note:
See TracChangeset
for help on using the changeset viewer.