blob: 8b5dfa2ba38ce88f36d684fa129c459246c6641a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
--- src/cpuid.c.orig 2017-07-03 16:04:31 UTC
+++ src/cpuid.c
@@ -32,6 +32,9 @@
#include <sys/cpuctl.h>
#include <sys/errno.h>
#include <sys/ioctl.h>
+#ifdef USE_LIBCPUID
+#include <libcpuid/libcpuid.h>
+#endif
#include "cpuid.h"
@@ -176,6 +179,13 @@ void getcpuvendor(char *vendor, size_t vendor_len) {
* Returns the CPU family.
*/
const char *getcpufamily(void) {
+#ifdef USE_LIBCPUID
+ struct cpu_raw_data_t raw;
+ static struct cpu_id_t id;
+
+ return (cpuid_get_raw_data(&raw) == 0 && cpu_identify(&raw, &id) == 0)
+ ? id.cpu_codename : "Unknown";
+#else
cpuctl_cpuid_count_args_t cpuid;
cpuid.level = 0x1;
@@ -240,6 +250,7 @@ const char *getcpufamily(void) {
return "Unknown";
break;
}
+#endif
}
|