diff --git a/sbin/sysctl/sysctl.c b/sbin/sysctl/sysctl.c index 1c498568a53b..8ae3cbd8a74e 100644 --- a/sbin/sysctl/sysctl.c +++ b/sbin/sysctl/sysctl.c @@ -398,9 +398,13 @@ show_var(int *oid, int nlen) case 'I': if (!nflag) printf("%s: ", name); + fmt++; val = ""; while (len >= sizeof(int)) { - printf("%s%d", val, *(int *)p); + if(*fmt == 'U') + printf("%s%u", val, *(unsigned int *)p); + else + printf("%s%d", val, *(int *)p); val = " "; len -= sizeof (int); p += sizeof (int); @@ -410,7 +414,11 @@ show_var(int *oid, int nlen) case 'L': if (!nflag) printf("%s: ", name); - printf("%ld", *(long *)p); + fmt++; + if(*fmt == 'U') + printf("%lu", *(unsigned long *)p); + else + printf("%ld", *(long *)p); return (0); case 'P': diff --git a/sys/alpha/pci/pcibus.c b/sys/alpha/pci/pcibus.c index 2809ff04efb9..5bed15e4bcbf 100644 --- a/sys/alpha/pci/pcibus.c +++ b/sys/alpha/pci/pcibus.c @@ -62,13 +62,13 @@ SYSCTL_STRING(_hw_chipset, OID_AUTO, type, CTLFLAG_RD, chipset_type, 0, "PCI chipset type"); SYSCTL_INT(_hw_chipset, OID_AUTO, bwx, CTLFLAG_RD, &chipset_bwx, 0, "PCI chipset supports BWX access"); -SYSCTL_LONG(_hw_chipset, OID_AUTO, ports, CTLFLAG_RD, &chipset_ports, +SYSCTL_LONG(_hw_chipset, OID_AUTO, ports, CTLFLAG_RD, &chipset_ports, 0, "PCI chipset port address"); -SYSCTL_LONG(_hw_chipset, OID_AUTO, memory, CTLFLAG_RD, &chipset_memory, +SYSCTL_LONG(_hw_chipset, OID_AUTO, memory, CTLFLAG_RD, &chipset_memory, 0, "PCI chipset memory address"); -SYSCTL_LONG(_hw_chipset, OID_AUTO, dense, CTLFLAG_RD, &chipset_dense, +SYSCTL_LONG(_hw_chipset, OID_AUTO, dense, CTLFLAG_RD, &chipset_dense, 0, "PCI chipset dense memory address"); -SYSCTL_LONG(_hw_chipset, OID_AUTO, hae_mask, CTLFLAG_RD, &chipset_hae_mask, +SYSCTL_LONG(_hw_chipset, OID_AUTO, hae_mask, CTLFLAG_RD, &chipset_hae_mask, 0, "PCI chipset mask for HAE register"); #ifdef notyet diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 6a65f31e9722..67def009e54d 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -65,15 +65,17 @@ MALLOC_DEFINE(M_PARGS, "proc-args", "Process arguments"); static register_t *exec_copyout_strings __P((struct image_params *)); -static long ps_strings = PS_STRINGS; -SYSCTL_LONG(_kern, KERN_PS_STRINGS, ps_strings, CTLFLAG_RD, &ps_strings, ""); +/* XXX This should be vm_size_t. */ +static u_long ps_strings = PS_STRINGS; +SYSCTL_ULONG(_kern, KERN_PS_STRINGS, ps_strings, CTLFLAG_RD, &ps_strings, 0, ""); -static long usrstack = USRSTACK; -SYSCTL_LONG(_kern, KERN_USRSTACK, usrstack, CTLFLAG_RD, &usrstack, ""); +/* XXX This should be vm_size_t. */ +static u_long usrstack = USRSTACK; +SYSCTL_ULONG(_kern, KERN_USRSTACK, usrstack, CTLFLAG_RD, &usrstack, 0, ""); u_long ps_arg_cache_limit = PAGE_SIZE / 16; SYSCTL_LONG(_kern, OID_AUTO, ps_arg_cache_limit, CTLFLAG_RW, - &ps_arg_cache_limit, ""); + &ps_arg_cache_limit, 0, ""); int ps_argsopen = 1; SYSCTL_INT(_kern, OID_AUTO, ps_argsopen, CTLFLAG_RW, &ps_argsopen, 0, ""); diff --git a/sys/kern/subr_devstat.c b/sys/kern/subr_devstat.c index 77a9e3909971..0d0942e99a3c 100644 --- a/sys/kern/subr_devstat.c +++ b/sys/kern/subr_devstat.c @@ -304,6 +304,6 @@ SYSCTL_PROC(_kern_devstat, OID_AUTO, all, CTLFLAG_RD|CTLTYPE_OPAQUE, SYSCTL_INT(_kern_devstat, OID_AUTO, numdevs, CTLFLAG_RD, &devstat_num_devs, 0, "Number of devices in the devstat list"); SYSCTL_LONG(_kern_devstat, OID_AUTO, generation, CTLFLAG_RD, - &devstat_generation, "Devstat list generation"); + &devstat_generation, 0, "Devstat list generation"); SYSCTL_INT(_kern_devstat, OID_AUTO, version, CTLFLAG_RD, &devstat_version, 0, "Devstat list version number"); diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 99e08215bd07..81940d6093ea 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -90,13 +90,13 @@ struct namecache { static LIST_HEAD(nchashhead, namecache) *nchashtbl; /* Hash Table */ static TAILQ_HEAD(, namecache) ncneg; /* Hash Table */ static u_long nchash; /* size of hash table */ -SYSCTL_INT(_debug, OID_AUTO, nchash, CTLFLAG_RD, &nchash, 0, ""); +SYSCTL_ULONG(_debug, OID_AUTO, nchash, CTLFLAG_RD, &nchash, 0, ""); static u_long ncnegfactor = 16; /* ratio of negative entries */ -SYSCTL_INT(_debug, OID_AUTO, ncnegfactor, CTLFLAG_RW, &ncnegfactor, 0, ""); +SYSCTL_ULONG(_debug, OID_AUTO, ncnegfactor, CTLFLAG_RW, &ncnegfactor, 0, ""); static u_long numneg; /* number of cache entries allocated */ -SYSCTL_INT(_debug, OID_AUTO, numneg, CTLFLAG_RD, &numneg, 0, ""); +SYSCTL_ULONG(_debug, OID_AUTO, numneg, CTLFLAG_RD, &numneg, 0, ""); static u_long numcache; /* number of cache entries allocated */ -SYSCTL_INT(_debug, OID_AUTO, numcache, CTLFLAG_RD, &numcache, 0, ""); +SYSCTL_ULONG(_debug, OID_AUTO, numcache, CTLFLAG_RD, &numcache, 0, ""); struct nchstats nchstats; /* cache effectiveness statistics */ static int doingcache = 1; /* 1 => enable the cache */ @@ -109,7 +109,7 @@ SYSCTL_INT(_debug, OID_AUTO, ncsize, CTLFLAG_RD, 0, sizeof(struct namecache), "" */ SYSCTL_NODE(_vfs, OID_AUTO, cache, CTLFLAG_RW, 0, "Name cache statistics"); #define STATNODE(mode, name, var) \ - SYSCTL_INT(_vfs_cache, OID_AUTO, name, mode, var, 0, ""); + SYSCTL_ULONG(_vfs_cache, OID_AUTO, name, mode, var, 0, ""); STATNODE(CTLFLAG_RD, numneg, &numneg); STATNODE(CTLFLAG_RD, numcache, &numcache); static u_long numcalls; STATNODE(CTLFLAG_RD, numcalls, &numcalls); @@ -498,9 +498,6 @@ struct __getcwd_args { }; #endif -#define STATNODE(mode, name, var) \ - SYSCTL_INT(_vfs_cache, OID_AUTO, name, mode, var, 0, ""); - static int disablecwd; SYSCTL_INT(_debug, OID_AUTO, disablecwd, CTLFLAG_RW, &disablecwd, 0, ""); @@ -594,7 +591,7 @@ __getcwd(p, uap) #undef STATNODE #define STATNODE(name) \ static u_int name; \ - SYSCTL_INT(_vfs_cache, OID_AUTO, name, CTLFLAG_RD, &name, 0, "") + SYSCTL_UINT(_vfs_cache, OID_AUTO, name, CTLFLAG_RD, &name, 0, "") static int disablefullpath; SYSCTL_INT(_debug, OID_AUTO, disablefullpath, CTLFLAG_RW, diff --git a/sys/sys/sysctl.h b/sys/sys/sysctl.h index b65f3be0a60d..642dd406c07f 100644 --- a/sys/sys/sysctl.h +++ b/sys/sys/sysctl.h @@ -173,10 +173,20 @@ void sysctl_unregister_oid(struct sysctl_oid *oidp); SYSCTL_OID(parent, nbr, name, CTLTYPE_INT|access, \ ptr, val, sysctl_handle_int, "I", descr) -/* Oid for a long. The pointer must be non NULL. */ -#define SYSCTL_LONG(parent, nbr, name, access, ptr, descr) \ +/* Oid for an unsigned int. If ptr is NULL, val is returned. */ +#define SYSCTL_UINT(parent, nbr, name, access, ptr, val, descr) \ SYSCTL_OID(parent, nbr, name, CTLTYPE_INT|access, \ - ptr, 0, sysctl_handle_long, "L", descr) + ptr, val, sysctl_handle_int, "IU", descr) + +/* Oid for a long. The pointer must be non NULL. */ +#define SYSCTL_LONG(parent, nbr, name, access, ptr, val, descr) \ + SYSCTL_OID(parent, nbr, name, CTLTYPE_INT|access, \ + ptr, val, sysctl_handle_long, "L", descr) + +/* Oid for a long. The pointer must be non NULL. */ +#define SYSCTL_ULONG(parent, nbr, name, access, ptr, val, descr) \ + SYSCTL_OID(parent, nbr, name, CTLTYPE_INT|access, \ + ptr, val, sysctl_handle_long, "LU", descr) /* Oid for an opaque object. Specified by a pointer and a length. */ #define SYSCTL_OPAQUE(parent, nbr, name, access, ptr, len, fmt, descr) \ diff --git a/sys/vm/vm_meter.c b/sys/vm/vm_meter.c index 6d507964b454..66829bb54a64 100644 --- a/sys/vm/vm_meter.c +++ b/sys/vm/vm_meter.c @@ -104,21 +104,21 @@ vmmeter() wakeup(&proc0); } -SYSCTL_INT(_vm, VM_V_FREE_MIN, v_free_min, +SYSCTL_UINT(_vm, VM_V_FREE_MIN, v_free_min, CTLFLAG_RW, &cnt.v_free_min, 0, ""); -SYSCTL_INT(_vm, VM_V_FREE_TARGET, v_free_target, +SYSCTL_UINT(_vm, VM_V_FREE_TARGET, v_free_target, CTLFLAG_RW, &cnt.v_free_target, 0, ""); -SYSCTL_INT(_vm, VM_V_FREE_RESERVED, v_free_reserved, +SYSCTL_UINT(_vm, VM_V_FREE_RESERVED, v_free_reserved, CTLFLAG_RW, &cnt.v_free_reserved, 0, ""); -SYSCTL_INT(_vm, VM_V_INACTIVE_TARGET, v_inactive_target, +SYSCTL_UINT(_vm, VM_V_INACTIVE_TARGET, v_inactive_target, CTLFLAG_RW, &cnt.v_inactive_target, 0, ""); -SYSCTL_INT(_vm, VM_V_CACHE_MIN, v_cache_min, +SYSCTL_UINT(_vm, VM_V_CACHE_MIN, v_cache_min, CTLFLAG_RW, &cnt.v_cache_min, 0, ""); -SYSCTL_INT(_vm, VM_V_CACHE_MAX, v_cache_max, +SYSCTL_UINT(_vm, VM_V_CACHE_MAX, v_cache_max, CTLFLAG_RW, &cnt.v_cache_max, 0, ""); -SYSCTL_INT(_vm, VM_V_PAGEOUT_FREE_MIN, v_pageout_free_min, +SYSCTL_UINT(_vm, VM_V_PAGEOUT_FREE_MIN, v_pageout_free_min, CTLFLAG_RW, &cnt.v_pageout_free_min, 0, ""); -SYSCTL_INT(_vm, OID_AUTO, v_free_severe, +SYSCTL_UINT(_vm, OID_AUTO, v_free_severe, CTLFLAG_RW, &cnt.v_free_severe, 0, ""); SYSCTL_STRUCT(_vm, VM_LOADAVG, loadavg, CTLFLAG_RD, @@ -229,85 +229,85 @@ SYSCTL_NODE(_vm, OID_AUTO, stats, CTLFLAG_RW, 0, "VM meter stats"); SYSCTL_NODE(_vm_stats, OID_AUTO, sys, CTLFLAG_RW, 0, "VM meter sys stats"); SYSCTL_NODE(_vm_stats, OID_AUTO, vm, CTLFLAG_RW, 0, "VM meter vm stats"); SYSCTL_NODE(_vm_stats, OID_AUTO, misc, CTLFLAG_RW, 0, "VM meter misc stats"); -SYSCTL_INT(_vm_stats_sys, OID_AUTO, +SYSCTL_UINT(_vm_stats_sys, OID_AUTO, v_swtch, CTLFLAG_RD, &cnt.v_swtch, 0, "Context switches"); -SYSCTL_INT(_vm_stats_sys, OID_AUTO, +SYSCTL_UINT(_vm_stats_sys, OID_AUTO, v_trap, CTLFLAG_RD, &cnt.v_trap, 0, "Traps"); -SYSCTL_INT(_vm_stats_sys, OID_AUTO, +SYSCTL_UINT(_vm_stats_sys, OID_AUTO, v_syscall, CTLFLAG_RD, &cnt.v_syscall, 0, "Syscalls"); -SYSCTL_INT(_vm_stats_sys, OID_AUTO, v_intr, CTLFLAG_RD, +SYSCTL_UINT(_vm_stats_sys, OID_AUTO, v_intr, CTLFLAG_RD, &cnt.v_intr, 0, "Hardware interrupts"); -SYSCTL_INT(_vm_stats_sys, OID_AUTO, v_soft, CTLFLAG_RD, +SYSCTL_UINT(_vm_stats_sys, OID_AUTO, v_soft, CTLFLAG_RD, &cnt.v_soft, 0, "Software interrupts"); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_vm_faults, CTLFLAG_RD, &cnt.v_vm_faults, 0, "VM faults"); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_cow_faults, CTLFLAG_RD, &cnt.v_cow_faults, 0, "COW faults"); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_cow_optim, CTLFLAG_RD, &cnt.v_cow_optim, 0, "Optimized COW faults"); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_zfod, CTLFLAG_RD, &cnt.v_zfod, 0, "Zero fill"); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_ozfod, CTLFLAG_RD, &cnt.v_ozfod, 0, "Optimized zero fill"); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_swapin, CTLFLAG_RD, &cnt.v_swapin, 0, "Swapin operations"); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_swapout, CTLFLAG_RD, &cnt.v_swapout, 0, "Swapout operations"); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_swappgsin, CTLFLAG_RD, &cnt.v_swappgsin, 0, "Swapin pages"); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_swappgsout, CTLFLAG_RD, &cnt.v_swappgsout, 0, "Swapout pages"); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_vnodein, CTLFLAG_RD, &cnt.v_vnodein, 0, "Vnodein operations"); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_vnodeout, CTLFLAG_RD, &cnt.v_vnodeout, 0, "Vnodeout operations"); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_vnodepgsin, CTLFLAG_RD, &cnt.v_vnodepgsin, 0, "Vnodein pages"); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_vnodepgsout, CTLFLAG_RD, &cnt.v_vnodepgsout, 0, "Vnodeout pages"); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_intrans, CTLFLAG_RD, &cnt.v_intrans, 0, "In transit page blocking"); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_reactivated, CTLFLAG_RD, &cnt.v_reactivated, 0, "Reactivated pages"); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_pdwakeups, CTLFLAG_RD, &cnt.v_pdwakeups, 0, "Pagedaemon wakeups"); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_pdpages, CTLFLAG_RD, &cnt.v_pdpages, 0, "Pagedaemon page scans"); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_dfree, CTLFLAG_RD, &cnt.v_dfree, 0, ""); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_pfree, CTLFLAG_RD, &cnt.v_pfree, 0, ""); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_tfree, CTLFLAG_RD, &cnt.v_tfree, 0, ""); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_page_size, CTLFLAG_RD, &cnt.v_page_size, 0, ""); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_page_count, CTLFLAG_RD, &cnt.v_page_count, 0, ""); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_free_reserved, CTLFLAG_RD, &cnt.v_free_reserved, 0, ""); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_free_target, CTLFLAG_RD, &cnt.v_free_target, 0, ""); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_free_min, CTLFLAG_RD, &cnt.v_free_min, 0, ""); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_free_count, CTLFLAG_RD, &cnt.v_free_count, 0, ""); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_wire_count, CTLFLAG_RD, &cnt.v_wire_count, 0, ""); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_active_count, CTLFLAG_RD, &cnt.v_active_count, 0, ""); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_inactive_target, CTLFLAG_RD, &cnt.v_inactive_target, 0, ""); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_inactive_count, CTLFLAG_RD, &cnt.v_inactive_count, 0, ""); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_cache_count, CTLFLAG_RD, &cnt.v_cache_count, 0, ""); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_cache_min, CTLFLAG_RD, &cnt.v_cache_min, 0, ""); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_cache_max, CTLFLAG_RD, &cnt.v_cache_max, 0, ""); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_pageout_free_min, CTLFLAG_RD, &cnt.v_pageout_free_min, 0, ""); -SYSCTL_INT(_vm_stats_vm, OID_AUTO, +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_interrupt_free_min, CTLFLAG_RD, &cnt.v_interrupt_free_min, 0, ""); SYSCTL_INT(_vm_stats_misc, OID_AUTO, zero_page_count, CTLFLAG_RD, &vm_page_zero_count, 0, "");