$NetBSD: patch-ab,v 1.13 2013/01/11 23:33:36 joerg Exp $ --- bsd/memmeter.cc.orig 2002-07-14 03:48:45.000000000 +0000 +++ bsd/memmeter.cc @@ -26,6 +26,8 @@ #include /* Needed for kvm_cnt, kvm_uvm_exp. */ -#if defined(XOSVIEW_BSDI) || defined(XOSVIEW_FREEBSD) || defined(XOSVIEW_OPENBSD) /* Does - OpenBSD need this? */ +#if defined(XOSVIEW_BSDI) || defined(XOSVIEW_FREEBSD) || defined(XOSVIEW_OPENBSD) # include #endif +#if defined(__NetBSD__) +#include +#endif @@ -79,3 +81,3 @@ void MemMeter::getmeminfo (void) { size_t meminfosize = sizeof (struct vmtotal); - sysctl (params, 2, &meminfo, &meminfosize, NULL, NULL); + sysctl (params, 2, &meminfo, &meminfosize, NULL, 0); /* Note that the numbers are in terms of 4K pages. */ @@ -93,4 +95,11 @@ void MemMeter::getmeminfo (void) { #if defined(UVM) && (defined(XOSVIEW_NETBSD) || defined(XOSVIEW_OPENBSD)) +#ifdef VM_UVMEXP2 + int params[] = {CTL_VM, VM_UVMEXP2}; + struct uvmexp_sysctl kvm_uvm_exp; + size_t kvm_uvm_exp_size = sizeof (kvm_uvm_exp); + sysctl (params, 2, &kvm_uvm_exp, &kvm_uvm_exp_size, NULL, 0); +#else struct uvmexp kvm_uvm_exp; BSDGetUVMPageStats(&kvm_uvm_exp); +#endif int pgsize = kvm_uvm_exp.pagesize;