$OpenBSD: patch-sysdeps_freebsd_sysinfo_c,v 1.2 2007/02/21 17:27:54 steven Exp $
--- sysdeps/freebsd/sysinfo.c.orig	Tue Jan  2 23:50:28 2007
+++ sysdeps/freebsd/sysinfo.c	Sun Feb 18 20:23:18 2007
@@ -45,14 +45,22 @@ init_sysinfo (glibtop *server)
 
 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_CPU, 0);
 
+	int mib[2];
+	mib[0] = CTL_HW;
+
 	len = sizeof (ncpus);
-	sysctlbyname ("hw.ncpu", &ncpus, &len, NULL, 0);
+	mib[1] = HW_NCPU;
+	sysctl(mib, 2, &ncpus, &len, NULL, 0);
+
 	len = 0;
-	sysctlbyname ("hw.model", NULL, &len, NULL, 0);
+	mib[1] = HW_MODEL;
+	sysctl(mib, 2,   NULL, &len, NULL, 0);
 	model = g_malloc (len);
-	sysctlbyname ("hw.model", model, &len, NULL, 0);
+	sysctl(mib, 2, &model, &len, NULL, 0);
+
 	len = sizeof (mhz);
-	sysctlbyname ("hw.clockrate", &mhz, &len, NULL, 0);
+	mib[1] = HW_CPUSPEED;
+	sysctl(mib, 2, &mhz, &len, NULL, 0);
 
 	for (sysinfo.ncpu = 0;
 	     sysinfo.ncpu < GLIBTOP_NCPU && sysinfo.ncpu < ncpus;
