freebsd-dev/sys/kern
Peter Wemm f41325db5f With this commit, I hereby pronounce gensetdefs past its use-by date.
Replace the a.out emulation of 'struct linker_set' with something
a little more flexible.  <sys/linker_set.h> now provides macros for
accessing elements and completely hides the implementation.

The linker_set.h macros have been on the back burner in various
forms since 1998 and has ideas and code from Mike Smith (SET_FOREACH()),
John Polstra (ELF clue) and myself (cleaned up API and the conversion
of the rest of the kernel to use it).

The macros declare a strongly typed set.  They return elements with the
type that you declare the set with, rather than a generic void *.

For ELF, we use the magic ld symbols (__start_<setname> and
__stop_<setname>).  Thanks to Richard Henderson <rth@redhat.com> for the
trick about how to force ld to provide them for kld's.

For a.out, we use the old linker_set struct.

NOTE: the item lists are no longer null terminated.  This is why
the code impact is high in certain areas.

The runtime linker has a new method to find the linker set
boundaries depending on which backend format is in use.

linker sets are still module/kld unfriendly and should never be used
for anything that may be modular one day.

Reviewed by:	eivind
2001-06-13 10:58:39 +00:00
..
bus_if.m
device_if.m
genassym.sh
gensetdefs.pl Generate useful error messages. 2001-04-13 09:37:25 +00:00
imgact_aout.c Introduce a global lock for the vm subsystem (vm_mtx). 2001-05-19 01:28:09 +00:00
imgact_elf.c Lock the VM while twiddling the vmspace. 2001-05-23 22:05:08 +00:00
imgact_gzip.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
imgact_shell.c
inflate.c
init_main.c With this commit, I hereby pronounce gensetdefs past its use-by date. 2001-06-13 10:58:39 +00:00
init_sysent.c Regen syscalls that were made mpsafe via vm_mtx 2001-05-19 01:37:12 +00:00
kern_acct.c o Merge contents of struct pcred into struct ucred. Specifically, add the 2001-05-25 16:59:11 +00:00
kern_acl.c o As part of the move to not maintaining copies of the vnode owning uid 2001-04-29 19:53:50 +00:00
kern_cap.c
kern_clock.c Remove unneeded includes of sys/ipl.h and machine/ipl.h. 2001-05-15 23:22:29 +00:00
kern_condvar.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
kern_conf.c Create a general facility for making dev_t's depend on another 2001-05-26 08:27:58 +00:00
kern_descrip.c o Merge contents of struct pcred into struct ucred. Specifically, add the 2001-05-25 16:59:11 +00:00
kern_environment.c "Fix" the previous initial attempt at fixing TUNABLE_INT(). This time 2001-06-08 05:24:21 +00:00
kern_event.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
kern_exec.c o pcred-removal changes included modifications to optimize the setting of 2001-05-26 19:59:44 +00:00
kern_exit.c o Merge contents of struct pcred into struct ucred. Specifically, add the 2001-05-25 16:59:11 +00:00
kern_fork.c Rename nextpid to lastpid and externalize it. 2001-06-11 21:54:19 +00:00
kern_idle.c - Split out the support for per-CPU data from the SMP code. UP kernels 2001-05-10 17:45:49 +00:00
kern_intr.c Clean up the code exporting interrupt statistics via sysctl a bit: 2001-06-01 13:23:28 +00:00
kern_jail.c
kern_kthread.c
kern_ktr.c With this commit, I hereby pronounce gensetdefs past its use-by date. 2001-06-13 10:58:39 +00:00
kern_ktrace.c o Merge contents of struct pcred into struct ucred. Specifically, add the 2001-05-25 16:59:11 +00:00
kern_linker.c With this commit, I hereby pronounce gensetdefs past its use-by date. 2001-06-13 10:58:39 +00:00
kern_lock.c Instead of asserting that a mutex is not still locked after unlocking it, 2001-04-28 12:11:01 +00:00
kern_lockf.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
kern_malloc.c "Fix" the previous initial attempt at fixing TUNABLE_INT(). This time 2001-06-08 05:24:21 +00:00
kern_mib.c Overhaul of the SMP code. Several portions of the SMP kernel support have 2001-04-27 19:28:25 +00:00
kern_module.c
kern_mutex.c - Move state about lock objects out of struct lock_object and into a new 2001-05-04 17:15:16 +00:00
kern_ntptime.c Update to the 2001-04-02 version of the nanokernel code from Dave Mills. 2001-04-16 13:05:05 +00:00
kern_physio.c
kern_proc.c o Merge contents of struct pcred into struct ucred. Specifically, add the 2001-05-25 16:59:11 +00:00
kern_prot.c Unbreak setregid(2). 2001-06-06 13:58:03 +00:00
kern_random.c
kern_resource.c Introduce a global lock for the vm subsystem (vm_mtx). 2001-05-19 01:28:09 +00:00
kern_shutdown.c Revert consequences of changes to mount.h, part 2. 2001-04-29 02:45:39 +00:00
kern_sig.c Try to make the setting of the SIGCHLD handler the same as setting of 2001-06-11 09:15:41 +00:00
kern_subr.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
kern_switch.c
kern_sx.c - Move state about lock objects out of struct lock_object and into a new 2001-05-04 17:15:16 +00:00
kern_synch.c Add in assertions to ensure that we always call msleep or mawait with 2001-05-23 19:38:26 +00:00
kern_syscalls.c
kern_sysctl.c With this commit, I hereby pronounce gensetdefs past its use-by date. 2001-06-13 10:58:39 +00:00
kern_tc.c
kern_time.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
kern_timeout.c
kern_xxx.c
ksched.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
link_aout.c With this commit, I hereby pronounce gensetdefs past its use-by date. 2001-06-13 10:58:39 +00:00
link_elf_obj.c With this commit, I hereby pronounce gensetdefs past its use-by date. 2001-06-13 10:58:39 +00:00
link_elf.c With this commit, I hereby pronounce gensetdefs past its use-by date. 2001-06-13 10:58:39 +00:00
linker_if.m With this commit, I hereby pronounce gensetdefs past its use-by date. 2001-06-13 10:58:39 +00:00
Make.tags.inc Remove vestiges of MFS. 2001-06-01 10:07:28 +00:00
Makefile Remove vestiges of MFS. 2001-06-01 10:07:28 +00:00
makeobjops.pl Use getopt instead of a home grown one 2001-04-07 20:51:24 +00:00
makesyscalls.sh
md4c.c Import kernel part of SMB/CIFS requester. 2001-04-10 07:59:06 +00:00
md5c.c
p1003_1b.c o Merge contents of struct pcred into struct ucred. Specifically, add the 2001-05-25 16:59:11 +00:00
posix4_mib.c
subr_acl_posix1e.c o As part of the move to not maintaining copies of the vnode owning uid 2001-04-29 19:53:50 +00:00
subr_autoconf.c
subr_blist.c Introduce a global lock for the vm subsystem (vm_mtx). 2001-05-19 01:28:09 +00:00
subr_bus.c Hints overhaul: 2001-06-12 09:40:04 +00:00
subr_clist.c
subr_devstat.c
subr_disk.c Remove the hack-around for the slice/label code, it didn't 2001-05-29 18:19:57 +00:00
subr_disklabel.c Create a general facility for making dev_t's depend on another 2001-05-26 08:27:58 +00:00
subr_diskmbr.c Create a general facility for making dev_t's depend on another 2001-05-26 08:27:58 +00:00
subr_diskslice.c Create a general facility for making dev_t's depend on another 2001-05-26 08:27:58 +00:00
subr_eventhandler.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
subr_hints.c Hints overhaul: 2001-06-12 09:40:04 +00:00
subr_kobj.c
subr_log.c syslogd gets kernel log messages only once every 30 seconds or 2001-05-23 19:02:50 +00:00
subr_mchain.c
subr_module.c
subr_param.c
subr_pcpu.c - Split out the support for per-CPU data from the SMP code. UP kernels 2001-05-10 17:45:49 +00:00
subr_prf.c
subr_prof.c We don't need to hold a lock just to test a flag. 2001-06-06 22:05:48 +00:00
subr_rman.c Handle NULL struct device *s 2001-05-28 01:00:03 +00:00
subr_sbuf.c Blah, I cut out a tad too much in the previous commit. (thanks again, Jake!) 2001-06-11 18:43:32 +00:00
subr_scanf.c
subr_smp.c - Split out the support for per-CPU data from the SMP code. UP kernels 2001-05-10 17:45:49 +00:00
subr_taskqueue.c remove include of ipl.h because it no longer exists 2001-05-16 02:52:06 +00:00
subr_trap.c Don't hold sched_lock across addupc_task(). 2001-06-06 00:57:24 +00:00
subr_turnstile.c - Move state about lock objects out of struct lock_object and into a new 2001-05-04 17:15:16 +00:00
subr_witness.c "Fix" the previous initial attempt at fixing TUNABLE_INT(). This time 2001-06-08 05:24:21 +00:00
subr_xxx.c
sys_generic.c Back out scanning file descriptors with holding a process lock. 2001-05-15 10:19:57 +00:00
sys_pipe.c The pipe_write() code was locking the pipe without busying it first in 2001-06-04 04:04:45 +00:00
sys_process.c - FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file 2001-05-23 09:42:29 +00:00
sys_socket.c
syscalls.c Regen syscalls that were made mpsafe via vm_mtx 2001-05-19 01:37:12 +00:00
syscalls.master Remove a comment which was past its shelf life. 2001-05-29 09:22:22 +00:00
sysv_ipc.c
sysv_msg.c Export via sysctl: 2001-05-30 03:28:59 +00:00
sysv_sem.c Export via sysctl: 2001-05-30 03:28:59 +00:00
sysv_shm.c Export via sysctl: 2001-05-30 03:28:59 +00:00
tty_compat.c
tty_conf.c Unstaticize l_nullioctl; it is needed elsewhere (like in tty_snoop.c). 2001-06-04 23:30:47 +00:00
tty_cons.c With this commit, I hereby pronounce gensetdefs past its use-by date. 2001-06-13 10:58:39 +00:00
tty_pty.c With the new kernel dev_t conversions done at release 4.X, 2001-05-28 20:22:12 +00:00
tty_snoop.c Add a line discipline close routine which restores some functionality 2001-06-05 05:07:53 +00:00
tty_subr.c
tty_tty.c Support /dev/ctty again 2001-05-15 18:12:38 +00:00
tty.c Unifdef DEV_SNP; snp(4) no longer requires these ugly hacks. 2001-05-22 22:16:18 +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 Sync with recent KAME. 2001-06-11 12:39:29 +00:00
uipc_mbuf2.c Sync with recent KAME. 2001-06-11 12:39:29 +00:00
uipc_mbuf.c Patch up a blunder I made a few days ago. nmbcnt was being initialized 2001-06-13 00:36:41 +00:00
uipc_proto.c
uipc_sockbuf.c "Fix" the previous initial attempt at fixing TUNABLE_INT(). This time 2001-06-08 05:24:21 +00:00
uipc_socket2.c "Fix" the previous initial attempt at fixing TUNABLE_INT(). This time 2001-06-08 05:24:21 +00:00
uipc_socket.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
uipc_syscalls.c Add vm locking to sendfile(2) and sf_buf_free(). 2001-05-25 19:23:04 +00:00
uipc_usrreq.c o Merge contents of struct pcred into struct ucred. Specifically, add the 2001-05-25 16:59:11 +00:00
vfs_acl.c o As part of the move to not maintaining copies of the vnode owning uid 2001-04-29 19:53:50 +00:00
vfs_aio.c Check validity of signal callback requested via aio routines. 2001-04-18 22:18:39 +00:00
vfs_bio.c This patch implements O_DIRECT about 80% of the way. It takes a patchset 2001-05-24 07:22:27 +00:00
vfs_cache.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
vfs_cluster.c This patch implements O_DIRECT about 80% of the way. It takes a patchset 2001-05-24 07:22:27 +00:00
vfs_conf.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
vfs_default.c Don't release the vm lock just to turn around and grab it again. 2001-05-23 19:51:12 +00:00
vfs_export.c Since the netexport struct was centralised to 'struct mount', 2001-05-29 17:46:52 +00:00
vfs_extattr.c Fix an instance of NDINIT in the extattrctl syscall: LOCKLEAF was or'ed 2001-06-06 23:34:38 +00:00
vfs_init.c Revert consequences of changes to mount.h, part 2. 2001-04-29 02:45:39 +00:00
vfs_lookup.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
vfs_mount.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
vfs_subr.c Introduce a global lock for the vm subsystem (vm_mtx). 2001-05-19 01:28:09 +00:00
vfs_syscalls.c Fix an instance of NDINIT in the extattrctl syscall: LOCKLEAF was or'ed 2001-06-06 23:34:38 +00:00
vfs_vnops.c This patch implements O_DIRECT about 80% of the way. It takes a patchset 2001-05-24 07:22:27 +00:00
vnode_if.pl
vnode_if.src VOP_BALLOC was never really a VOP in the first place, so convert it 2001-04-29 12:36:52 +00:00