VirtualBox

Ignore:
Timestamp:
May 30, 2016 3:52:23 PM (9 years ago)
Author:
vboxsync
Message:

wuireport.py: march

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/testmanager/core/testbox.py

    r61303 r61305  
    269269            return 0;
    270270        return (self.lCpuRevision & 0xff);
     271
     272    # The following is a translation of the g_aenmIntelFamily06 array in CPUMR3CpuId.cpp:
     273    kdIntelFamily06 = {
     274        0x00: 'P6',
     275        0x01: 'P6',
     276        0x03: 'P6_II',
     277        0x05: 'P6_II',
     278        0x06: 'P6_II',
     279        0x07: 'P6_III',
     280        0x08: 'P6_III',
     281        0x09: 'P6_M_Banias',
     282        0x0a: 'P6_III',
     283        0x0b: 'P6_III',
     284        0x0d: 'P6_M_Dothan',
     285        0x0e: 'Core_Yonah',
     286        0x0f: 'Core2_Merom',
     287        0x15: 'P6_M_Dothan',
     288        0x16: 'Core2_Merom',
     289        0x17: 'Core2_Penryn',
     290        0x1a: 'Core7_Nehalem',
     291        0x1c: 'Atom_Bonnell',
     292        0x1d: 'Core2_Penryn',
     293        0x1e: 'Core7_Nehalem',
     294        0x1f: 'Core7_Nehalem',
     295        0x25: 'Core7_Westmere',
     296        0x26: 'Atom_Lincroft',
     297        0x27: 'Atom_Saltwell',
     298        0x2a: 'Core7_SandyBridge',
     299        0x2c: 'Core7_Westmere',
     300        0x2d: 'Core7_SandyBridge',
     301        0x2e: 'Core7_Nehalem',
     302        0x2f: 'Core7_Westmere',
     303        0x35: 'Atom_Saltwell',
     304        0x36: 'Atom_Saltwell',
     305        0x37: 'Atom_Silvermont',
     306        0x3a: 'Core7_IvyBridge',
     307        0x3c: 'Core7_Haswell',
     308        0x3d: 'Core7_Broadwell',
     309        0x3e: 'Core7_IvyBridge',
     310        0x3f: 'Core7_Haswell',
     311        0x45: 'Core7_Haswell',
     312        0x46: 'Core7_Haswell',
     313        0x47: 'Core7_Broadwell',
     314        0x4a: 'Atom_Silvermont',
     315        0x4c: 'Atom_Airmount',
     316        0x4d: 'Atom_Silvermont',
     317        0x4e: 'Core7_Skylake',
     318        0x4f: 'Core7_Broadwell',
     319        0x55: 'Core7_Skylake',
     320        0x56: 'Core7_Broadwell',
     321        0x5a: 'Atom_Silvermont',
     322        0x5c: 'Atom_Goldmont',
     323        0x5d: 'Atom_Silvermont',
     324        0x5e: 'Core7_Skylake',
     325        0x66: 'Core7_Cannonlake',
     326    };
     327    # Also from CPUMR3CpuId.cpp, but the switch.
     328    kdIntelFamily15 = {
     329        0x00: 'NB_Willamette',
     330        0x01: 'NB_Willamette',
     331        0x02: 'NB_Northwood',
     332        0x03: 'NB_Prescott',
     333        0x04: 'NB_Prescott2M',
     334        0x05: 'NB_Unknown',
     335        0x06: 'NB_CedarMill',
     336        0x07: 'NB_Gallatin',
     337    };
     338
     339    def queryCpuMicroarch(self):
     340        """ Try guess the microarch name for the cpu.  Returns None if we cannot. """
     341        if self.lCpuRevision is None or self.sCpuVendor is None:
     342            return None;
     343        uFam = self.getCpuFamily();
     344        uMod = self.getCpuModel();
     345        if self.sCpuVendor == 'GenuineIntel':
     346            if uFam == 6:
     347                return self.kdIntelFamily06.get(uMod, None);
     348            if uFam == 15:
     349                return self.kdIntelFamily15.get(uMod, None);
     350        elif self.sCpuVendor == 'AuthenticAMD':
     351            if uFam == 0xf:
     352                if uMod < 0x10:                             return 'K8_130nm';
     353                if uMod >= 0x60 and uMod < 0x80:            return 'K8_65nm';
     354                if uMod >= 0x40:                            return 'K8_90nm_AMDV';
     355                if uMod in [0x21, 0x23, 0x2b, 0x37, 0x3f]:  return 'K8_90nm_DualCore';
     356                return 'AMD_K8_90nm';
     357            if uFam == 0x10:                                return 'K10';
     358            if uFam == 0x11:                                return 'K10_Lion';
     359            if uFam == 0x12:                                return 'K10_Llano';
     360            if uFam == 0x14:                                return 'Bobcat';
     361            if uFam == 0x15:
     362                if uMod <= 0x01:                            return 'Bulldozer';
     363                if uMod in [0x02, 0x10, 0x13]:              return 'Piledriver';
     364                return None;
     365            if uFam == 0x16:
     366                return 'Jaguar';
     367        return None;
    271368
    272369    def getArchBitString(self):
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