Skip to content

Commit

Permalink
topdown: Added support for more architectures
Browse files Browse the repository at this point in the history
While this component has only been tested on the Raptor Lake
architecture, according to Intel's documentation there are many more
architectures that should support topdown events through the
PERF_METRICS MSR. The architectures added are as follows:

TMA level 1 metrics only:
        Rocket Lake
        Ice Lake
        Ice Lake X
        Tiger Lake

TMA levels 1 & 2:
        Sapphire Rapids
        Meteor Lake (p-cores only)
        Arrow Lake (p-cores only)
        Alder Lake (p-cores only)
        Granite Rapids (p-cores only)
        Lunar Lake (p-cores only)
        Emerald Rapids
  • Loading branch information
willowec committed Dec 11, 2024
1 parent 5e62872 commit 8748059
Showing 1 changed file with 29 additions and 4 deletions.
33 changes: 29 additions & 4 deletions src/components/topdown/topdown.c
Original file line number Diff line number Diff line change
Expand Up @@ -205,10 +205,35 @@ _topdown_init_component(int cidx)
/* The model id can be found in Table 2-1 of the */
/* IA-32 Architectures Software Developer’s Manual */

/* hybrid machines */
case 0xb7: /* RaptorLake-S/HX */
case 0xba: /* RaptorLake */
case 0xbf: /* RaptorLake */
/* homogeneous machines that do not support l2 TMA */
case 0x6a: /* IceLake 3rd gen Xeon */
case 0x6c: /* IceLake 3rd gen Xeon */
case 0x7d: /* IceLake 10th gen Core */
case 0x7e: /* IceLake 10th gen Core */
case 0x8c: /* TigerLake 11th gen Core */
case 0x8d: /* TigerLake 11th gen Core */
case 0xa7: /* RocketLake 11th gen Core */
required_core_type = INTEL_CORE_TYPE_HOMOGENEOUS;
supports_l2 = 0;
break;

/* homogeneous machines that support l2 TMA */
case 0x8f: /* SapphireRapids 4th gen Xeon */
case 0xcf: /* EmeraldRapids 5th gen Xeon */
required_core_type = INTEL_CORE_TYPE_HOMOGENEOUS;
supports_l2 = 1;
break;

/* hybrid machines that support l2 TMA and are locked to the P-core */
case 0xaa: /* MeteorLake Core Ultra 7 hybrid */
case 0xad: /* GraniteRapids 6th gen Xeon P-core */
case 0xae: /* GraniteRapids 6th gen Xeon P-core */
case 0x97: /* AlderLake 12th gen Core hybrid */
case 0x9a: /* AlderLake 12th gen Core hybrid */
case 0xb7: /* RaptorLake-S/HX 13th gen Core hybrid */
case 0xba: /* RaptorLake 13th gen Core hybrid */
case 0xbd: /* LunarLake Series 2 Core Ultra hybrid */
case 0xbf: /* RaptorLake 13th gen Core hybrid */
required_core_type = INTEL_CORE_TYPE_PERFORMANCE;
supports_l2 = 1;
break;
Expand Down

0 comments on commit 8748059

Please sign in to comment.