Coffee Lake U misdetected as Kaby Lake
Coffee Lake U chips are classified as Kaby Lake in the code. There is a comment saying this came from wikichip, but wiki chip shows it as coffee lake.
https://en.wikichip.org/wiki/intel/microarchitectures/coffee_lake#CPUID
Good catch! Should be fixed in 71a9308bed63a64b9e80bc115a0390cac2f8364f.
So after some time I realized that this isn't as clear as it seems.
I initially classified it as Kaby Lake because wikichip says so:
| Core | ExtendedFamily | Family | ExtendedModel | Model | Stepping |
|---|---|---|---|---|---|
| U | 0 | 0x6 | 0x8 | 0xE | 0xA |
but it's true that wikichip also says that this CPUID may also correspond to Coffee Lake U. Then, how can we differentiate between them?
How strange. Ideally, we'd find someone with a kaby lake chip to check what the actual value is. Would Intel really have shipped them with the same identifier?
https://en.wikichip.org/wiki/intel/microarchitectures/kaby_lake says that Kaby Lake Y/U/R are stepping 9. While the page you found specifically for R (https://en.wikichip.org/wiki/intel/cores/kaby_lake_r) says R is stepping 10. It seems more likely that this second page is incorrect than that they actually reused the ID.
I noticed this issue because my laptop is a Kaby Lake CPU and it is now being missdetected as Coffee Lake. So I can confirm that the actual stepping value for Kaby Lake is 10, not 9 - so Wikipedia is wrong and wikichip is right.
Maybe there is another way to differentiate even if they have the same CPUID.
Wikichip page says:
"Kaby Lake R ... serving as a refresh to Kaby Lake U"
"Although those microprocessors are still based on Kaby Lake, Intel has branded them as 8th Generation Core"
So there are only certain Kaby Lake chips (more specifically, Kaby Lake R) that are a "refresh" of Kaby Lake and that Intel marketed them as 8th Gen* but technically they are still Kaby Lake - that's why CPUID is reporting them as 8th Gen rather than 7th Gen.
Sadly, this is actually the second time I see two different chips reporting the same CPUID.
* Kaby Lake are 7th Gen. (e.g., i5-7***) while my Kaby Lake CPU is marketed as 8th Gen (it is i5-8250U).
I'd say that the last commit should fix this ambiguity - now my i5-8250U is being reported as Kaby Lake again. Can you check if it also works on your end?
Thanks. I will check next week when I have access to the machine again.
Works correctly. My machine is an i5-8259U and is being reported as Coffee Lake.
That is some good news. Also, I did some search, and wikichip clearly shows that this is not the only case in which a CPUID identification is shared by two different microarchitectures. But I'll take care of that in another issue - this one is solved now.
Thanks for the help!