anrieff / libcpuid

a small C library for x86 CPU detection and feature extraction

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Intel Coffee Lake and Kaby Lake

TheTumultuousUnicornOfDarkness opened this issue · comments

Hello,

Thanks to Intel (sarcasm), Coffee Lake (7th gen) and Kaby Lake (8th gen) both use same numbers (family/ext. family/ model/ext. model, e.g. 6/6/14/158).

Is there a way to fix it? Thank.

Well we can still use the brand string to infer generations. E.g. see the match_pattern invocations in get_brand_code_and_bits in recog_intel.c, they serve similar purpose.

Can you get concrete raw dumps from these CPUs so I can fix this issue?

Here is the result of "cpuid_tool --save=Intel8700k" for my Coffee Lake processor

Hope it helps !

version=0.4.0
basic_cpuid[0]=00000016 756e6547 6c65746e 49656e69
basic_cpuid[1]=000906ea 04100800 7ffafbff bfebfbff
basic_cpuid[2]=76036301 00f0b5ff 00000000 00c30000
basic_cpuid[3]=00000000 00000000 00000000 00000000
basic_cpuid[4]=1c004121 01c0003f 0000003f 00000000
basic_cpuid[5]=00000040 00000040 00000003 11142120
basic_cpuid[6]=000027f7 00000002 00000009 00000000
basic_cpuid[7]=00000000 029c6fbf 40000000 0c000000
basic_cpuid[8]=00000000 00000000 00000000 00000000
basic_cpuid[9]=00000000 00000000 00000000 00000000
basic_cpuid[10]=07300404 00000000 00000000 00000603
basic_cpuid[11]=00000001 00000002 00000100 00000004
basic_cpuid[12]=00000000 00000000 00000000 00000000
basic_cpuid[13]=0000001f 00000440 00000440 00000000
basic_cpuid[14]=00000000 00000000 00000000 00000000
basic_cpuid[15]=00000000 00000000 00000000 00000000
basic_cpuid[16]=00000000 00000000 00000000 00000000
basic_cpuid[17]=00000000 00000000 00000000 00000000
basic_cpuid[18]=00000000 00000000 00000000 00000000
basic_cpuid[19]=00000000 00000000 00000000 00000000
basic_cpuid[20]=00000001 0000000f 00000007 00000000
basic_cpuid[21]=00000002 00000134 00000000 00000000
basic_cpuid[22]=00000e74 0000125c 00000064 00000000
basic_cpuid[23]=00000e74 0000125c 00000064 00000000
basic_cpuid[24]=00000e74 0000125c 00000064 00000000
basic_cpuid[25]=00000e74 0000125c 00000064 00000000
basic_cpuid[26]=00000e74 0000125c 00000064 00000000
basic_cpuid[27]=00000e74 0000125c 00000064 00000000
basic_cpuid[28]=00000e74 0000125c 00000064 00000000
basic_cpuid[29]=00000e74 0000125c 00000064 00000000
basic_cpuid[30]=00000e74 0000125c 00000064 00000000
basic_cpuid[31]=00000e74 0000125c 00000064 00000000
ext_cpuid[0]=80000008 00000000 00000000 00000000
ext_cpuid[1]=00000000 00000000 00000121 2c100800
ext_cpuid[2]=65746e49 2952286c 726f4320 4d542865
ext_cpuid[3]=37692029 3037382d 43204b30 40205550
ext_cpuid[4]=372e3320 7a484730 00000000 00000000
ext_cpuid[5]=00000000 00000000 00000000 00000000
ext_cpuid[6]=00000000 00000000 01006040 00000000
ext_cpuid[7]=00000000 00000000 00000000 00000100
ext_cpuid[8]=00003027 00000000 00000000 00000000
ext_cpuid[9]=00000e74 0000125c 00000064 00000000
ext_cpuid[10]=00000e74 0000125c 00000064 00000000
ext_cpuid[11]=00000e74 0000125c 00000064 00000000
ext_cpuid[12]=00000e74 0000125c 00000064 00000000
ext_cpuid[13]=00000e74 0000125c 00000064 00000000
ext_cpuid[14]=00000e74 0000125c 00000064 00000000
ext_cpuid[15]=00000e74 0000125c 00000064 00000000
ext_cpuid[16]=00000e74 0000125c 00000064 00000000
ext_cpuid[17]=00000e74 0000125c 00000064 00000000
ext_cpuid[18]=00000e74 0000125c 00000064 00000000
ext_cpuid[19]=00000e74 0000125c 00000064 00000000
ext_cpuid[20]=00000e74 0000125c 00000064 00000000
ext_cpuid[21]=00000e74 0000125c 00000064 00000000
ext_cpuid[22]=00000e74 0000125c 00000064 00000000
ext_cpuid[23]=00000e74 0000125c 00000064 00000000
ext_cpuid[24]=00000e74 0000125c 00000064 00000000
ext_cpuid[25]=00000e74 0000125c 00000064 00000000
ext_cpuid[26]=00000e74 0000125c 00000064 00000000
ext_cpuid[27]=00000e74 0000125c 00000064 00000000
ext_cpuid[28]=00000e74 0000125c 00000064 00000000
ext_cpuid[29]=00000e74 0000125c 00000064 00000000
ext_cpuid[30]=00000e74 0000125c 00000064 00000000
ext_cpuid[31]=00000e74 0000125c 00000064 00000000
intel_fn4[0]=1c004121 01c0003f 0000003f 00000000
intel_fn4[1]=1c004122 01c0003f 0000003f 00000000
intel_fn4[2]=1c004143 00c0003f 000003ff 00000000
intel_fn4[3]=1c03c163 03c0003f 00002fff 00000006
intel_fn4[4]=00000000 00000000 00000000 00000000
intel_fn4[5]=00000000 00000000 00000000 00000000
intel_fn4[6]=00000000 00000000 00000000 00000000
intel_fn4[7]=00000000 00000000 00000000 00000000
intel_fn11[0]=00000001 00000002 00000100 00000004
intel_fn11[1]=00000004 0000000c 00000201 00000004
intel_fn11[2]=00000000 00000000 00000002 00000004
intel_fn11[3]=00000000 00000000 00000003 00000004
intel_fn12h[0]=00000000 00000000 00000000 00000000
intel_fn12h[1]=00000000 00000000 00000000 00000000
intel_fn12h[2]=00000000 00000000 00000000 00000000
intel_fn12h[3]=00000000 00000000 00000000 00000000
intel_fn14h[0]=00000001 0000000f 00000007 00000000
intel_fn14h[1]=02490002 003f3fff 00000000 00000000
intel_fn14h[2]=00000000 00000000 00000000 00000000
intel_fn14h[3]=00000000 00000000 00000000 00000000

Fixed in f178de9. As noted in the commit message, the fix relies not on brand string pattern matching, but on the simple presumption that equivalent model series (i3, i5, i7) have different number of cores in Kaby and Coffee.

Great, thank you very much.