@@ -3265,6 +3265,7 @@ int probe_nhm_msrs(unsigned int family, unsigned int model)
3265
3265
case INTEL_FAM6_ATOM_GOLDMONT : /* BXT */
3266
3266
case INTEL_FAM6_ATOM_GOLDMONT_PLUS :
3267
3267
case INTEL_FAM6_ATOM_GOLDMONT_D : /* DNV */
3268
+ case INTEL_FAM6_ATOM_TREMONT : /* EHL */
3268
3269
pkg_cstate_limits = glm_pkg_cstate_limits ;
3269
3270
break ;
3270
3271
default :
@@ -3336,6 +3337,17 @@ int is_skx(unsigned int family, unsigned int model)
3336
3337
}
3337
3338
return 0 ;
3338
3339
}
3340
+ int is_ehl (unsigned int family , unsigned int model )
3341
+ {
3342
+ if (!genuine_intel )
3343
+ return 0 ;
3344
+
3345
+ switch (model ) {
3346
+ case INTEL_FAM6_ATOM_TREMONT :
3347
+ return 1 ;
3348
+ }
3349
+ return 0 ;
3350
+ }
3339
3351
3340
3352
int has_turbo_ratio_limit (unsigned int family , unsigned int model )
3341
3353
{
@@ -3894,6 +3906,20 @@ void rapl_probe_intel(unsigned int family, unsigned int model)
3894
3906
else
3895
3907
BIC_PRESENT (BIC_PkgWatt );
3896
3908
break ;
3909
+ case INTEL_FAM6_ATOM_TREMONT : /* EHL */
3910
+ do_rapl = RAPL_PKG | RAPL_CORES | RAPL_CORE_POLICY | RAPL_DRAM | RAPL_DRAM_PERF_STATUS | RAPL_PKG_PERF_STATUS | RAPL_GFX | RAPL_PKG_POWER_INFO ;
3911
+ if (rapl_joules ) {
3912
+ BIC_PRESENT (BIC_Pkg_J );
3913
+ BIC_PRESENT (BIC_Cor_J );
3914
+ BIC_PRESENT (BIC_RAM_J );
3915
+ BIC_PRESENT (BIC_GFX_J );
3916
+ } else {
3917
+ BIC_PRESENT (BIC_PkgWatt );
3918
+ BIC_PRESENT (BIC_CorWatt );
3919
+ BIC_PRESENT (BIC_RAMWatt );
3920
+ BIC_PRESENT (BIC_GFXWatt );
3921
+ }
3922
+ break ;
3897
3923
case INTEL_FAM6_SKYLAKE_L : /* SKL */
3898
3924
case INTEL_FAM6_CANNONLAKE_L : /* CNL */
3899
3925
do_rapl = RAPL_PKG | RAPL_CORES | RAPL_CORE_POLICY | RAPL_DRAM | RAPL_DRAM_PERF_STATUS | RAPL_PKG_PERF_STATUS | RAPL_GFX | RAPL_PKG_POWER_INFO ;
@@ -4295,6 +4321,7 @@ int has_snb_msrs(unsigned int family, unsigned int model)
4295
4321
case INTEL_FAM6_ATOM_GOLDMONT : /* BXT */
4296
4322
case INTEL_FAM6_ATOM_GOLDMONT_PLUS :
4297
4323
case INTEL_FAM6_ATOM_GOLDMONT_D : /* DNV */
4324
+ case INTEL_FAM6_ATOM_TREMONT : /* EHL */
4298
4325
return 1 ;
4299
4326
}
4300
4327
return 0 ;
@@ -4324,6 +4351,7 @@ int has_c8910_msrs(unsigned int family, unsigned int model)
4324
4351
case INTEL_FAM6_CANNONLAKE_L : /* CNL */
4325
4352
case INTEL_FAM6_ATOM_GOLDMONT : /* BXT */
4326
4353
case INTEL_FAM6_ATOM_GOLDMONT_PLUS :
4354
+ case INTEL_FAM6_ATOM_TREMONT : /* EHL */
4327
4355
return 1 ;
4328
4356
}
4329
4357
return 0 ;
@@ -4882,7 +4910,8 @@ void process_cpuid()
4882
4910
do_slm_cstates = is_slm (family , model );
4883
4911
do_knl_cstates = is_knl (family , model );
4884
4912
4885
- if (do_slm_cstates || do_knl_cstates || is_cnl (family , model ))
4913
+ if (do_slm_cstates || do_knl_cstates || is_cnl (family , model ) ||
4914
+ is_ehl (family , model ))
4886
4915
BIC_NOT_PRESENT (BIC_CPU_c3 );
4887
4916
4888
4917
if (!quiet )
0 commit comments