Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys



Module Name:    src
Committed By:   atatat
Date:           Thu Dec  4 19:38:25 UTC 2003

Modified Files:
        src/sys/arch/alpha/alpha: machdep.c
        src/sys/arch/amd64/amd64: machdep.c
        src/sys/arch/amiga/amiga: machdep.c
        src/sys/arch/arm/arm32: arm32_machdep.c
        src/sys/arch/atari/atari: machdep.c
        src/sys/arch/cesfic/cesfic: machdep.c
        src/sys/arch/dreamcast/dreamcast: machdep.c
        src/sys/arch/evbsh3/evbsh3: machdep.c
        src/sys/arch/hp300/hp300: machdep.c
        src/sys/arch/hp700/hp700: machdep.c
        src/sys/arch/hpcsh/hpcsh: machdep.c
        src/sys/arch/i386/i386: machdep.c
        src/sys/arch/luna68k/luna68k: machdep.c
        src/sys/arch/m68k/m68k: svr4_machdep.c
        src/sys/arch/mac68k/mac68k: machdep.c
        src/sys/arch/mips/mips: mips_machdep.c
        src/sys/arch/mmeye/mmeye: machdep.c
        src/sys/arch/mvme68k/mvme68k: machdep.c
        src/sys/arch/news68k/news68k: machdep.c
        src/sys/arch/next68k/next68k: machdep.c
        src/sys/arch/pc532/pc532: machdep.c
        src/sys/arch/powerpc/powerpc: powerpc_machdep.c
        src/sys/arch/sparc/sparc: machdep.c
        src/sys/arch/sparc64/sparc64: machdep.c
        src/sys/arch/sun2/sun2: machdep.c
        src/sys/arch/sun3/sun3: machdep.c
        src/sys/arch/sun3/sun3x: machdep.c
        src/sys/arch/vax/vax: machdep.c
        src/sys/arch/x68k/x68k: machdep.c
        src/sys/coda: coda_vfsops.c
        src/sys/compat/common: kern_info_09.c kern_info_43.c
        src/sys/compat/darwin: darwin_sysctl.c
        src/sys/compat/irix: irix_exec.c irix_sysctl.c irix_sysmp.c
            irix_systeminfo.c
        src/sys/compat/linux/arch/mips: linux_machdep.c
        src/sys/compat/linux/common: linux_exec.c linux_misc.c linux_sysctl.c
        src/sys/compat/netbsd32: netbsd32_compat_09.c netbsd32_compat_43.c
            netbsd32_netbsd.c netbsd32_sysctl.c
        src/sys/compat/svr4: svr4_stat.c
        src/sys/compat/svr4_32: svr4_32_stat.c
        src/sys/conf: files
        src/sys/ddb: db_variables.c ddbvar.h
        src/sys/fs/adosfs: advfsops.c
        src/sys/fs/cd9660: cd9660_extern.h cd9660_vfsops.c
        src/sys/fs/filecorefs: filecore_extern.h filecore_vfsops.c
        src/sys/fs/msdosfs: msdosfs_vfsops.c
        src/sys/fs/ntfs: ntfs_vfsops.c
        src/sys/fs/smbfs: smbfs_vfsops.c
        src/sys/fs/union: union_vfsops.c
        src/sys/kern: kern_clock.c kern_ntptime.c kern_resource.c kern_sysctl.c
            subr_disk.c subr_prof.c sys_pipe.c tty.c uipc_domain.c uipc_mbuf.c
            vfs_subr.c
        src/sys/miscfs/fdesc: fdesc_vfsops.c
        src/sys/miscfs/genfs: layer_extern.h layer_vfsops.c
        src/sys/miscfs/kernfs: kernfs_vfsops.c
        src/sys/miscfs/nullfs: null_vfsops.c
        src/sys/miscfs/overlay: overlay_vfsops.c
        src/sys/miscfs/portal: portal_vfsops.c
        src/sys/miscfs/procfs: procfs_vfsops.c
        src/sys/miscfs/umapfs: umap_vfsops.c
        src/sys/net: if.c rtsock.c
        src/sys/netinet: in_proto.c ip_icmp.c ip_input.c tcp_usrreq.c
            udp_usrreq.c
        src/sys/netinet6: icmp6.c in6_proto.c ip6_input.c ip6protosw.h ipsec.c
            udp6_usrreq.c
        src/sys/netipsec: ipsec.h ipsec6.h ipsec_netbsd.c key.c keysock.c
            keysock.h
        src/sys/netkey: key.c keysock.c
        src/sys/nfs: nfs_vfsops.c
        src/sys/sys: mount.h proc.h protosw.h sysctl.h
        src/sys/ufs/ext2fs: ext2fs_extern.h ext2fs_vfsops.c
        src/sys/ufs/ffs: ffs_extern.h ffs_vfsops.c
        src/sys/ufs/lfs: lfs_extern.h lfs_vfsops.c
        src/sys/ufs/mfs: mfs_extern.h mfs_vfsops.c
        src/sys/uvm: uvm_meter.c
