freebsd-skq/sys/kern
mux a207e41bef Rework the kernel environment subsystem. We now convert the static
environment needed at boot time to a dynamic subsystem when VM is
up.  The dynamic kernel environment is protected by an sx lock.

This adds some new functions to manipulate the kernel environment :
freeenv(), setenv(), unsetenv() and testenv().  freeenv() has to be
called after every getenv() when you have finished using the string.
testenv() only tests if an environment variable is present, and
doesn't require a freeenv() call. setenv() and unsetenv() are self
explanatory.

The kenv(2) syscall exports these new functionalities to userland,
mainly for kenv(1).

Reviewed by:	peter
2002-04-17 13:06:36 +00:00
..
bus_if.m "Fixed" -Wshadow warnings by changing the name of some function parameters 2002-03-27 04:04:17 +00:00
clock_if.m Add a generic implementation of inittodr() and resettodr(), as well as 2002-04-04 23:39:10 +00:00
device_if.m
genassym.sh Allow one to specify the AWK used in the environment(commandline). 2002-02-11 03:54:30 +00:00
imgact_aout.c - Change fill_kinfo_proc() to require that the process is locked when it 2002-04-09 20:10:46 +00:00
imgact_elf.c Remove __P. 2002-03-19 21:25:46 +00:00
imgact_gzip.c Modernize my email address. 2002-03-25 13:52:45 +00:00
imgact_shell.c Return a more meaningful errno when the length of the interpreter 2001-11-28 03:26:58 +00:00
inflate.c Modernize my email address. 2002-03-25 13:52:45 +00:00
init_main.c Rework the kernel environment subsystem. We now convert the static 2002-04-17 13:06:36 +00:00
init_sysent.c Rework the kernel environment subsystem. We now convert the static 2002-04-17 13:06:36 +00:00
kern_acct.c - Remove an early KSE diagnostic panic. The thread pointer here is always 2002-04-09 19:58:38 +00:00
kern_acl.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
kern_cap.c - Attempt to help declutter kern. sysctl by moving security out from 2002-01-16 06:55:30 +00:00
kern_clock.c Take the "tickadj" element out of struct clockinfo. Our adjtime(2) 2002-04-15 12:11:06 +00:00
kern_condvar.c Nuke CV_DEBUG in favour of INVARIANTS. 2002-03-30 03:52:52 +00:00
kern_conf.c Make the proposed name arg to dev_stdclone() const. 2002-03-10 10:50:05 +00:00
kern_descrip.c Lock proctree_lock instead of pgrpsess_lock. 2002-04-16 17:11:34 +00:00
kern_environment.c Rework the kernel environment subsystem. We now convert the static 2002-04-17 13:06:36 +00:00
kern_event.c Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 04:09:59 +00:00
kern_exec.c Increase the size of the register stack storage on ia64 from 32K to 2MB so 2002-04-05 01:57:45 +00:00
kern_exit.c - Lock proctree_lock instead of pgrpsess_lock. 2002-04-16 17:04:21 +00:00
kern_fork.c Lock proctree_lock instead of pgrpsess_lock. 2002-04-16 17:11:34 +00:00
kern_idle.c Pre-KSE/M3 commit. 2002-02-07 20:58:47 +00:00
kern_intr.c - Set the base priority of an ithread that has no handlers when we set its 2002-04-11 21:03:35 +00:00
kern_jail.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
kern_kthread.c Fix a couple of style bugs introduced (or touched by) previous commit. 2002-02-07 23:06:26 +00:00
kern_ktr.c Remove a stale comment. 2002-04-06 08:44:04 +00:00
kern_ktrace.c Lock proctree_lock instead of pgrpsess_lock. 2002-04-16 17:11:34 +00:00
kern_linker.c In linker_load_module(), check that rootdev != NODEV before calling 2002-04-10 01:14:45 +00:00
kern_lock.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
kern_lockf.c Remove __P. 2002-03-19 21:25:46 +00:00
kern_malloc.c Finish adding support code for sysctl kern.mprof. This dumps some malloc 2002-04-15 05:24:01 +00:00
kern_mib.c - Add a mutex to lock the global securelevel value. 2002-04-02 17:43:17 +00:00
kern_module.c - Lock down the ``module'' structure by adding an SX lock that is used by 2002-03-18 07:45:30 +00:00
kern_mtxpool.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
kern_mutex.c Change mtx_init() to now take an extra argument. The third argument is 2002-04-04 20:52:27 +00:00
kern_ntptime.c Remove two debug printfs which should never have been committed. 2002-04-15 21:08:51 +00:00
kern_physio.c
kern_poll.c Make the DEVICE_POLLING code compile with -Werror and in LINT 2002-03-09 08:02:52 +00:00
kern_proc.c - Merge the pgrpsess_lock and proctree_lock sx locks into one proctree_lock 2002-04-16 17:03:05 +00:00
kern_prot.c - Lock proctree_lock instead of pgrpsess_lock. 2002-04-16 17:06:11 +00:00
kern_random.c Load the current timecounter into tc. The timecounter global can change 2002-02-18 19:49:30 +00:00
kern_resource.c Lock proctree_lock instead of pgrpsess_lock. 2002-04-16 17:11:34 +00:00
kern_sema.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
kern_shutdown.c Put back dumppcb, but this time we put a comment to tell what it is for. 2002-04-08 06:59:13 +00:00
kern_sig.c Lock proctree_lock instead of pgrpsess_lock. 2002-04-16 17:11:34 +00:00
kern_subr.c In a threaded world, differnt priorirites become properties of 2002-02-11 20:37:54 +00:00
kern_switch.c Stage-2 commit of the critical*() code. This re-inlines cpu_critical_enter() 2002-04-01 23:51:23 +00:00
kern_sx.c Set the lock type equal to the lock name for now as all of the current 2002-04-04 20:49:35 +00:00
kern_synch.c Remove __P. 2002-03-19 21:25:46 +00:00
kern_syscalls.c - Lock down the ``module'' structure by adding an SX lock that is used by 2002-03-18 07:45:30 +00:00
kern_sysctl.c Update comment regarding the locking of the sysctl tree. 2002-04-02 05:50:07 +00:00
kern_tc.c Improve the implementation of adjtime(2). 2002-04-15 12:23:11 +00:00
kern_time.c Improve the implementation of adjtime(2). 2002-04-15 12:23:11 +00:00
kern_timeout.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
kern_xxx.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
ksched.c In a threaded world, differnt priorirites become properties of 2002-02-11 20:37:54 +00:00
link_aout.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
link_elf_obj.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
link_elf.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
linker_if.m Add the sysctl "kern.function_list", which currently exports all 2001-10-30 15:21:45 +00:00
Make.tags.inc Don't hardcode /sys when making tags, instead use ${.CURDIR}/.. this 2002-02-27 10:07:15 +00:00
Makefile Don't generate <sys/syscalls-hide.h> it has never had any users anywhere in 2001-10-13 09:17:49 +00:00
makeobjops.pl Switch warnings and strict back on again in a way that's compatible 2001-11-16 02:02:42 +00:00
makesyscalls.sh don't generate files with __P. 2002-03-19 20:48:32 +00:00
md4c.c Import kernel part of SMB/CIFS requester. 2001-04-10 07:59:06 +00:00
md5c.c
p1003_1b.c Pre-KSE/M3 commit. 2002-02-07 20:58:47 +00:00
posix4_mib.c
subr_acl_posix1e.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
subr_autoconf.c Remove __P. 2002-03-19 21:25:46 +00:00
subr_blist.c With Alfred's permission, remove vm_mtx in favor of a fine-grained approach 2001-07-04 16:20:28 +00:00
subr_bus.c Add resource_list_add_next() which returns the RID for the resource added. 2002-03-29 06:42:54 +00:00
subr_clist.c Remove __P. 2002-03-19 21:25:46 +00:00
subr_clock.c Add a generic implementation of inittodr() and resettodr(), as well as 2002-04-04 23:39:10 +00:00
subr_devstat.c GC: BIO_ORDERED, various infrastructure dealing with BIO_ORDERED. 2002-02-22 09:26:35 +00:00
subr_disk.c Implement DIOCGFRONTSTUFF ioctl which reports how many bytes from the start 2002-04-09 15:43:32 +00:00
subr_disklabel.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
subr_diskmbr.c Remove __P. 2002-03-19 21:25:46 +00:00
subr_diskslice.c Move generic disk ioctls from <sys/disklabel.h> to <sys/disk.h>. 2002-04-08 09:20:07 +00:00
subr_eventhandler.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
subr_hints.c Rework the kernel environment subsystem. We now convert the static 2002-04-17 13:06:36 +00:00
subr_kobj.c Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
subr_log.c Use the passed in thread to selrecord() instead of curthread. 2001-09-21 22:46:54 +00:00
subr_mbuf.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
subr_mchain.c Add support for iovcnt greater than 1. This should resolve problems 2002-02-21 16:23:38 +00:00
subr_module.c Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
subr_param.c Improve the implementation of adjtime(2). 2002-04-15 12:23:11 +00:00
subr_pcpu.c Add a per-cpu variable, cpumask, the preshifted equivalent of 1 << cpuid. 2002-01-05 09:35:50 +00:00
subr_power.c Add generalized power profile code. 2002-03-04 18:46:13 +00:00
subr_prf.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
subr_prof.c Remove __P. 2002-03-19 21:25:46 +00:00
subr_rman.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
subr_rtc.c Add a generic implementation of inittodr() and resettodr(), as well as 2002-04-04 23:39:10 +00:00
subr_sbuf.c Fix warnings on gcc-3.1+ where __func__ is a const char * instead of a 2002-03-19 10:56:46 +00:00
subr_scanf.c
subr_smp.c Updated a doubly stale comment about signotify(). Fixed a nearby long line. 2002-04-05 10:00:37 +00:00
subr_taskqueue.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
subr_trap.c Moved signal handling and rescheduling from userret() to ast() so that 2002-04-04 17:49:48 +00:00
subr_turnstile.c Change mtx_init() to now take an extra argument. The third argument is 2002-04-04 20:52:27 +00:00
subr_witness.c - Merge the pgrpsess_lock and proctree_lock sx locks into one proctree_lock 2002-04-16 17:03:05 +00:00
subr_xxx.c Here follows the new kernel dumping infrastructure. 2002-03-31 22:37:00 +00:00
sys_generic.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
sys_pipe.c Use pmap_extract() instead of pmap_kextract() to retrieve the physical 2002-04-13 20:09:06 +00:00
sys_process.c Don't allow one to trace an ancestor when already traced. 2002-04-14 17:12:55 +00:00
sys_socket.c Giant pushdown for read/write/pread/pwrite syscalls. 2002-03-15 08:03:46 +00:00
syscalls.c Rework the kernel environment subsystem. We now convert the static 2002-04-17 13:06:36 +00:00
syscalls.master Add an entry for the kenv(2) syscall (code to follow). 2002-04-17 13:05:13 +00:00
sysv_ipc.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
sysv_msg.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
sysv_sem.c Remove __P. 2002-03-19 21:25:46 +00:00
sysv_shm.c Remove __P. 2002-03-19 21:25:46 +00:00
tty_compat.c Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-24 05:09:11 +00:00
tty_conf.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
tty_cons.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
tty_pty.c - Lock proctree_lock instead of pgrpsess_lock. 2002-04-16 17:09:22 +00:00
tty_subr.c Remove __P. 2002-03-19 21:25:46 +00:00
tty_tty.c Remove __P. 2002-03-19 21:25:46 +00:00
tty.c - Lock proctree_lock instead of pgrpsess_lock. 2002-04-16 17:09:22 +00:00
uipc_accf.c Revert the last bits of my bogus move of NMBCLUSTERS 2001-06-01 21:47:34 +00:00
uipc_domain.c Add calls to uma_zone_set_max() to restore previously enforced limits. 2002-03-20 05:30:58 +00:00
uipc_mbuf2.c Remove __P. 2002-03-19 21:25:46 +00:00
uipc_mbuf.c Fix corner case where m_len was not being initialized. 2002-04-12 00:01:50 +00:00
uipc_proto.c Implement a LOCAL_PEERCRED socket option which returns a 2001-08-17 22:01:18 +00:00
uipc_sockbuf.c Backout part of my previous commit; I was wrong about vm_zone's handling of 2002-03-20 04:39:32 +00:00
uipc_socket2.c Backout part of my previous commit; I was wrong about vm_zone's handling of 2002-03-20 04:39:32 +00:00
uipc_socket.c There's only one socket zone so we don't need to remember it 2002-04-08 03:04:22 +00:00
uipc_syscalls.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
uipc_usrreq.c Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-24 05:09:11 +00:00
vfs_acl.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
vfs_aio.c Lock proctree_lock instead of pgrpsess_lock. 2002-04-16 17:11:34 +00:00
vfs_bio.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
vfs_cache.c Turn #ifdef LOOKUP_SHARED into #ifndef LOOKUP_EXCLUSIVE to enable this 2002-04-09 05:14:17 +00:00
vfs_cluster.c Remove __P. 2002-03-19 21:25:46 +00:00
vfs_conf.c Rework the kernel environment subsystem. We now convert the static 2002-04-17 13:06:36 +00:00
vfs_default.c Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 04:09:59 +00:00
vfs_export.c Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-24 05:09:11 +00:00
vfs_extattr.c The recent NFS forced unmount improvements introduced a side-effect 2002-04-17 01:07:29 +00:00
vfs_init.c Commit work-around for panics when mounting FS's that are auto-loaded as 2002-03-25 21:30:50 +00:00
vfs_lookup.c Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 04:09:59 +00:00
vfs_mount.c Rework the kernel environment subsystem. We now convert the static 2002-04-17 13:06:36 +00:00
vfs_subr.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
vfs_syscalls.c The recent NFS forced unmount improvements introduced a side-effect 2002-04-17 01:07:29 +00:00
vfs_vnops.c Lock proctree_lock instead of pgrpsess_lock. 2002-04-16 17:11:34 +00:00
vnode_if.pl Throw the $FreeBSD$s back in, properly escaping them. 2002-01-04 05:27:47 +00:00
vnode_if.src Introduce the new 64-bit size disk block, daddr64_t. Change 2002-03-15 18:49:47 +00:00