@@ -2286,6 +2286,7 @@ int has_turbo_ratio_group_limits(int family, int model)
22862286 case INTEL_FAM6_ATOM_GOLDMONT :
22872287 case INTEL_FAM6_SKYLAKE_X :
22882288 case INTEL_FAM6_ATOM_GOLDMONT_D :
2289+ case INTEL_FAM6_ATOM_TREMONT_D :
22892290 return 1 ;
22902291 }
22912292 return 0 ;
@@ -3534,6 +3535,7 @@ int probe_nhm_msrs(unsigned int family, unsigned int model)
35343535 case INTEL_FAM6_ATOM_GOLDMONT_PLUS :
35353536 case INTEL_FAM6_ATOM_GOLDMONT_D : /* DNV */
35363537 case INTEL_FAM6_ATOM_TREMONT : /* EHL */
3538+ case INTEL_FAM6_ATOM_TREMONT_D : /* JVL */
35373539 pkg_cstate_limits = glm_pkg_cstate_limits ;
35383540 break ;
35393541 default :
@@ -3616,6 +3618,17 @@ int is_ehl(unsigned int family, unsigned int model)
36163618 }
36173619 return 0 ;
36183620}
3621+ int is_jvl (unsigned int family , unsigned int model )
3622+ {
3623+ if (!genuine_intel )
3624+ return 0 ;
3625+
3626+ switch (model ) {
3627+ case INTEL_FAM6_ATOM_TREMONT_D :
3628+ return 1 ;
3629+ }
3630+ return 0 ;
3631+ }
36193632
36203633int has_turbo_ratio_limit (unsigned int family , unsigned int model )
36213634{
@@ -4227,6 +4240,14 @@ void rapl_probe_intel(unsigned int family, unsigned int model)
42274240 BIC_PRESENT (BIC_GFXWatt );
42284241 }
42294242 break ;
4243+ case INTEL_FAM6_ATOM_TREMONT_D : /* JVL */
4244+ do_rapl = RAPL_PKG | RAPL_PKG_PERF_STATUS | RAPL_PKG_POWER_INFO ;
4245+ BIC_PRESENT (BIC_PKG__ );
4246+ if (rapl_joules )
4247+ BIC_PRESENT (BIC_Pkg_J );
4248+ else
4249+ BIC_PRESENT (BIC_PkgWatt );
4250+ break ;
42304251 case INTEL_FAM6_SKYLAKE_L : /* SKL */
42314252 case INTEL_FAM6_CANNONLAKE_L : /* CNL */
42324253 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 ;
@@ -4629,6 +4650,7 @@ int has_snb_msrs(unsigned int family, unsigned int model)
46294650 case INTEL_FAM6_ATOM_GOLDMONT_PLUS :
46304651 case INTEL_FAM6_ATOM_GOLDMONT_D : /* DNV */
46314652 case INTEL_FAM6_ATOM_TREMONT : /* EHL */
4653+ case INTEL_FAM6_ATOM_TREMONT_D : /* JVL */
46324654 return 1 ;
46334655 }
46344656 return 0 ;
@@ -4958,9 +4980,6 @@ unsigned int intel_model_duplicates(unsigned int model)
49584980 case INTEL_FAM6_ALDERLAKE :
49594981 return INTEL_FAM6_CANNONLAKE_L ;
49604982
4961- case INTEL_FAM6_ATOM_TREMONT_D :
4962- return INTEL_FAM6_ATOM_GOLDMONT_D ;
4963-
49644983 case INTEL_FAM6_ATOM_TREMONT_L :
49654984 return INTEL_FAM6_ATOM_TREMONT ;
49664985
@@ -5214,6 +5233,14 @@ void process_cpuid()
52145233 BIC_PRESENT (BIC_Mod_c6 );
52155234 use_c1_residency_msr = 1 ;
52165235 }
5236+ if (is_jvl (family , model )) {
5237+ BIC_NOT_PRESENT (BIC_CPU_c3 );
5238+ BIC_NOT_PRESENT (BIC_CPU_c7 );
5239+ BIC_NOT_PRESENT (BIC_Pkgpc2 );
5240+ BIC_NOT_PRESENT (BIC_Pkgpc3 );
5241+ BIC_NOT_PRESENT (BIC_Pkgpc6 );
5242+ BIC_NOT_PRESENT (BIC_Pkgpc7 );
5243+ }
52175244 if (is_dnv (family , model )) {
52185245 BIC_PRESENT (BIC_CPU_c1 );
52195246 BIC_NOT_PRESENT (BIC_CPU_c3 );
0 commit comments