From 81fed55782f0dd04649b1f0c4a44de85ac20162f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Dan=20Hor=C3=A1k?= Date: Thu, 20 Apr 2017 21:13:41 +0200 Subject: [PATCH] detect CPU on zArch --- cpuid_zarch.c | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/cpuid_zarch.c b/cpuid_zarch.c index e2e3b046..4e193542 100644 --- a/cpuid_zarch.c +++ b/cpuid_zarch.c @@ -42,9 +42,27 @@ static char *cpuname_lower[] = { int detect(void) { - // return CPU_GENERIC; - return CPU_Z13; - + FILE *infile; + char buffer[512], *p; + + p = (char *)NULL; + infile = fopen("/proc/sysinfo", "r"); + while (fgets(buffer, sizeof(buffer), infile)){ + if (!strncmp("Type", buffer, 4)){ + p = strchr(buffer, ':') + 2; +#if 0 + fprintf(stderr, "%s\n", p); +#endif + break; + } + } + + fclose(infile); + + if (strstr(p, "2964")) return CPU_Z13; + if (strstr(p, "2965")) return CPU_Z13; + + return CPU_GENERIC; } void get_libname(void) -- 2.34.1