Date: Thu, 9 Jun 2016 08:09:19 -0500 From: Jason Bacon <bacon4000@gmail.com> To: "freebsd-ppc@freebsd.org" <freebsd-ppc@freebsd.org> Subject: Detecting Power7 in C Message-ID: <765d3292-78ae-8b02-8a5b-43bafc68d9e8@gmail.com>
next in thread | raw e-mail | index | archive | help
I'm porting the SLURM task/affinity plugin to FreeBSD and wondering what's the best way to detect whether we're running on a power7 processor. The Linux code is below. I could do something similar with dmesg.boot on FreeBSD, but hoping there's a more elegant way within a C program. If I have to use dmesg.boot, what string would I be looking for? I don't have a power7 installation at the moment. Thanks, Jason FILE *cpu_info_file; char buffer[128]; char* _cpuinfo_path = "/proc/cpuinfo"; cpu_info_file = fopen(_cpuinfo_path, "r"); if (cpu_info_file == NULL) { error("_get_is_power: error %d opening %s", errno, _cpuinfo_path); return false; /* assume not power processor */ } is_power = 0; while (fgets(buffer, sizeof(buffer), cpu_info_file) != NULL) { if (strstr(buffer, "POWER7")) { is_power = 1; break; } } fclose(cpu_info_file); -- All wars are civil wars, because all men are brothers ... Each one owes infinitely more to the human race than to the particular country in which he was born. -- Francois Fenelon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?765d3292-78ae-8b02-8a5b-43bafc68d9e8>