Added Files:
        src/sys/kern: init_sysctl.c

Log Message:
Dynamic sysctl.

Gone are the old kern_sysctl(), cpu_sysctl(), hw_sysctl(),
vfs_sysctl(), etc, routines, along with sysctl_int() et al.  Now all
nodes are registered with the tree, and nodes can be added (or
removed) easily, and I/O to and from the tree is handled generically.

Since the nodes are registered with the tree, the mapping from name to
number (and back again) can now be discovered, instead of having to be
hard coded.  Adding new nodes to the tree is likewise much simpler --
the new infrastructure handles almost all the work for simple types,
and just about anything else can be done with a small helper function.

All existing nodes are where they were before (numerically speaking),
so all existing consumers of sysctl information should notice no
difference.

PS - I'm sorry, but there's a distinct lack of documentation at the
moment.  I'm working on sysctl(3/8/9) right now, and I promise to
watch out for buses.


To generate a diff of this commit:
cvs rdiff -r1.277 -r1.278 src/sys/arch/alpha/alpha/machdep.c
cvs rdiff -r1.16 -r1.17 src/sys/arch/amd64/amd64/machdep.c
cvs rdiff -r1.186 -r1.187 src/sys/arch/amiga/amiga/machdep.c
cvs rdiff -r1.38 -r1.39 src/sys/arch/arm/arm32/arm32_machdep.c
cvs rdiff -r1.130 -r1.131 src/sys/arch/atari/atari/machdep.c
cvs rdiff -r1.24 -r1.25 src/sys/arch/cesfic/cesfic/machdep.c
cvs rdiff -r1.26 -r1.27 src/sys/arch/dreamcast/dreamcast/machdep.c
cvs rdiff -r1.48 -r1.49 src/sys/arch/evbsh3/evbsh3/machdep.c
cvs rdiff -r1.175 -r1.176 src/sys/arch/hp300/hp300/machdep.c
cvs rdiff -r1.15 -r1.16 src/sys/arch/hp700/hp700/machdep.c
cvs rdiff -r1.43 -r1.44 src/sys/arch/hpcsh/hpcsh/machdep.c
cvs rdiff -r1.544 -r1.545 src/sys/arch/i386/i386/machdep.c
cvs rdiff -r1.34 -r1.35 src/sys/arch/luna68k/luna68k/machdep.c
cvs rdiff -r1.15 -r1.16 src/sys/arch/m68k/m68k/svr4_machdep.c
cvs rdiff -r1.293 -r1.294 src/sys/arch/mac68k/mac68k/machdep.c
cvs rdiff -r1.170 -r1.171 src/sys/arch/mips/mips/mips_machdep.c
cvs rdiff -r1.32 -r1.33 src/sys/arch/mmeye/mmeye/machdep.c
cvs rdiff -r1.106 -r1.107 src/sys/arch/mvme68k/mvme68k/machdep.c
cvs rdiff -r1.46 -r1.47 src/sys/arch/news68k/news68k/machdep.c
cvs rdiff -r1.64 -r1.65 src/sys/arch/next68k/next68k/machdep.c
cvs rdiff -r1.152 -r1.153 src/sys/arch/pc532/pc532/machdep.c
cvs rdiff -r1.22 -r1.23 src/sys/arch/powerpc/powerpc/powerpc_machdep.c
cvs rdiff -r1.240 -r1.241 src/sys/arch/sparc/sparc/machdep.c
cvs rdiff -r1.158 -r1.159 src/sys/arch/sparc64/sparc64/machdep.c
cvs rdiff -r1.30 -r1.31 src/sys/arch/sun2/sun2/machdep.c
cvs rdiff -r1.168 -r1.169 src/sys/arch/sun3/sun3/machdep.c
cvs rdiff -r1.92 -r1.93 src/sys/arch/sun3/sun3x/machdep.c
cvs rdiff -r1.141 -r1.142 src/sys/arch/vax/vax/machdep.c
cvs rdiff -r1.122 -r1.123 src/sys/arch/x68k/x68k/machdep.c
cvs rdiff -r1.30 -r1.31 src/sys/coda/coda_vfsops.c
cvs rdiff -r1.13 -r1.14 src/sys/compat/common/kern_info_09.c
cvs rdiff -r1.18 -r1.19 src/sys/compat/common/kern_info_43.c
cvs rdiff -r1.19 -r1.20 src/sys/compat/darwin/darwin_sysctl.c
cvs rdiff -r1.33 -r1.34 src/sys/compat/irix/irix_exec.c
cvs rdiff -r1.1 -r1.2 src/sys/compat/irix/irix_sysctl.c
cvs rdiff -r1.10 -r1.11 src/sys/compat/irix/irix_sysmp.c
cvs rdiff -r1.8 -r1.9 src/sys/compat/irix/irix_systeminfo.c
cvs rdiff -r1.19 -r1.20 src/sys/compat/linux/arch/mips/linux_machdep.c
cvs rdiff -r1.66 -r1.67 src/sys/compat/linux/common/linux_exec.c
cvs rdiff -r1.121 -r1.122 src/sys/compat/linux/common/linux_misc.c
cvs rdiff -r1.10 -r1.11 src/sys/compat/linux/common/linux_sysctl.c
cvs rdiff -r1.11 -r1.12 src/sys/compat/netbsd32/netbsd32_compat_09.c \
    src/sys/compat/netbsd32/netbsd32_sysctl.c
