Changeset 105364 in vbox for trunk/src/VBox/VMM/VMMR3
- Timestamp:
- Jul 17, 2024 7:32:44 AM (6 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/CPUMR3CpuId.cpp
r105057 r105364 1064 1064 CPUMISAEXTCFG enmMdsClear; 1065 1065 CPUMISAEXTCFG enmArchCapMsr; 1066 CPUMISAEXTCFG enmFma; 1067 CPUMISAEXTCFG enmF16c; 1066 1068 1067 1069 CPUMISAEXTCFG enmAbm; … … 1399 1401 | X86_CPUID_FEATURE_ECX_SSSE3 1400 1402 //| X86_CPUID_FEATURE_ECX_CNTXID - no L1 context id (MSR++). 1401 //| X86_CPUID_FEATURE_ECX_FMA - not implemented yet.1403 | PASSTHRU_FEATURE(pConfig->enmFma, pHstFeat->fFma, X86_CPUID_FEATURE_ECX_FMA) 1402 1404 | PASSTHRU_FEATURE(pConfig->enmCmpXchg16b, pHstFeat->fCmpXchg16b, X86_CPUID_FEATURE_ECX_CX16) 1403 1405 /* ECX Bit 14 - xTPR Update Control. Processor supports changing IA32_MISC_ENABLES[bit 23]. */ … … 1416 1418 //| X86_CPUID_FEATURE_ECX_OSXSAVE - mirrors CR4.OSXSAVE state, set dynamically. 1417 1419 | PASSTHRU_FEATURE(pConfig->enmAvx, pHstFeat->fAvx, X86_CPUID_FEATURE_ECX_AVX) 1418 //| X86_CPUID_FEATURE_ECX_F16C - not implemented yet.1420 | PASSTHRU_FEATURE(pConfig->enmF16c, pHstFeat->fFma, X86_CPUID_FEATURE_ECX_F16C) 1419 1421 | PASSTHRU_FEATURE_TODO(pConfig->enmRdRand, X86_CPUID_FEATURE_ECX_RDRAND) 1420 1422 //| X86_CPUID_FEATURE_ECX_HVP - Set explicitly later. … … 2850 2852 "|INVPCID" 2851 2853 "|FlushCmdMsr" 2854 "|FMA" 2855 "|F16C" 2852 2856 "|ABM" 2853 2857 "|SSE4A" … … 3034 3038 */ 3035 3039 rc = cpumR3CpuIdReadIsaExtCfg(pVM, pIsaExts, "ArchCapMsr", &pConfig->enmArchCapMsr, CPUMISAEXTCFG_ENABLED_SUPPORTED_OR_NOT_AMD64); 3040 AssertLogRelRCReturn(rc, rc); 3041 3042 /** @cfgm{/CPUM/IsaExts/FMA, boolean, depends} 3043 * Expose the FMA instruction set extensions to the guest if available and 3044 * XSAVE is exposed too. For the time being the default is to only expose this 3045 * to VMs with nested paging and AMD-V or unrestricted guest execution mode. 3046 */ 3047 rc = cpumR3CpuIdReadIsaExtCfgEx(pVM, pIsaExts, "FMA", &pConfig->enmFma, fNestedPagingAndFullGuestExec /* temporarily */, 3048 fMayHaveXSave && pConfig->enmXSave && (fXStateHostMask & XSAVE_C_YMM) /*fAllowed*/); 3049 AssertLogRelRCReturn(rc, rc); 3050 3051 /** @cfgm{/CPUM/IsaExts/F16C, boolean, depends} 3052 * Expose the F16C instruction set extensions to the guest if available and 3053 * XSAVE is exposed too. For the time being the default is to only expose this 3054 * to VMs with nested paging and AMD-V or unrestricted guest execution mode. 3055 */ 3056 rc = cpumR3CpuIdReadIsaExtCfgEx(pVM, pIsaExts, "F16C", &pConfig->enmF16c, fNestedPagingAndFullGuestExec /* temporarily */, 3057 fMayHaveXSave && pConfig->enmXSave && (fXStateHostMask & XSAVE_C_YMM) /*fAllowed*/); 3036 3058 AssertLogRelRCReturn(rc, rc); 3037 3059
Note:
See TracChangeset
for help on using the changeset viewer.