diff options
author | CyrIng <labs@cyring.fr> | 2024-03-30 16:22:33 +0100 |
---|---|---|
committer | CyrIng <labs@cyring.fr> | 2024-03-30 16:22:33 +0100 |
commit | 7d863cd7da0db73ae1460c4bc09d19f15f4e1fd0 (patch) | |
tree | 4155dfd146cb6dee205fce92e37947fd07b569cd | |
parent | dc6280f215c92f288f161db144897d4580d8c3ac (diff) |
[Intel] Added the ArrowLake/U entry
* Changed the MeteorLake/N signature
* Detect LunarLake, ArrowLake, PantherLake as Hybrid
* Fixed some architecture names in the PMC_PCU macro
-rw-r--r-- | x86_64/corefreqk.c | 10 | ||||
-rw-r--r-- | x86_64/corefreqk.h | 97 | ||||
-rw-r--r-- | x86_64/coretypes.h | 1 |
3 files changed, 69 insertions, 39 deletions
diff --git a/x86_64/corefreqk.c b/x86_64/corefreqk.c index fc4feb7..60cc119 100644 --- a/x86_64/corefreqk.c +++ b/x86_64/corefreqk.c @@ -10883,6 +10883,7 @@ static struct { {_Lunarlake, 1, 1, 1, 0}, /* 06_BD */ {_Arrowlake, 1, 1, 1, 0}, /* 06_C6 */ {_Arrowlake_H, 1, 1, 1, 0}, /* 06_C5 */ + {_Arrowlake_U, 1, 1, 1, 0}, /* 06_B5 */ {_Pantherlake, 1, 1, 1, 0}, /* 06_CC */ {_Clearwater_Forest, 1, 1, 1, 0} /* 06_DD */ }; @@ -14920,10 +14921,11 @@ static void PKG_Counters_IvyBridge_EP(CORE_RO *Core, unsigned int T) case Raptorlake: \ case Raptorlake_P: \ case Raptorlake_S: \ - case Lunarlake: \ - case Arrowlake: \ - case Arrowlake_H: \ - case Pantherlake: \ + case LunarLake: \ + case ArrowLake: \ + case ArrowLake_H: \ + case ArrowLake_U: \ + case PantherLake: \ ADL_SA(PRIVATE(OF(PCU)).BAR); \ break; \ } \ diff --git a/x86_64/corefreqk.h b/x86_64/corefreqk.h index 8228afb..823e52b 100644 --- a/x86_64/corefreqk.h +++ b/x86_64/corefreqk.h @@ -1919,13 +1919,13 @@ static void InitTimer_AMD_Zen4_RPL(unsigned int cpu) ; #define _Alderlake_N {.ExtFamily=0x0, .Family=0x6, .ExtModel=0xB, .Model=0xE} /* [MeteorLake/M] 06_AAh - [MeteorLake/N] 06_B5h + [MeteorLake/N] 06_ABh [MeteorLake/S] 06_ACh [RaptorLake] 06_B7h [RaptorLake/P] 06_BAh [RaptorLake/S] 06_BFh */ #define _Meteorlake_M {.ExtFamily=0x0, .Family=0x6, .ExtModel=0xA, .Model=0xA} -#define _Meteorlake_N {.ExtFamily=0x0, .Family=0x6, .ExtModel=0xB, .Model=0x5} +#define _Meteorlake_N {.ExtFamily=0x0, .Family=0x6, .ExtModel=0xA, .Model=0xB} #define _Meteorlake_S {.ExtFamily=0x0, .Family=0x6, .ExtModel=0xA, .Model=0xC} #define _Raptorlake {.ExtFamily=0x0, .Family=0x6, .ExtModel=0xB, .Model=0x7} #define _Raptorlake_P {.ExtFamily=0x0, .Family=0x6, .ExtModel=0xB, .Model=0xA} @@ -1933,10 +1933,12 @@ static void InitTimer_AMD_Zen4_RPL(unsigned int cpu) ; /* [LunarLake] 06_BDh [ArrowLake] 06_C6h - [ArrowLake/H] 06_C5h */ + [ArrowLake/H] 06_C5h + [ArrowLake/U] 06_B5h */ #define _Lunarlake {.ExtFamily=0x0, .Family=0x6, .ExtModel=0xB, .Model=0xD} #define _Arrowlake {.ExtFamily=0x0, .Family=0x6, .ExtModel=0xC, .Model=0x6} #define _Arrowlake_H {.ExtFamily=0x0, .Family=0x6, .ExtModel=0xC, .Model=0x5} +#define _Arrowlake_U {.ExtFamily=0x0, .Family=0x6, .ExtModel=0xB, .Model=0x5} /* [PantherLake] 06_CCh */ #define _Pantherlake {.ExtFamily=0x0, .Family=0x6, .ExtModel=0xC, .Model=0xC} @@ -3464,6 +3466,7 @@ static char *Arch_Raptorlake_S[] = ZLIST("Raptor Lake/S"); static char *Arch_Lunarlake[] = ZLIST("Lunar Lake"); static char *Arch_Arrowlake[] = ZLIST("Arrow Lake"); static char *Arch_Arrowlake_H[] = ZLIST("Arrow Lake/H"); +static char *Arch_Arrowlake_U[] = ZLIST("Arrow Lake/U"); static char *Arch_Pantherlake[] = ZLIST("Panther Lake"); static char *Arch_Clearwater_Forest[] = ZLIST("Panther Lake"); @@ -11219,7 +11222,7 @@ static ARCH Arch[ARCHITECTURES] = { [LunarLake] = { /* 89*/ .Signature = _Lunarlake, .Query = Query_Skylake, - .Update = PerCore_Skylake_Query, + .Update = PerCore_Icelake_Query, .Start = Start_Alderlake, .Stop = Stop_Alderlake, .Exit = NULL, @@ -11243,7 +11246,7 @@ static ARCH Arch[ARCHITECTURES] = { [ArrowLake] = { /* 90*/ .Signature = _Arrowlake, .Query = Query_Skylake, - .Update = PerCore_Skylake_Query, + .Update = PerCore_Icelake_Query, .Start = Start_Alderlake, .Stop = Stop_Alderlake, .Exit = NULL, @@ -11267,7 +11270,7 @@ static ARCH Arch[ARCHITECTURES] = { [ArrowLake_H] = { /* 91*/ .Signature = _Arrowlake_H, .Query = Query_Skylake, - .Update = PerCore_Skylake_Query, + .Update = PerCore_Icelake_Query, .Start = Start_Alderlake, .Stop = Stop_Alderlake, .Exit = NULL, @@ -11288,10 +11291,34 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = SKL_Driver, .Architecture = Arch_Arrowlake_H }, -[PantherLake] = { /* 92*/ +[ArrowLake_U] = { /* 92*/ + .Signature = _Arrowlake_U, + .Query = Query_Skylake, + .Update = PerCore_Icelake_Query, + .Start = Start_Alderlake, + .Stop = Stop_Alderlake, + .Exit = NULL, + .Timer = InitTimer_Alderlake, + .BaseClock = BaseClock_Skylake, + .ClockMod = ClockMod_Skylake_HWP, + .TurboClock = Intel_Turbo_Config8C, + .thermalFormula = THERMAL_FORMULA_INTEL, + .voltageFormula = VOLTAGE_FORMULA_INTEL_SAV, + .powerFormula = POWER_FORMULA_INTEL, + .PCI_ids = PCI_Void_ids, + .Uncore = { + .Start = Start_Uncore_Alderlake, + .Stop = Stop_Uncore_Alderlake, + .ClockMod = Haswell_Uncore_Ratio + }, + .Specific = Void_Specific, + .SystemDriver = SKL_Driver, + .Architecture = Arch_Arrowlake_U + }, +[PantherLake] = { /* 93*/ .Signature = _Pantherlake, .Query = Query_Skylake, - .Update = PerCore_Skylake_Query, + .Update = PerCore_Icelake_Query, .Start = Start_Alderlake, .Stop = Stop_Alderlake, .Exit = NULL, @@ -11313,7 +11340,7 @@ static ARCH Arch[ARCHITECTURES] = { .Architecture = Arch_Pantherlake }, -[Clearwater_Forest] = { /* 93*/ +[Clearwater_Forest] = { /* 94*/ .Signature = _Clearwater_Forest, .Query = Query_Skylake, .Update = PerCore_Skylake_Query, @@ -11338,7 +11365,7 @@ static ARCH Arch[ARCHITECTURES] = { .Architecture = Arch_Clearwater_Forest }, -[AMD_Zen] = { /* 94*/ +[AMD_Zen] = { /* 95*/ .Signature = _AMD_Zen, .Query = Query_AMD_F17h_PerSocket, .Update = PerCore_AMD_Family_17h_Query, @@ -11362,7 +11389,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen }, -[AMD_Zen_APU] = { /* 95*/ +[AMD_Zen_APU] = { /* 96*/ .Signature = _AMD_Zen_APU, .Query = Query_AMD_F17h_PerSocket, .Update = PerCore_AMD_Family_17h_Query, @@ -11386,7 +11413,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen_APU }, -[AMD_ZenPlus] = { /* 96*/ +[AMD_ZenPlus] = { /* 97*/ .Signature = _AMD_ZenPlus, .Query = Query_AMD_F17h_PerSocket, .Update = PerCore_AMD_Family_17h_Query, @@ -11410,7 +11437,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_ZenPlus }, -[AMD_ZenPlus_APU] = { /* 97*/ +[AMD_ZenPlus_APU] = { /* 98*/ .Signature = _AMD_ZenPlus_APU, .Query = Query_AMD_F17h_PerSocket, .Update = PerCore_AMD_Family_17h_Query, @@ -11434,7 +11461,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_ZenPlus_APU }, -[AMD_Zen_Dali] = { /* 98*/ +[AMD_Zen_Dali] = { /* 99*/ .Signature = _AMD_Zen_Dali, .Query = Query_AMD_F17h_PerSocket, .Update = PerCore_AMD_Family_17h_Query, @@ -11458,7 +11485,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen_Dali }, -[AMD_EPYC_Rome_CPK] = { /* 99*/ +[AMD_EPYC_Rome_CPK] = { /*100*/ .Signature = _AMD_EPYC_Rome_CPK, .Query = Query_AMD_F17h_PerCluster, .Update = PerCore_AMD_Family_17h_Query, @@ -11482,7 +11509,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_EPYC_Rome_CPK }, -[AMD_Zen2_Renoir] = { /*100*/ +[AMD_Zen2_Renoir] = { /*101*/ .Signature = _AMD_Zen2_Renoir, .Query = Query_AMD_F17h_PerSocket, .Update = PerCore_AMD_Family_17h_Query, @@ -11506,7 +11533,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen2_Renoir }, -[AMD_Zen2_LCN] = { /*101*/ +[AMD_Zen2_LCN] = { /*102*/ .Signature = _AMD_Zen2_LCN, .Query = Query_AMD_F17h_PerSocket, .Update = PerCore_AMD_Family_17h_Query, @@ -11530,7 +11557,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen2_LCN }, -[AMD_Zen2_MTS] = { /*102*/ +[AMD_Zen2_MTS] = { /*103*/ .Signature = _AMD_Zen2_MTS, .Query = Query_AMD_F17h_PerCluster, .Update = PerCore_AMD_Family_17h_Query, @@ -11554,7 +11581,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen2_MTS }, -[AMD_Zen2_Ariel] = { /*103*/ +[AMD_Zen2_Ariel] = { /*104*/ .Signature = _AMD_Zen2_Ariel, .Query = Query_AMD_F17h_PerSocket, .Update = PerCore_AMD_Family_17h_Query, @@ -11578,7 +11605,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen2_Ariel }, -[AMD_Zen2_Jupiter] = { /*104*/ +[AMD_Zen2_Jupiter] = { /*105*/ .Signature = _AMD_Zen2_Jupiter, .Query = Query_AMD_F17h_PerSocket, .Update = PerCore_AMD_Family_17h_Query, @@ -11602,7 +11629,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen2_Jupiter }, -[AMD_Zen2_Galileo] = { /*105*/ +[AMD_Zen2_Galileo] = { /*106*/ .Signature = _AMD_Zen2_Galileo, .Query = Query_AMD_F17h_PerSocket, .Update = PerCore_AMD_Family_17h_Query, @@ -11626,7 +11653,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen2_Galileo }, -[AMD_Zen2_MDN] = { /*106*/ +[AMD_Zen2_MDN] = { /*107*/ .Signature = _AMD_Zen2_MDN, .Query = Query_AMD_F17h_PerSocket, .Update = PerCore_AMD_Family_17h_Query, @@ -11650,7 +11677,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen2_MDN }, -[AMD_Zen3_VMR] = { /*107*/ +[AMD_Zen3_VMR] = { /*108*/ .Signature = _AMD_Zen3_VMR, .Query = Query_AMD_F19h_PerCluster, .Update = PerCore_AMD_Family_19h_Query, @@ -11674,7 +11701,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen3_VMR }, -[AMD_Zen3_CZN] = { /*108*/ +[AMD_Zen3_CZN] = { /*109*/ .Signature = _AMD_Zen3_CZN, .Query = Query_AMD_F19h_PerSocket, .Update = PerCore_AMD_Family_19h_Query, @@ -11698,7 +11725,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen3_CZN }, -[AMD_EPYC_Milan] = { /*109*/ +[AMD_EPYC_Milan] = { /*110*/ .Signature = _AMD_EPYC_Milan, .Query = Query_AMD_F19h_PerCluster, .Update = PerCore_AMD_Family_19h_Query, @@ -11722,7 +11749,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_EPYC_Milan }, -[AMD_Zen3_Chagall] = { /*110*/ +[AMD_Zen3_Chagall] = { /*111*/ .Signature = _AMD_Zen3_Chagall, .Query = Query_AMD_F19h_PerCluster, .Update = PerCore_AMD_Family_19h_Query, @@ -11746,7 +11773,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen3_Chagall }, -[AMD_Zen3_Badami] = { /*111*/ +[AMD_Zen3_Badami] = { /*112*/ .Signature = _AMD_Zen3_Badami, .Query = Query_AMD_F19h_PerCluster, .Update = PerCore_AMD_Family_19h_Query, @@ -11770,7 +11797,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen3_Badami }, -[AMD_Zen3Plus_RMB] = { /*112*/ +[AMD_Zen3Plus_RMB] = { /*113*/ .Signature = _AMD_Zen3Plus_RMB, .Query = Query_AMD_F19h_PerSocket, .Update = PerCore_AMD_Family_19h_Query, @@ -11794,7 +11821,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen3Plus_RMB }, -[AMD_Zen4_Genoa] = { /*113*/ +[AMD_Zen4_Genoa] = { /*114*/ .Signature = _AMD_Zen4_Genoa, .Query = Query_AMD_F19h_11h_PerCluster, .Update = PerCore_AMD_Family_19h_Query, @@ -11818,7 +11845,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen4_Genoa }, -[AMD_Zen4_RPL] = { /*114*/ +[AMD_Zen4_RPL] = { /*115*/ .Signature = _AMD_Zen4_RPL, .Query = Query_AMD_F19h_61h_PerCluster, .Update = PerCore_AMD_Family_19h_Query, @@ -11842,7 +11869,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen4_RPL }, -[AMD_Zen4_PHX] = { /*115*/ +[AMD_Zen4_PHX] = { /*116*/ .Signature = _AMD_Zen4_PHX, .Query = Query_AMD_F19h_74h_PerSocket, .Update = PerCore_AMD_Family_19h_Query, @@ -11866,7 +11893,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen4_PHX }, -[AMD_Zen4_HWK] = { /*116*/ +[AMD_Zen4_HWK] = { /*117*/ .Signature = _AMD_Zen4_HWK, .Query = Query_AMD_F19h_PerSocket, .Update = PerCore_AMD_Family_19h_Query, @@ -11890,7 +11917,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen4_HWK }, -[AMD_Zen4_PHX2] = { /*117*/ +[AMD_Zen4_PHX2] = { /*118*/ .Signature = _AMD_Zen4_PHX2, .Query = Query_AMD_F19h_74h_PerSocket, .Update = PerCore_AMD_Family_19h_Query, @@ -11914,7 +11941,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen4_PHX2 }, -[AMD_Zen4_Bergamo] = { /*118*/ +[AMD_Zen4_Bergamo] = { /*119*/ .Signature = _AMD_Zen4_Bergamo, .Query = Query_AMD_F19h_11h_PerCluster, .Update = PerCore_AMD_Family_19h_Query, @@ -11938,7 +11965,7 @@ static ARCH Arch[ARCHITECTURES] = { .SystemDriver = AMD_Zen_Driver, .Architecture = Arch_AMD_Zen4_Bergamo }, -[AMD_Zen4_STP] = { /*119*/ +[AMD_Zen4_STP] = { /*120*/ .Signature = _AMD_Zen4_STP, .Query = Query_AMD_F19h_11h_PerCluster, .Update = PerCore_AMD_Family_19h_Query, diff --git a/x86_64/coretypes.h b/x86_64/coretypes.h index 3b98174..ab5cc44 100644 --- a/x86_64/coretypes.h +++ b/x86_64/coretypes.h @@ -119,6 +119,7 @@ enum { GenuineArch = 0, LunarLake, ArrowLake, ArrowLake_H, + ArrowLake_U, PantherLake, Clearwater_Forest, AMD_Zen, |