cvs rdiff -r1.28 -r1.29 src/sys/compat/netbsd32/netbsd32_compat_43.c
cvs rdiff -r1.76 -r1.77 src/sys/compat/netbsd32/netbsd32_netbsd.c
cvs rdiff -r1.49 -r1.50 src/sys/compat/svr4/svr4_stat.c
cvs rdiff -r1.12 -r1.13 src/sys/compat/svr4_32/svr4_32_stat.c
cvs rdiff -r1.644 -r1.645 src/sys/conf/files
cvs rdiff -r1.28 -r1.29 src/sys/ddb/db_variables.c
cvs rdiff -r1.5 -r1.6 src/sys/ddb/ddbvar.h
cvs rdiff -r1.8 -r1.9 src/sys/fs/adosfs/advfsops.c
cvs rdiff -r1.6 -r1.7 src/sys/fs/cd9660/cd9660_extern.h
cvs rdiff -r1.9 -r1.10 src/sys/fs/cd9660/cd9660_vfsops.c
cvs rdiff -r1.5 -r1.6 src/sys/fs/filecorefs/filecore_extern.h
cvs rdiff -r1.6 -r1.7 src/sys/fs/filecorefs/filecore_vfsops.c
cvs rdiff -r1.11 -r1.12 src/sys/fs/msdosfs/msdosfs_vfsops.c
cvs rdiff -r1.14 -r1.15 src/sys/fs/ntfs/ntfs_vfsops.c
cvs rdiff -r1.31 -r1.32 src/sys/fs/smbfs/smbfs_vfsops.c
cvs rdiff -r1.9 -r1.10 src/sys/fs/union/union_vfsops.c
cvs rdiff -r0 -r1.1 src/sys/kern/init_sysctl.c
cvs rdiff -r1.87 -r1.88 src/sys/kern/kern_clock.c
cvs rdiff -r1.24 -r1.25 src/sys/kern/kern_ntptime.c
cvs rdiff -r1.73 -r1.74 src/sys/kern/kern_resource.c
cvs rdiff -r1.152 -r1.153 src/sys/kern/kern_sysctl.c
cvs rdiff -r1.53 -r1.54 src/sys/kern/subr_disk.c
cvs rdiff -r1.28 -r1.29 src/sys/kern/subr_prof.c
cvs rdiff -r1.46 -r1.47 src/sys/kern/sys_pipe.c
cvs rdiff -r1.158 -r1.159 src/sys/kern/tty.c
cvs rdiff -r1.43 -r1.44 src/sys/kern/uipc_domain.c
cvs rdiff -r1.74 -r1.75 src/sys/kern/uipc_mbuf.c
cvs rdiff -r1.211 -r1.212 src/sys/kern/vfs_subr.c
cvs rdiff -r1.44 -r1.45 src/sys/miscfs/fdesc/fdesc_vfsops.c
cvs rdiff -r1.9 -r1.10 src/sys/miscfs/genfs/layer_extern.h
cvs rdiff -r1.10 -r1.11 src/sys/miscfs/genfs/layer_vfsops.c
cvs rdiff -r1.56 -r1.57 src/sys/miscfs/kernfs/kernfs_vfsops.c
cvs rdiff -r1.43 -r1.44 src/sys/miscfs/nullfs/null_vfsops.c
cvs rdiff -r1.18 -r1.19 src/sys/miscfs/overlay/overlay_vfsops.c
cvs rdiff -r1.38 -r1.39 src/sys/miscfs/portal/portal_vfsops.c
cvs rdiff -r1.50 -r1.51 src/sys/miscfs/procfs/procfs_vfsops.c
cvs rdiff -r1.40 -r1.41 src/sys/miscfs/umapfs/umap_vfsops.c
cvs rdiff -r1.135 -r1.136 src/sys/net/if.c
cvs rdiff -r1.64 -r1.65 src/sys/net/rtsock.c
cvs rdiff -r1.61 -r1.62 src/sys/netinet/in_proto.c
cvs rdiff -r1.80 -r1.81 src/sys/netinet/ip_icmp.c
cvs rdiff -r1.188 -r1.189 src/sys/netinet/ip_input.c
cvs rdiff -r1.85 -r1.86 src/sys/netinet/tcp_usrreq.c
cvs rdiff -r1.113 -r1.114 src/sys/netinet/udp_usrreq.c
cvs rdiff -r1.102 -r1.103 src/sys/netinet6/icmp6.c
cvs rdiff -r1.55 -r1.56 src/sys/netinet6/in6_proto.c
cvs rdiff -r1.69 -r1.70 src/sys/netinet6/ip6_input.c
cvs rdiff -r1.13 -r1.14 src/sys/netinet6/ip6protosw.h
cvs rdiff -r1.88 -r1.89 src/sys/netinet6/ipsec.c
cvs rdiff -r1.60 -r1.61 src/sys/netinet6/udp6_usrreq.c
cvs rdiff -r1.4 -r1.5 src/sys/netipsec/ipsec.h
cvs rdiff -r1.2 -r1.3 src/sys/netipsec/ipsec6.h src/sys/netipsec/keysock.c
cvs rdiff -r1.3 -r1.4 src/sys/netipsec/ipsec_netbsd.c src/sys/netipsec/key.c
cvs rdiff -r1.1 -r1.2 src/sys/netipsec/keysock.h
cvs rdiff -r1.107 -r1.108 src/sys/netkey/key.c
cvs rdiff -r1.25 -r1.26 src/sys/netkey/keysock.c
cvs rdiff -r1.133 -r1.134 src/sys/nfs/nfs_vfsops.c
cvs rdiff -r1.117 -r1.118 src/sys/sys/mount.h
cvs rdiff -r1.179 -r1.180 src/sys/sys/proc.h
cvs rdiff -r1.30 -r1.31 src/sys/sys/protosw.h
cvs rdiff -r1.99 -r1.100 src/sys/sys/sysctl.h
cvs rdiff -r1.20 -r1.21 src/sys/ufs/ext2fs/ext2fs_extern.h
cvs rdiff -r1.63 -r1.64 src/sys/ufs/ext2fs/ext2fs_vfsops.c
cvs rdiff -r1.33 -r1.34 src/sys/ufs/ffs/ffs_extern.h
cvs rdiff -r1.129 -r1.130 src/sys/ufs/ffs/ffs_vfsops.c
cvs rdiff -r1.57 -r1.58 src/sys/ufs/lfs/lfs_extern.h
cvs rdiff -r1.140 -r1.141 src/sys/ufs/lfs/lfs_vfsops.c
cvs rdiff -r1.17 -r1.18 src/sys/ufs/mfs/mfs_extern.h
cvs rdiff -r1.53 -r1.54 src/sys/ufs/mfs/mfs_vfsops.c
cvs rdiff -r1.26 -r1.27 src/sys/uvm/uvm_meter.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index