From 333fa0bc0703c663f766304ef97e62b7e857e8b0 Mon Sep 17 00:00:00 2001 From: DaniAffCH Date: Tue, 26 Jul 2022 15:26:48 +0200 Subject: [PATCH 1/5] added some missing amd uarch --- include/cpuinfo_x86.h | 1 + src/impl_x86__base_implementation.inl | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/include/cpuinfo_x86.h b/include/cpuinfo_x86.h index 9cb56e56..ef117a0d 100644 --- a/include/cpuinfo_x86.h +++ b/include/cpuinfo_x86.h @@ -157,6 +157,7 @@ typedef enum { AMD_K10, // K10 AMD_K11, // K11 AMD_K12, // K12 + AMD_LLANO, // LLANO AMD_BOBCAT, // K14 BOBCAT AMD_PILEDRIVER, // K15 PILEDRIVER AMD_STREAMROLLER, // K15 STREAMROLLER diff --git a/src/impl_x86__base_implementation.inl b/src/impl_x86__base_implementation.inl index fb295470..12703ea7 100644 --- a/src/impl_x86__base_implementation.inl +++ b/src/impl_x86__base_implementation.inl @@ -667,6 +667,9 @@ X86Microarchitecture GetX86Microarchitecture(const X86Info* info) { case CPUID(0x12, 0x01): // https://www.amd.com/system/files/TechDocs/44739_12h_Rev_Gd.pdf return AMD_K12; + case CPUID(0x12, 0x00): + // https://www.amd.com/system/files/TechDocs/44739_12h_Rev_Gd.pdf + return AMD_LLANO; case CPUID(0x14, 0x00): case CPUID(0x14, 0x01): case CPUID(0x14, 0x02): @@ -676,6 +679,7 @@ X86Microarchitecture GetX86Microarchitecture(const X86Info* info) { // https://en.wikichip.org/wiki/amd/microarchitectures/bulldozer return AMD_BULLDOZER; case CPUID(0x15, 0x02): + case CPUID(0x15, 0x10): case CPUID(0x15, 0x11): case CPUID(0x15, 0x13): // https://en.wikichip.org/wiki/amd/microarchitectures/piledriver @@ -695,11 +699,12 @@ X86Microarchitecture GetX86Microarchitecture(const X86Info* info) { return AMD_PUMA; case CPUID(0x17, 0x01): case CPUID(0x17, 0x11): - case CPUID(0x17, 0x18): case CPUID(0x17, 0x20): + case CPUID(0x18, 0x00): // https://en.wikichip.org/wiki/amd/microarchitectures/zen return AMD_ZEN; case CPUID(0x17, 0x08): + case CPUID(0x17, 0x18): // https://en.wikichip.org/wiki/amd/microarchitectures/zen%2B return AMD_ZEN_PLUS; case CPUID(0x17, 0x31): @@ -1800,6 +1805,7 @@ CacheInfo GetX86CacheInfo(void) { LINE(AMD_K10) \ LINE(AMD_K11) \ LINE(AMD_K12) \ + LINE(AMD_LLANO) \ LINE(AMD_BOBCAT) \ LINE(AMD_PILEDRIVER) \ LINE(AMD_STREAMROLLER) \ From 3d56e463dfeb87bd7779c88f32fcdf5b8bc1f9cc Mon Sep 17 00:00:00 2001 From: DaniAffCH Date: Wed, 27 Jul 2022 23:23:00 +0200 Subject: [PATCH 2/5] removed llano uarch --- src/impl_x86__base_implementation.inl | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/impl_x86__base_implementation.inl b/src/impl_x86__base_implementation.inl index 12703ea7..3f7206f8 100644 --- a/src/impl_x86__base_implementation.inl +++ b/src/impl_x86__base_implementation.inl @@ -664,12 +664,10 @@ X86Microarchitecture GetX86Microarchitecture(const X86Info* info) { case CPUID(0x11, 0x03): // http://developer.amd.com/wordpress/media/2012/10/41788.pdf return AMD_K11; + case CPUID(0x12, 0x00): case CPUID(0x12, 0x01): // https://www.amd.com/system/files/TechDocs/44739_12h_Rev_Gd.pdf return AMD_K12; - case CPUID(0x12, 0x00): - // https://www.amd.com/system/files/TechDocs/44739_12h_Rev_Gd.pdf - return AMD_LLANO; case CPUID(0x14, 0x00): case CPUID(0x14, 0x01): case CPUID(0x14, 0x02): @@ -699,12 +697,11 @@ X86Microarchitecture GetX86Microarchitecture(const X86Info* info) { return AMD_PUMA; case CPUID(0x17, 0x01): case CPUID(0x17, 0x11): + case CPUID(0x17, 0x18): case CPUID(0x17, 0x20): - case CPUID(0x18, 0x00): // https://en.wikichip.org/wiki/amd/microarchitectures/zen return AMD_ZEN; case CPUID(0x17, 0x08): - case CPUID(0x17, 0x18): // https://en.wikichip.org/wiki/amd/microarchitectures/zen%2B return AMD_ZEN_PLUS; case CPUID(0x17, 0x31): @@ -1804,8 +1801,7 @@ CacheInfo GetX86CacheInfo(void) { LINE(AMD_HAMMER) \ LINE(AMD_K10) \ LINE(AMD_K11) \ - LINE(AMD_K12) \ - LINE(AMD_LLANO) \ + LINE(AMD_K12) /* K12 LLANO */ \ LINE(AMD_BOBCAT) \ LINE(AMD_PILEDRIVER) \ LINE(AMD_STREAMROLLER) \ From 891a2f675006db532a969d08f5d45a6f3c249c42 Mon Sep 17 00:00:00 2001 From: DaniAffCH Date: Wed, 27 Jul 2022 23:26:44 +0200 Subject: [PATCH 3/5] removed llano definition --- include/cpuinfo_x86.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/cpuinfo_x86.h b/include/cpuinfo_x86.h index ef117a0d..9cb56e56 100644 --- a/include/cpuinfo_x86.h +++ b/include/cpuinfo_x86.h @@ -157,7 +157,6 @@ typedef enum { AMD_K10, // K10 AMD_K11, // K11 AMD_K12, // K12 - AMD_LLANO, // LLANO AMD_BOBCAT, // K14 BOBCAT AMD_PILEDRIVER, // K15 PILEDRIVER AMD_STREAMROLLER, // K15 STREAMROLLER From 3087eec45f9cf1e61bac16b7d277417e9ba663d9 Mon Sep 17 00:00:00 2001 From: DaniAffCH Date: Fri, 29 Jul 2022 10:18:29 +0200 Subject: [PATCH 4/5] moved comment --- include/cpuinfo_x86.h | 2 +- src/impl_x86__base_implementation.inl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/cpuinfo_x86.h b/include/cpuinfo_x86.h index 9cb56e56..14406cdc 100644 --- a/include/cpuinfo_x86.h +++ b/include/cpuinfo_x86.h @@ -156,7 +156,7 @@ typedef enum { AMD_HAMMER, // K8 HAMMER AMD_K10, // K10 AMD_K11, // K11 - AMD_K12, // K12 + AMD_K12, // K12 LLANO AMD_BOBCAT, // K14 BOBCAT AMD_PILEDRIVER, // K15 PILEDRIVER AMD_STREAMROLLER, // K15 STREAMROLLER diff --git a/src/impl_x86__base_implementation.inl b/src/impl_x86__base_implementation.inl index 3f7206f8..562c2e23 100644 --- a/src/impl_x86__base_implementation.inl +++ b/src/impl_x86__base_implementation.inl @@ -1801,7 +1801,7 @@ CacheInfo GetX86CacheInfo(void) { LINE(AMD_HAMMER) \ LINE(AMD_K10) \ LINE(AMD_K11) \ - LINE(AMD_K12) /* K12 LLANO */ \ + LINE(AMD_K12) \ LINE(AMD_BOBCAT) \ LINE(AMD_PILEDRIVER) \ LINE(AMD_STREAMROLLER) \ From b9e5202c7529071c4c16d7088e956ebb965e4b25 Mon Sep 17 00:00:00 2001 From: DaniAffCH Date: Thu, 4 Aug 2022 21:15:46 +0200 Subject: [PATCH 5/5] Removed duplicate of #256 --- src/impl_x86__base_implementation.inl | 1 - 1 file changed, 1 deletion(-) diff --git a/src/impl_x86__base_implementation.inl b/src/impl_x86__base_implementation.inl index 562c2e23..0678e47f 100644 --- a/src/impl_x86__base_implementation.inl +++ b/src/impl_x86__base_implementation.inl @@ -677,7 +677,6 @@ X86Microarchitecture GetX86Microarchitecture(const X86Info* info) { // https://en.wikichip.org/wiki/amd/microarchitectures/bulldozer return AMD_BULLDOZER; case CPUID(0x15, 0x02): - case CPUID(0x15, 0x10): case CPUID(0x15, 0x11): case CPUID(0x15, 0x13): // https://en.wikichip.org/wiki/amd/microarchitectures/piledriver