VirtualBox

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


Ignore:
Timestamp:
Feb 25, 2014 6:51:23 PM (11 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
92460
Message:

CPUM,VMM: More work related to bus, cpu and tsc frequency info. Should cover older core and p6 as well as p4 now.

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

Legend:

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

    r49972 r50590  
    205205    /*.uStepping        = */ 8,
    206206    /*.enmMicroarch     = */ kCpumMicroarch_AMD_K8_130nm,
     207    /*.uScalableBusFreq = */ CPUM_SBUSFREQ_UNKNOWN,
    207208    /*.fFlags           = */ 0,
    208209    /*.cMaxPhysAddrWidth= */ 40,
  • trunk/src/VBox/VMM/VMMR3/cpus/AMD_FX_8150_Eight_Core.h

    r49995 r50590  
    364364    /*.uStepping        = */ 2,
    365365    /*.enmMicroarch     = */ kCpumMicroarch_AMD_15h_Bulldozer,
     366    /*.uScalableBusFreq = */ CPUM_SBUSFREQ_UNKNOWN,
    366367    /*.fFlags           = */ 0,
    367368    /*.cMaxPhysAddrWidth= */ 48,
  • trunk/src/VBox/VMM/VMMR3/cpus/AMD_Phenom_II_X6_1100T.h

    r49995 r50590  
    253253    /*.uStepping        = */ 0,
    254254    /*.enmMicroarch     = */ kCpumMicroarch_AMD_K10,
     255    /*.uScalableBusFreq = */ CPUM_SBUSFREQ_UNKNOWN,
    255256    /*.fFlags           = */ 0,
    256257    /*.cMaxPhysAddrWidth= */ 48,
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_Core_i5_3570.h

    r50584 r50590  
    6464    MFX(0x00000006, "IA32_MONITOR_FILTER_LINE_SIZE", Ia32MonitorFilterLineSize, Ia32MonitorFilterLineSize, 0, 0, UINT64_C(0xffffffffffff0000)), /* value=0x40 */
    6565    MFN(0x00000010, "IA32_TIME_STAMP_COUNTER", Ia32TimestampCounter, Ia32TimestampCounter), /* value=0x4293`b0a3f54a */
    66     MVO(0x00000017, "IA32_PLATFORM_ID", UINT64_C(0x4000000000000)),
     66    MFV(0x00000017, "IA32_PLATFORM_ID", Ia32PlatformId, ReadOnly, UINT64_C(0x4000000000000)),
    6767    MFX(0x0000001b, "IA32_APIC_BASE", Ia32ApicBase, Ia32ApicBase, UINT32_C(0xfee00c00), 0, UINT64_C(0xfffffff0000002ff)),
    6868    MFX(0x0000002a, "EBL_CR_POWERON", IntelEblCrPowerOn, ReadOnly, 0, 0, 0), /* value=0x0 */
     
    7878    MFO(0x0000009b, "IA32_SMM_MONITOR_CTL", Ia32SmmMonitorCtl), /* value=0x0 */
    7979    RSN(0x000000c1, 0x000000c8, "IA32_PMCn", Ia32PmcN, Ia32PmcN, 0x0, ~(uint64_t)UINT32_MAX, 0),
    80     MFO(0x000000ce, "MSR_PLATFORM_INFO", IntelPlatformInfo100MHz), /* value=0x81010'e0012200*/
     80    MFO(0x000000ce, "MSR_PLATFORM_INFO", IntelPlatformInfo), /* value=0x81010'e0012200*/
    8181    MFX(0x000000e2, "MSR_PKG_CST_CONFIG_CONTROL", IntelPkgCStConfigControl, IntelPkgCStConfigControl, 0, 0, UINT64_C(0xffffffffe1ffffff)), /* value=0x1e008403 */
    8282    MFX(0x000000e4, "MSR_PMG_IO_CAPTURE_BASE", IntelPmgIoCaptureBase, IntelPmgIoCaptureBase, 0, 0, UINT64_C(0xfffffffffff80000)), /* value=0x10414 */
     
    9999    MFX(0x0000017a, "IA32_MCG_STATUS", Ia32McgStatus, Ia32McgStatus, 0, 0, UINT64_C(0xfffffffffffffff8)), /* value=0x0 */
    100100    RSN(0x00000186, 0x0000018d, "IA32_PERFEVTSELn", Ia32PerfEvtSelN, Ia32PerfEvtSelN, 0x0, 0, UINT64_C(0xffffffff00080000)),
    101     MFX(0x00000194, "CLOCK_FLEX_MAX", IntelFlexRatio100MHz, IntelFlexRatio100MHz, 0x190000, 0x1e00ff, UINT64_C(0xffffffffffe00000)),
     101    MFX(0x00000194, "CLOCK_FLEX_MAX", IntelFlexRatio, IntelFlexRatio, 0x190000, 0x1e00ff, UINT64_C(0xffffffffffe00000)),
    102102    MFX(0x00000198, "IA32_PERF_STATUS", Ia32PerfStatus, ReadOnly, UINT64_C(0x1d2400001000), 0, 0), /* value=0x1d24`00001000 */
    103103    MFX(0x00000199, "IA32_PERF_CTL", Ia32PerfCtl, Ia32PerfCtl, 0x1000, 0, 0), /* Might bite. value=0x1000 */
     
    320320    /*.uStepping        = */ 9,
    321321    /*.enmMicroarch     = */ kCpumMicroarch_Intel_Core7_IvyBridge,
     322    /*.uScalableBusFreq = */ CPUM_SBUSFREQ_100MHZ,
    322323    /*.fFlags           = */ 0,
    323324    /*.cMaxPhysAddrWidth= */ 36,
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_Core_i7_3820QM.h

    r49922 r50590  
    6464    MFX(0x00000006, "IA32_MONITOR_FILTER_LINE_SIZE", Ia32MonitorFilterLineSize, Ia32MonitorFilterLineSize, 0, 0, UINT64_C(0xffffffffffff0000)), /* value=0x40 */
    6565    MFX(0x00000010, "IA32_TIME_STAMP_COUNTER", Ia32TimestampCounter, Ia32TimestampCounter, 0, 0, 0),
    66     MVO(0x00000017, "IA32_PLATFORM_ID", UINT64_C(0x10000000000000)),
     66    MFV(0x00000017, "IA32_PLATFORM_ID", Ia32PlatformId, ReadOnly, UINT64_C(0x10000000000000)),
    6767    MFX(0x0000001b, "IA32_APIC_BASE", Ia32ApicBase, Ia32ApicBase, UINT32_C(0xfee00900), 0, UINT64_C(0xfffffff0000002ff)),
    6868    MFX(0x0000002a, "EBL_CR_POWERON", IntelEblCrPowerOn, ReadOnly, 0, 0, 0), /* value=0x0 */
     
    362362    /*.uStepping        = */ 9,
    363363    /*.enmMicroarch     = */ kCpumMicroarch_Intel_Core7_IvyBridge,
     364    /*.uScalableBusFreq = */ CPUM_SBUSFREQ_UNKNOWN,
    364365    /*.fFlags           = */ 0,
    365366    /*.cMaxPhysAddrWidth= */ 36,
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_Core_i7_3960X.h

    r50584 r50590  
    7373    MFX(0x00000006, "IA32_MONITOR_FILTER_LINE_SIZE", Ia32MonitorFilterLineSize, Ia32MonitorFilterLineSize, 0, 0, UINT64_C(0xffffffffffff0000)), /* value=0x40 */
    7474    MFN(0x00000010, "IA32_TIME_STAMP_COUNTER", Ia32TimestampCounter, Ia32TimestampCounter), /* value=0x177ab4`48466b19 */
    75     MVO(0x00000017, "IA32_PLATFORM_ID", UINT64_C(0x8000000000000)),
     75    MFV(0x00000017, "IA32_PLATFORM_ID", Ia32PlatformId, ReadOnly, UINT64_C(0x8000000000000)),
    7676    MFX(0x0000001b, "IA32_APIC_BASE", Ia32ApicBase, Ia32ApicBase, UINT32_C(0xfee00800), 0, UINT64_C(0xffffc000000002ff)),
    7777    MFX(0x0000002a, "EBL_CR_POWERON", IntelEblCrPowerOn, ReadOnly, 0, 0, 0), /* value=0x0 */
     
    8686    MFO(0x0000009b, "IA32_SMM_MONITOR_CTL", Ia32SmmMonitorCtl), /* value=0x0 */
    8787    RSN(0x000000c1, 0x000000c4, "IA32_PMCn", Ia32PmcN, Ia32PmcN, 0x0, ~(uint64_t)UINT32_MAX, 0),
    88     MFO(0x000000ce, "MSR_PLATFORM_INFO", IntelPlatformInfo100MHz), /* value=0xc00'70012100*/
     88    MFO(0x000000ce, "MSR_PLATFORM_INFO", IntelPlatformInfo), /* value=0xc00'70012100*/
    8989    MFX(0x000000e2, "MSR_PKG_CST_CONFIG_CONTROL", IntelPkgCStConfigControl, IntelPkgCStConfigControl, 0, 0, UINT64_C(0xffffffffe1ffffff)), /* value=0x1e008400 */
    9090    MFX(0x000000e4, "MSR_PMG_IO_CAPTURE_BASE", IntelPmgIoCaptureBase, IntelPmgIoCaptureBase, 0, 0, UINT64_C(0xfffffffffff80000)), /* value=0x20414 */
     
    103103    MFX(0x0000017f, "I7_SB_ERROR_CONTROL", IntelI7SandyErrorControl, IntelI7SandyErrorControl, 0, 0xc, UINT64_C(0xffffffffffffffe1)), /* value=0x0 */
    104104    RSN(0x00000186, 0x00000189, "IA32_PERFEVTSELn", Ia32PerfEvtSelN, Ia32PerfEvtSelN, 0x0, 0, UINT64_C(0xffffffff00080000)),
    105     MFX(0x00000194, "CLOCK_FLEX_MAX", IntelFlexRatio100MHz, IntelFlexRatio100MHz, 0xf2100, 0xe0000, UINT64_C(0xfffffffffff00000)),
     105    MFX(0x00000194, "CLOCK_FLEX_MAX", IntelFlexRatio, IntelFlexRatio, 0xf2100, 0xe0000, UINT64_C(0xfffffffffff00000)),
    106106    MFX(0x00000198, "IA32_PERF_STATUS", Ia32PerfStatus, ReadOnly, UINT64_C(0x288300002400), 0, 0), /* value=0x2883`00002400 */
    107107    MFX(0x00000199, "IA32_PERF_CTL", Ia32PerfCtl, Ia32PerfCtl, 0x2700, 0, 0), /* Might bite. value=0x2700 */
     
    350350    /*.uStepping        = */ 6,
    351351    /*.enmMicroarch     = */ kCpumMicroarch_Intel_Core7_SandyBridge,
     352    /*.uScalableBusFreq = */ CPUM_SBUSFREQ_100MHZ,
    352353    /*.fFlags           = */ 0,
    353354    /*.cMaxPhysAddrWidth= */ 46,
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_Pentium_4_3_00GHz.h

    r49966 r50590  
    5858    MFX(0x00000006, "IA32_MONITOR_FILTER_LINE_SIZE", Ia32MonitorFilterLineSize, Ia32MonitorFilterLineSize, 0, UINT64_C(0xffffffffffff0000), 0), /* value=0x40 */
    5959    MFN(0x00000010, "IA32_TIME_STAMP_COUNTER", Ia32TimestampCounter, Ia32TimestampCounter), /* value=0x1ac`2077a134 */
    60     MVI(0x00000017, "IA32_PLATFORM_ID", UINT64_C(0x12000000000000)),
     60    MFV(0x00000017, "IA32_PLATFORM_ID", Ia32PlatformId, ReadOnly, UINT64_C(0x12000000000000)),
    6161    MFX(0x0000001b, "IA32_APIC_BASE", Ia32ApicBase, Ia32ApicBase, UINT32_C(0xfee00800), 0x600, UINT64_C(0xffffff00000000ff)),
    6262    MFX(0x0000002a, "P4_EBC_HARD_POWERON", IntelP4EbcHardPowerOn, IntelP4EbcHardPowerOn, 0, UINT64_MAX, 0), /* value=0x0 */
     
    258258    /*.uStepping        = */ 3,
    259259    /*.enmMicroarch     = */ kCpumMicroarch_Intel_NB_Prescott2M,
     260    /*.uScalableBusFreq = */ CPUM_SBUSFREQ_UNKNOWN,
    260261    /*.fFlags           = */ 0,
    261262    /*.cMaxPhysAddrWidth= */ 36,
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_Pentium_M_processor_2_00GHz.h

    r49922 r50590  
    4848    MFI(0x00000001, "IA32_P5_MC_TYPE", Ia32P5McType), /* value=0x0 */
    4949    MFX(0x00000010, "IA32_TIME_STAMP_COUNTER", Ia32TimestampCounter, Ia32TimestampCounter, 0, ~(uint64_t)UINT32_MAX, 0), /* value=0x22`4d44782e */
    50     MVO(0x00000017, "IA32_PLATFORM_ID", UINT64_C(0x140000d0248a28)),
     50    MFV(0x00000017, "IA32_PLATFORM_ID", Ia32PlatformId, ReadOnly, UINT64_C(0x140000d0248a28)),
    5151    MVX(0x00000018, "P6_UNK_0000_0018", 0, 0, 0),
    5252    MFX(0x0000001b, "IA32_APIC_BASE", Ia32ApicBase, Ia32ApicBase, UINT32_C(0xfee00100), UINT64_C(0xffffffff00000600), 0xff),
     
    8989    MFX(0x000000c2, "IA32_PMC1", Ia32PmcN, Ia32PmcN, 0, ~(uint64_t)UINT32_MAX, 0), /* value=0x0 */
    9090    MVI(0x000000c7, "P6_UNK_0000_00c7", UINT64_C(0x5a000000ac000000)),
    91     MVO(0x000000cd, "P6_UNK_0000_00cd", 0),
     91    MFX(0x000000cd, "MSR_FSB_FREQ", IntelP6FsbFrequency, ReadOnly, 0, 0, 0),
    9292    MVO(0x000000ce, "P6_UNK_0000_00ce", UINT64_C(0x2812140000000000)),
    9393    MFX(0x000000fe, "IA32_MTRRCAP", Ia32MtrrCap, ReadOnly, 0x508, 0, 0), /* value=0x508 */
     
    197197    /*.uStepping        = */ 6,
    198198    /*.enmMicroarch     = */ kCpumMicroarch_Intel_P6_M_Dothan,
     199    /*.uScalableBusFreq = */ CPUM_SBUSFREQ_UNKNOWN,
    199200    /*.fFlags           = */ 0,
    200201    /*.cMaxPhysAddrWidth= */ 32,
  • trunk/src/VBox/VMM/VMMR3/cpus/Intel_Xeon_X5482_3_20GHz.h

    r49927 r50590  
    6161    MFX(0x00000006, "IA32_MONITOR_FILTER_LINE_SIZE", Ia32MonitorFilterLineSize, Ia32MonitorFilterLineSize, 0, 0, UINT64_C(0xffffffffffff0000)), /* value=0x40 */
    6262    MFN(0x00000010, "IA32_TIME_STAMP_COUNTER", Ia32TimestampCounter, Ia32TimestampCounter), /* value=0x1358`d28c2c60 */
    63     MVO(0x00000017, "IA32_PLATFORM_ID", UINT64_C(0x18000088e40822)),
     63    MFV(0x00000017, "IA32_PLATFORM_ID", Ia32PlatformId, ReadOnly, UINT64_C(0x18000088e40822)),
    6464    MFX(0x0000001b, "IA32_APIC_BASE", Ia32ApicBase, Ia32ApicBase, UINT32_C(0xfee00800), 0, UINT64_C(0xffffffc0000006ff)),
    6565    MVX(0x00000021, "C2_UNK_0000_0021", 0, 0, UINT64_C(0xffffffffffffffc0)),
     
    8383    RSN(0x000000c1, 0x000000c2, "IA32_PMCn", Ia32PmcN, Ia32PmcN, 0x0, ~(uint64_t)UINT32_MAX, 0),
    8484    MVI(0x000000c7, "P6_UNK_0000_00c7", UINT64_C(0x2300000052000000)),
    85     MVO(0x000000cd, "P6_UNK_0000_00cd", 0x806),
     85    MFX(0x000000cd, "P6_MSR_FSB_FREQ", IntelP6FsbFrequency, ReadOnly, 0x806, 0, 0),
    8686    MVO(0x000000ce, "P6_UNK_0000_00ce", UINT64_C(0x1208227f7f0710)),
    8787    MVO(0x000000cf, "C2_UNK_0000_00cf", 0),
     
    226226    /*.uStepping        = */ 6,
    227227    /*.enmMicroarch     = */ kCpumMicroarch_Intel_Core2_Penryn,
     228    /*.uScalableBusFreq = */ CPUM_SBUSFREQ_400MHZ,
    228229    /*.fFlags           = */ 0,
    229230    /*.cMaxPhysAddrWidth= */ 38,
  • trunk/src/VBox/VMM/VMMR3/cpus/Quad_Core_AMD_Opteron_2384.h

    r49995 r50590  
    251251    /*.uStepping        = */ 2,
    252252    /*.enmMicroarch     = */ kCpumMicroarch_AMD_K10,
     253    /*.uScalableBusFreq = */ CPUM_SBUSFREQ_UNKNOWN,
    253254    /*.fFlags           = */ 0,
    254255    /*.cMaxPhysAddrWidth= */ 48,
  • trunk/src/VBox/VMM/VMMR3/cpus/VIA_QuadCore_L4700_1_2_GHz.h

    r49993 r50590  
    8080    RSN(0x000000c1, 0x000000c3, "IA32_PMCn", Ia32PmcN, Ia32PmcN, 0x0, UINT64_C(0xffffff0000000000), 0), /* XXX: The range ended earlier than expected! */
    8181    RVI(0x000000c4, 0x000000cc, "ZERO_0000_00c4_THRU_0000_00cc", 0),
    82     MVO(0x000000cd, "P6_UNK_0000_00cd", 0),
     82    MFX(0x000000cd, "MSR_FSB_FREQ", IntelP6FsbFrequency, ReadOnly, 0, 0, 0),
    8383    RVI(0x000000ce, 0x000000e1, "ZERO_0000_00ce_THRU_0000_00e1", 0),
    8484    MFI(0x000000e2, "MSR_PKG_CST_CONFIG_CONTROL", IntelPkgCStConfigControl), /* value=0x6a204 */
     
    385385    /*.uStepping        = */ 13,
    386386    /*.enmMicroarch     = */ kCpumMicroarch_VIA_Isaiah,
     387    /*.uScalableBusFreq = */ CPUM_SBUSFREQ_267MHZ, /*??*/
    387388    /*.fFlags           = */ 0,
    388389    /*.cMaxPhysAddrWidth= */ 36,
Note: See TracChangeset for help on using the changeset viewer.

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