From 0d8d261dd4936da6a11673ecaae54acb4e16ecad Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 8 Jul 2021 12:20:19 +0200 Subject: [PATCH 1/4] Recognize newer Zhaoxin/Centaur cpus as Nehalem --- cpuid_x86.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cpuid_x86.c b/cpuid_x86.c index 18ff122e5..4553b89f1 100644 --- a/cpuid_x86.c +++ b/cpuid_x86.c @@ -1631,7 +1631,9 @@ int get_cpuname(void){ case 0x6: return CPUTYPE_NANO; break; - + case 0x7: + return CPUTYPE_NEHALEM; + break; } return CPUTYPE_VIAC3; } @@ -2285,6 +2287,9 @@ int get_coretype(void){ case 0x6: return CORE_NANO; break; + case 0x7: + return CORE_NEHALEM; + break; } return CORE_VIAC3; } From eb2fdd3af0241759576988a4672dc76ab298538f Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 8 Jul 2021 12:23:15 +0200 Subject: [PATCH 2/4] Recognize newer Zhaoxin/Centaur processors as Nehalem --- driver/others/dynamic.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/driver/others/dynamic.c b/driver/others/dynamic.c index 46ad06a7c..4212e868c 100644 --- a/driver/others/dynamic.c +++ b/driver/others/dynamic.c @@ -824,6 +824,9 @@ static gotoblas_t *get_coretype(void){ switch (family) { case 0x6: return &gotoblas_NANO; + break; + case 0x7: + return &gotoblas_NEHALEM; } } From da623ae838ef8277a230004d88270b1fdb37235a Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 8 Jul 2021 18:26:23 +0200 Subject: [PATCH 3/4] Add vendor string Shanghai as the successor to Centaur --- cpuid_x86.c | 1 + 1 file changed, 1 insertion(+) diff --git a/cpuid_x86.c b/cpuid_x86.c index 4553b89f1..4737b1851 100644 --- a/cpuid_x86.c +++ b/cpuid_x86.c @@ -283,6 +283,7 @@ int get_vendor(void){ if (!strcmp(vendor, "CyrixInstead")) return VENDOR_CYRIX; if (!strcmp(vendor, "NexGenDriven")) return VENDOR_NEXGEN; if (!strcmp(vendor, "CentaurHauls")) return VENDOR_CENTAUR; + if (!strcmp(vendor, " Shanghai ")) return VENDOR_CENTAUR; if (!strcmp(vendor, "RiseRiseRise")) return VENDOR_RISE; if (!strcmp(vendor, " SiS SiS SiS")) return VENDOR_SIS; if (!strcmp(vendor, "GenuineTMx86")) return VENDOR_TRANSMETA; From 8f22ac552befbc414ce56db5c5142a7f0a5038ab Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 8 Jul 2021 18:28:49 +0200 Subject: [PATCH 4/4] Add vendor string Shanghai as successor to Centaur --- driver/others/dynamic.c | 1 + 1 file changed, 1 insertion(+) diff --git a/driver/others/dynamic.c b/driver/others/dynamic.c index 4212e868c..1a33870db 100644 --- a/driver/others/dynamic.c +++ b/driver/others/dynamic.c @@ -404,6 +404,7 @@ static int get_vendor(void){ if (!strcmp(vendor.vchar, "GenuineIntel")) return VENDOR_INTEL; if (!strcmp(vendor.vchar, "AuthenticAMD")) return VENDOR_AMD; if (!strcmp(vendor.vchar, "CentaurHauls")) return VENDOR_CENTAUR; + if (!strcmp(vendor.vchar, " Shanghai ")) return VENDOR_CENTAUR; if (!strcmp(vendor.vchar, "HygonGenuine")) return VENDOR_HYGON; if ((eax == 0) || ((eax & 0x500) != 0)) return VENDOR_INTEL;