de9f0c2635
("netbsdelf3", indeed ... )
57 lines
1.8 KiB
Text
57 lines
1.8 KiB
Text
$NetBSD: patch-fd,v 1.1 2010/12/26 09:23:49 sekiya Exp $
|
|
|
|
--- agent/mibgroup/hardware/cpu/cpu_sysctl.c.orig 2010-12-26 16:45:27.000000000 +0900
|
|
+++ agent/mibgroup/hardware/cpu/cpu_sysctl.c 2010-12-26 17:14:36.000000000 +0900
|
|
@@ -49,7 +49,11 @@
|
|
if ( n <= 0 )
|
|
n = 1; /* Single CPU system */
|
|
i = sizeof(descr);
|
|
+#if defined(__NetBSD__) && ( defined(__i386__) || defined(__x86_64__) )
|
|
+ sysctlbyname("machdep.cpu_brand", descr, (void *)&i, NULL, 0);
|
|
+#else
|
|
sysctl(model_mib, 2, descr, (void *)&i, NULL, 0);
|
|
+#endif
|
|
for ( i = 0; i < n; i++ ) {
|
|
cpu = netsnmp_cpu_get_byIdx( i, 1 );
|
|
cpu->status = 2; /* running */
|
|
@@ -59,26 +63,22 @@
|
|
cpu_num = n;
|
|
}
|
|
|
|
-
|
|
+#if defined(__NetBSD__)
|
|
+#define NETSNMP_CPU_STATS uint64_t
|
|
+#define NETSNMP_KERN_CPU KERN_CP_TIME
|
|
+#else
|
|
#define NETSNMP_CPU_STATS long
|
|
#if defined(KERN_CPUSTATS) /* BSDi */
|
|
#define NETSNMP_KERN_CPU KERN_CPUSTATS
|
|
#elif defined(KERN_CPTIME) /* OpenBSD */
|
|
#define NETSNMP_KERN_CPU KERN_CPTIME
|
|
-#elif defined(KERN_CP_TIME) /* NetBSD */
|
|
-#define NETSNMP_KERN_CPU KERN_CP_TIME
|
|
-
|
|
-#if defined(netbsdelf3)
|
|
-#undef NETSNMP_CPU_STATS
|
|
-#define NETSNMP_CPU_STATS uint64_t
|
|
-#endif
|
|
-
|
|
#elif defined(__FreeBSD__)
|
|
#define NETSNMP_KERN_CPU 0 /* dummy value - sysctlnametomib(2) should be used */
|
|
|
|
#else
|
|
#error "No CPU statistics sysctl token"
|
|
#endif
|
|
+#endif
|
|
|
|
/*
|
|
Need to check details before enabling this!
|
|
@@ -159,7 +159,7 @@
|
|
size_t mem_size = sizeof(NETSNMP_VM_STATS_TYPE);
|
|
netsnmp_cpu_info *cpu = netsnmp_cpu_get_byIdx( -1, 0 );
|
|
|
|
-#if defined(__FreeBSD__)
|
|
+#if defined(__FreeBSD__) || defined (__NetBSD__)
|
|
sysctlbyname("kern.cp_time", cpu_stats, &cpu_size, NULL, 0);
|
|
#else
|
|
sysctl(cpu_mib, 2, cpu_stats, &cpu_size, NULL, 0);
|