Skip to content

Commit 53aab34

Browse files
committed
add basic support for Elkhart Lake and Jasper Lake
addresses issue #387 addresses issue #830 Change-Id: Id0f89c8a80e6c8513d156a0f930eaf5d750c3354
1 parent 65b07c8 commit 53aab34

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

src/cpucounters.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -725,6 +725,8 @@ void PCM::initCStateSupportTables()
725725
case MTL:
726726
case LNL:
727727
case SNOWRIDGE:
728+
case ELKHART_LAKE:
729+
case JASPER_LAKE:
728730
PCM_CSTATE_ARRAY(pkgCStateMsr, PCM_PARAM_PROTECT({0, 0, 0x3F8, 0, 0x3F9, 0, 0x3FA, 0, 0, 0, 0 }) );
729731
case NEHALEM_EP:
730732
case NEHALEM:
@@ -801,6 +803,8 @@ void PCM::initCStateSupportTables()
801803
case MTL:
802804
case LNL:
803805
case SNOWRIDGE:
806+
case ELKHART_LAKE:
807+
case JASPER_LAKE:
804808
case ICX:
805809
case SPR:
806810
case EMR:
@@ -1649,6 +1653,8 @@ bool PCM::detectNominalFrequency()
16491653
|| cpu_family_model == DENVERTON
16501654
|| useSKLPath()
16511655
|| cpu_family_model == SNOWRIDGE
1656+
|| cpu_family_model == ELKHART_LAKE
1657+
|| cpu_family_model == JASPER_LAKE
16521658
|| cpu_family_model == KNL
16531659
|| cpu_family_model == ADL
16541660
|| cpu_family_model == RPL
@@ -3243,6 +3249,8 @@ bool PCM::isCPUModelSupported(const int model_)
32433249
|| model_ == WESTMERE_EX
32443250
|| isAtom(model_)
32453251
|| model_ == SNOWRIDGE
3252+
|| model_ == ELKHART_LAKE
3253+
|| model_ == JASPER_LAKE
32463254
|| model_ == CLARKDALE
32473255
|| model_ == SANDY_BRIDGE
32483256
|| model_ == JAKETOWN
@@ -3549,6 +3557,8 @@ PCM::ErrorCode PCM::program(const PCM::ProgramMode mode_, const void * parameter
35493557
core_gen_counter_num_used = 4;
35503558
break;
35513559
case SNOWRIDGE:
3560+
case ELKHART_LAKE:
3561+
case JASPER_LAKE:
35523562
LLCArchEventInit(coreEventDesc);
35533563
coreEventDesc[2].event_number = SKL_MEM_LOAD_RETIRED_L2_MISS_EVTNR;
35543564
coreEventDesc[2].umask_value = SKL_MEM_LOAD_RETIRED_L2_MISS_UMASK;
@@ -4824,6 +4834,10 @@ const char * PCM::getUArchCodename(const int32 cpu_family_model_param) const
48244834
return "Denverton";
48254835
case SNOWRIDGE:
48264836
return "Snowridge";
4837+
case ELKHART_LAKE:
4838+
return "Elkhart Lake";
4839+
case JASPER_LAKE:
4840+
return "Jasper Lake";
48274841
case NEHALEM_EP:
48284842
case NEHALEM:
48294843
return "Nehalem/Nehalem-EP";

src/cpucounters.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1856,6 +1856,8 @@ class PCM_API PCM
18561856
GEMINI_LAKE = PCM_CPU_FAMILY_MODEL(6, 122),
18571857
DENVERTON = PCM_CPU_FAMILY_MODEL(6, 95),
18581858
SNOWRIDGE = PCM_CPU_FAMILY_MODEL(6, 134),
1859+
ELKHART_LAKE = PCM_CPU_FAMILY_MODEL(6, 150),
1860+
JASPER_LAKE = PCM_CPU_FAMILY_MODEL(6, 156),
18591861
CLARKDALE = PCM_CPU_FAMILY_MODEL(6, 37),
18601862
WESTMERE_EP = PCM_CPU_FAMILY_MODEL(6, 44),
18611863
NEHALEM_EX = PCM_CPU_FAMILY_MODEL(6, 46),
@@ -2122,6 +2124,8 @@ class PCM_API PCM
21222124
case LNL:
21232125
return 12;
21242126
case SNOWRIDGE:
2127+
case ELKHART_LAKE:
2128+
case JASPER_LAKE:
21252129
return 4;
21262130
case DENVERTON:
21272131
return 3;
@@ -2451,6 +2455,8 @@ class PCM_API PCM
24512455
|| cpu_family_model == PCM::GEMINI_LAKE
24522456
|| cpu_family_model == PCM::DENVERTON
24532457
|| cpu_family_model == PCM::SNOWRIDGE
2458+
|| cpu_family_model == PCM::ELKHART_LAKE
2459+
|| cpu_family_model == PCM::JASPER_LAKE
24542460
|| cpu_family_model == PCM::HASWELLX
24552461
|| cpu_family_model == PCM::BROADWELL
24562462
|| cpu_family_model == PCM::BDX_DE
@@ -4270,6 +4276,8 @@ uint64 getL2CacheMisses(const CounterStateType & before, const CounterStateType
42704276
const auto cpu_family_model = pcm->getCPUFamilyModel();
42714277
if (pcm->useSkylakeEvents()
42724278
|| cpu_family_model == PCM::SNOWRIDGE
4279+
|| cpu_family_model == PCM::ELKHART_LAKE
4280+
|| cpu_family_model == PCM::JASPER_LAKE
42734281
|| cpu_family_model == PCM::SRF
42744282
|| cpu_family_model == PCM::ADL
42754283
|| cpu_family_model == PCM::RPL
@@ -4382,6 +4390,8 @@ uint64 getL3CacheHitsSnoop(const CounterStateType & before, const CounterStateTy
43824390
if (!pcm->isL3CacheHitsSnoopAvailable()) return 0;
43834391
const auto cpu_family_model = pcm->getCPUFamilyModel();
43844392
if (cpu_family_model == PCM::SNOWRIDGE
4393+
|| cpu_family_model == PCM::ELKHART_LAKE
4394+
|| cpu_family_model == PCM::JASPER_LAKE
43854395
|| cpu_family_model == PCM::SRF
43864396
|| cpu_family_model == PCM::ADL
43874397
|| cpu_family_model == PCM::RPL

0 commit comments

Comments
 (0)