VirtualBox

Changeset 66403 in vbox for trunk/src/VBox/VMM/VMMR3/cpus


Ignore:
Timestamp:
Apr 3, 2017 3:21:26 PM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
114356
Message:

CPUM: Added the MXCSR mask to the CPU database and CPUM::GuestInfo as well as the host one to CPUM::fHostMxCsrMask. Need it for correctly implementing LDMXCSR, FXRSTOR and XSTOR.

Location:
trunk/src/VBox/VMM/VMMR3/cpus
Files:
20 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/cpus/AMD_Athlon_64_3200.h

    r62478 r66403  
    208208    /*.fFlags           = */ 0,
    209209    /*.cMaxPhysAddrWidth= */ 40,
     210    /*.fMxCsrMask       = */ 0xffff, ///< @todo check.
    210211    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_AMD_Athlon_64_3200),
    211212    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_AMD_Athlon_64_3200)),
  • trunk/src/VBox/VMM/VMMR3/cpus/AMD_Athlon_64_X2_Dual_Core_4200.h

    r62478 r66403  
    216216    /*.fFlags           = */ 0,
    217217    /*.cMaxPhysAddrWidth= */ 40,
     218    /*.fMxCsrMask       = */ 0xffff,
    218219    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_AMD_Athlon_64_X2_Dual_Core_4200),
    219220    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_AMD_Athlon_64_X2_Dual_Core_4200)),
  • trunk/src/VBox/VMM/VMMR3/cpus/AMD_FX_8150_Eight_Core.h

    r62478 r66403  
    367367    /*.fFlags           = */ 0,
    368368    /*.cMaxPhysAddrWidth= */ 48,
     369    /*.fMxCsrMask       = */ 0x2ffff,
    369370    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_AMD_FX_8150_Eight_Core),
    370371    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_AMD_FX_8150_Eight_Core)),
  • trunk/src/VBox/VMM/VMMR3/cpus/AMD_Phenom_II_X6_1100T.h

    r62478 r66403  
    256256    /*.fFlags           = */ 0,
    257257    /*.cMaxPhysAddrWidth= */ 48,
     258    /*.fMxCsrMask       = */ 0x2ffff,
    258259    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_AMD_Phenom_II_X6_1100T),
    259260    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_AMD_Phenom_II_X6_1100T)),
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_80186.h

    r60411 r66403  
    5959    /*.fFlags           = */ CPUDB_F_EXECUTE_ALL_IN_IEM,
    6060    /*.cMaxPhysAddrWidth= */ 20,
     61    /*.fMxCsrMask       = */ 0,
    6162    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_Intel_80186),
    6263    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_Intel_80186)),
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_80286.h

    r60411 r66403  
    5959    /*.fFlags           = */ CPUDB_F_EXECUTE_ALL_IN_IEM,
    6060    /*.cMaxPhysAddrWidth= */ 24,
     61    /*.fMxCsrMask       = */ 0,
    6162    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_Intel_80286),
    6263    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_Intel_80286)),
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_80386.h

    r60664 r66403  
    5959    /*.fFlags           = */ CPUDB_F_EXECUTE_ALL_IN_IEM,
    6060    /*.cMaxPhysAddrWidth= */ 24,
     61    /*.fMxCsrMask       = */ 0,
    6162    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_Intel_80386),
    6263    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_Intel_80386)),
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_8086.h

    r60411 r66403  
    5959    /*.fFlags           = */ CPUDB_F_EXECUTE_ALL_IN_IEM,
    6060    /*.cMaxPhysAddrWidth= */ 20,
     61    /*.fMxCsrMask       = */ 0,
    6162    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_Intel_8086),
    6263    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_Intel_8086)),
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_Atom_330_1_60GHz.h

    r62478 r66403  
    194194    /*.fFlags           = */ 0,
    195195    /*.cMaxPhysAddrWidth= */ 32,
     196    /*.fMxCsrMask       = */ 0xffff,
    196197    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_Intel_Atom_330_1_60GHz),
    197198    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_Intel_Atom_330_1_60GHz)),
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_Core_i5_3570.h

    r62478 r66403  
    323323    /*.fFlags           = */ 0,
    324324    /*.cMaxPhysAddrWidth= */ 36,
     325    /*.fMxCsrMask       = */ 0xffff,
    325326    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_Intel_Core_i5_3570),
    326327    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_Intel_Core_i5_3570)),
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_Core_i7_2635QM.h

    r62478 r66403  
    316316    /*.fFlags           = */ 0,
    317317    /*.cMaxPhysAddrWidth= */ 36,
     318    /*.fMxCsrMask       = */ 0xffff,
    318319    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_Intel_Core_i7_2635QM),
    319320    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_Intel_Core_i7_2635QM)),
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_Core_i7_3960X.h

    r62478 r66403  
    353353    /*.fFlags           = */ 0,
    354354    /*.cMaxPhysAddrWidth= */ 46,
     355    /*.fMxCsrMask       = */ 0xffff,
    355356    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_Intel_Core_i7_3960X),
    356357    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_Intel_Core_i7_3960X)),
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_Core_i7_5600U.h

    r62478 r66403  
    352352    /*.fFlags           = */ 0,
    353353    /*.cMaxPhysAddrWidth= */ 39,
     354    /*.fMxCsrMask       = */ 0xffff,
    354355    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_Intel_Core_i7_5600U),
    355356    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_Intel_Core_i7_5600U)),
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_Core_i7_6700K.h

    r62478 r66403  
    494494    /*.fFlags           = */ 0,
    495495    /*.cMaxPhysAddrWidth= */ 39,
     496    /*.fMxCsrMask       = */ 0xffff,
    496497    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_Intel_Core_i7_6700K),
    497498    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_Intel_Core_i7_6700K)),
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_Pentium_4_3_00GHz.h

    r62478 r66403  
    261261    /*.fFlags           = */ 0,
    262262    /*.cMaxPhysAddrWidth= */ 36,
     263    /*.fMxCsrMask       = */ 0xffff,
    263264    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_Intel_Pentium_4_3_00GHz),
    264265    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_Intel_Pentium_4_3_00GHz)),
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_Pentium_M_processor_2_00GHz.h

    r62478 r66403  
    200200    /*.fFlags           = */ 0,
    201201    /*.cMaxPhysAddrWidth= */ 32,
     202    /*.fMxCsrMask       = */ 0xffbf, ///< @todo check this
    202203    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_Intel_Pentium_M_processor_2_00GHz),
    203204    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_Intel_Pentium_M_processor_2_00GHz)),
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_Pentium_N3530_2_16GHz.h

    r62478 r66403  
    249249    /*.fFlags           = */ 0,
    250250    /*.cMaxPhysAddrWidth= */ 36,
     251    /*.fMxCsrMask       = */ 0xffff,
    251252    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_Intel_Pentium_N3530_2_16GHz),
    252253    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_Intel_Pentium_N3530_2_16GHz)),
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_Xeon_X5482_3_20GHz.h

    r62478 r66403  
    229229    /*.fFlags           = */ 0,
    230230    /*.cMaxPhysAddrWidth= */ 38,
     231    /*.fMxCsrMask       = */ 0xffff,
    231232    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_Intel_Xeon_X5482_3_20GHz),
    232233    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_Intel_Xeon_X5482_3_20GHz)),
  • trunk/src/VBox/VMM/VMMR3/cpus/Quad_Core_AMD_Opteron_2384.h

    r62478 r66403  
    254254    /*.fFlags           = */ 0,
    255255    /*.cMaxPhysAddrWidth= */ 48,
     256    /*.fMxCsrMask       = */ 0x2ffff,
    256257    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_Quad_Core_AMD_Opteron_2384),
    257258    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_Quad_Core_AMD_Opteron_2384)),
  • trunk/src/VBox/VMM/VMMR3/cpus/VIA_QuadCore_L4700_1_2_GHz.h

    r62478 r66403  
    388388    /*.fFlags           = */ 0,
    389389    /*.cMaxPhysAddrWidth= */ 36,
     390    /*.fMxCsrMask       = */ 0xffff,
    390391    /*.paCpuIdLeaves    = */ NULL_ALONE(g_aCpuIdLeaves_VIA_QuadCore_L4700_1_2_GHz),
    391392    /*.cCpuIdLeaves     = */ ZERO_ALONE(RT_ELEMENTS(g_aCpuIdLeaves_VIA_QuadCore_L4700_1_2_GHz)),
Note: See TracChangeset for help on using the changeset viewer.

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