$NetBSD$

--- bsd/pagemeter.cc.orig	2002-03-22 04:23:41.000000000 +0100
+++ bsd/pagemeter.cc	2007-04-14 22:24:12.000000000 +0200
@@ -28,7 +28,13 @@
   total_ = total;
   BSDPageInit();
 #ifdef UVM
+# ifdef VM_UVMEXP2
+  int params[] = {CTL_VM, VM_UVMEXP2};
+  size_t prev_size = sizeof (prev_);
+  sysctl (params, 2, &prev_, &prev_size, NULL, 0);
+# else
   BSDGetUVMPageStats(&prev_);
+# endif
 #else
   BSDGetPageStats(&prev_);
 #endif
@@ -57,8 +63,15 @@
 void PageMeter::getpageinfo (void) {
 //  Begin NetBSD-specific code...
 #if defined(UVM)
+# ifdef VM_UVMEXP2
+  int params[] = {CTL_VM, VM_UVMEXP2};
+  struct uvmexp_sysctl uvm;
+  size_t uvm_size = sizeof (uvm);
+  sysctl (params, 2, &uvm, &uvm_size, NULL, 0);
+# else
   struct uvmexp uvm;
   BSDGetUVMPageStats(&uvm);
+# endif
 #else
   struct vmmeter vm;
   BSDGetPageStats(&vm);
