diff --git a/cpuid_x86.c b/cpuid_x86.c index 18ff122e5..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; @@ -1631,7 +1632,9 @@ int get_cpuname(void){ case 0x6: return CPUTYPE_NANO; break; - + case 0x7: + return CPUTYPE_NEHALEM; + break; } return CPUTYPE_VIAC3; } @@ -2285,6 +2288,9 @@ int get_coretype(void){ case 0x6: return CORE_NANO; break; + case 0x7: + return CORE_NEHALEM; + break; } return CORE_VIAC3; } diff --git a/driver/others/dynamic.c b/driver/others/dynamic.c index 46ad06a7c..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; @@ -824,6 +825,9 @@ static gotoblas_t *get_coretype(void){ switch (family) { case 0x6: return &gotoblas_NANO; + break; + case 0x7: + return &gotoblas_NEHALEM; } }