aboutsummaryrefslogtreecommitdiff
path: root/sysutils/xosview/files/patch-kernel.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils/xosview/files/patch-kernel.cc')
-rw-r--r--sysutils/xosview/files/patch-kernel.cc137
1 files changed, 133 insertions, 4 deletions
diff --git a/sysutils/xosview/files/patch-kernel.cc b/sysutils/xosview/files/patch-kernel.cc
index 9d2909e3d4a7..43121c712a1c 100644
--- a/sysutils/xosview/files/patch-kernel.cc
+++ b/sysutils/xosview/files/patch-kernel.cc
@@ -1,5 +1,5 @@
---- bsd/kernel.cc.orig Mon Jul 17 11:52:31 2000
-+++ bsd/kernel.cc Tue Aug 21 12:23:41 2001
+--- bsd/kernel.cc.orig Tue Oct 9 10:40:51 2001
++++ bsd/kernel.cc Mon Oct 27 20:03:03 2003
@@ -46,6 +46,7 @@
#endif
@@ -30,7 +30,136 @@
int totalinuse, totalsize;
int rnswap, nswap = swapctl(SWAP_NSWAP, 0, 0);
struct swapent *swapiter;
-@@ -828,25 +834,25 @@
+@@ -557,13 +563,21 @@
+ * Make sure that the userland devstat version matches the kernel
+ * devstat version.
+ */
++#if __FreeBSD_version >= 500000
++ if (devstat_checkversion(kd) < 0) {
++#else
+ if (checkversion() < 0) {
++#endif
+ nodisk++;
+ return;
+ }
+
+ /* find out how many devices we have */
++#if __FreeBSD_version >= 500000
++ if ((num_devices = devstat_getnumdevs(kd)) < 0) {
++#else
+ if ((num_devices = getnumdevs()) < 0) {
++#endif
+ nodisk++;
+ return;
+ }
+@@ -578,7 +592,11 @@
+ * changed here, since it almost certainly has. We only look for
+ * errors.
+ */
++#if __FreeBSD_version >= 500000
++ if (devstat_getdevs(kd,&cur) == -1) {
++#else
+ if (getdevs(&cur) == -1) {
++#endif
+ nodisk++;
+ return;
+ }
+@@ -590,7 +608,11 @@
+
+ /* only interested in disks */
+ matches = NULL;
++#if __FreeBSD_version >= 500000
++ if (devstat_buildmatch("da", &matches, &num_matches) != 0) {
++#else
+ if (buildmatch("da", &matches, &num_matches) != 0) {
++#endif
+ nodisk++;
+ return;
+ }
+@@ -605,7 +627,11 @@
+ * device list has changed, so we don't look for return values of 0
+ * or 1. If we get back -1, though, there is an error.
+ */
++#if __FreeBSD_version >= 500000
++ if (devstat_selectdevs(&dev_select, &num_selected,
++#else
+ if (selectdevs(&dev_select, &num_selected,
++#endif
+ &num_selections, &select_generation,
+ generation, cur.dinfo->devices, num_devices,
+ matches, num_matches,
+@@ -632,7 +658,11 @@
+ * the selection process again, in case a device that we
+ * were previously displaying has gone away.
+ */
++#if __FreeBSD_version >= 500000
++ switch (devstat_getdevs(kd,&cur)) {
++#else
+ switch (getdevs(&cur)) {
++#endif
+ case -1:
+ return (0);
+ case 1: {
+@@ -640,7 +670,11 @@
+
+ num_devices = cur.dinfo->numdevs;
+ generation = cur.dinfo->generation;
++#if __FreeBSD_version >= 500000
++ retval = devstat_selectdevs(&dev_select, &num_selected,
++#else
+ retval = selectdevs(&dev_select, &num_selected,
++#endif
+ &num_selections, &select_generation,
+ generation, cur.dinfo->devices,
+ num_devices, matches, num_matches,
+@@ -664,14 +698,22 @@
+ * Calculate elapsed time up front, since it's the same for all
+ * devices.
+ */
++#if __FreeBSD_version >= 500000
++ busy_seconds = cur.snap_time - last.snap_time;
++#else
+ busy_seconds = compute_etime(cur.busy_time, last.busy_time);
++#endif
+
+ /* this is the first time thru so just copy cur to last */
+ if (last.dinfo->numdevs == 0) {
+ tmp_dinfo = last.dinfo;
+ last.dinfo = cur.dinfo;
+ cur.dinfo = tmp_dinfo;
++#if __FreeBSD_version >= 500000
++ last.snap_time = cur.snap_time;
++#else
+ last.busy_time = cur.busy_time;
++#endif
+ return (0);
+ }
+
+@@ -685,7 +727,11 @@
+
+ di = dev_select[dn].position;
+
++#if __FreeBSD_version >= 500000
++ if (devstat_compute_statistics(&cur.dinfo->devices[di],
++#else
+ if (compute_stats(&cur.dinfo->devices[di],
++#endif
+ &last.dinfo->devices[di], busy_seconds,
+ &total_bytes, &total_transfers,
+ NULL, NULL,
+@@ -700,7 +746,11 @@
+ last.dinfo = cur.dinfo;
+ cur.dinfo = tmp_dinfo;
+
++#if __FreeBSD_version >= 500000
++ last.snap_time = cur.snap_time;
++#else
+ last.busy_time = cur.busy_time;
++#endif
+
+ } else {
+ /* no disks found ? */
+@@ -828,25 +878,25 @@
OpenKDIfNeeded();
nintr = (nlst[EINTRCNT_SYM_INDEX].n_value -
nlst[INTRCNT_SYM_INDEX].n_value) / sizeof(int);
@@ -63,7 +192,7 @@
/* FreeBSD has an array of interrupt counts, indexed by device number.
These are also indirected by IRQ num with intr_countp: */
safe_kvm_read (nlst[INTRCOUNTP_SYM_INDEX].n_value,
-@@ -875,8 +881,8 @@
+@@ -875,8 +925,8 @@
intrCount[i] = kvm_intrptrs[i];
#endif /* _BSDI_VERSION */