freebsd-skq/sys/sys
peter e2cbb31311 Make the vnode opv vector construction fully dynamic. Previously we
leaked memory on each unload and were limited to items referenced in
the kernel copy of vnode_if.c.  Now a kernel module is free to create
it's own VOP_FOO() routines and the rest of the system will happily
deal with it, including passthrough layers like union/umap/etc.

Have VFS_SET() call a common vfs_modevent() handler rather than
inline duplicating the common code all over the place.

Have VNODEOP_SET() have the vnodeops removed at unload time (assuming a
module) so that the vop_t ** vector is reclaimed.

Slightly adjust the vop_t ** vectors so that calling slot 0 is a panic
rather than a page fault.  This could happen if VOP_something() was called
without *any* handlers being present anywhere (including in vfs_default.c).
slot 1 becomes the default vector for the vnodeop table.

TODO: reclaim zones on unload (eg: nfs code)
1998-11-10 09:04:09 +00:00
..
_posix.h *gulp*. Jordan specifically OK'ed this.. 1998-10-16 03:55:01 +00:00
_sigset.h Define ss_size in struct sigaltstack as size_t instead of int. 1998-08-05 09:04:36 +00:00
acct.h Forward declare more structs that are used in prototypes here - don't 1998-02-01 20:08:39 +00:00
aio.h Add aio_error decl. 1998-04-12 03:09:43 +00:00
alogio.h documentation changes. 1998-01-06 09:27:37 +00:00
bio.h Convert the vnode clean/dirty attached buffer lists from LISTs to TAILQs. 1998-10-31 14:05:11 +00:00
bitstring.h
buf.h Convert the vnode clean/dirty attached buffer lists from LISTs to TAILQs. 1998-10-31 14:05:11 +00:00
bus_dma.h Don't pretend to support ix86's with 16-bit ints by using longs just 1998-09-29 09:06:00 +00:00
bus_private.h Add some very simple support for a compiled in (from config(8)) resource 1998-07-22 08:35:52 +00:00
bus.h Make it possible to have a driver registered with more than one parent bus. 1998-07-31 09:18:52 +00:00
callout.h Fix softclock calling so we don't loose timeouts (I broke this ~10h ago) 1998-01-11 00:44:31 +00:00
ccdvar.h system.h: 1998-09-15 10:07:26 +00:00
cdefs.h Per request from ache, change the numbering scheme of __FreeBSD_cc_version. 1998-10-29 22:11:08 +00:00
cdio.h Add new atapi-cd driver that supports atapi CD-R/RW drives. 1998-09-08 20:57:47 +00:00
chio.h system.h: 1998-09-15 10:07:26 +00:00
clist.h Some staticized variables were still declared to be extern. 1997-09-07 05:27:26 +00:00
conf.h * Fix a couple of places in the device pager where an address was 1998-11-08 12:39:07 +00:00
cons.h Some staticized variables were still declared to be extern. 1997-07-01 00:54:37 +00:00
copyright.h Delete a stray semicolon at the end. This only breaks gcc -pedantic 1998-01-06 11:44:55 +00:00
dataacq.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
devfsext.h Added macros __printflike() and __scanflike() to <sys/cdefs.h>. 1998-07-13 06:45:23 +00:00
device.h Remove '???' because it generates an annoying message about 1998-07-04 19:00:47 +00:00
devicestat.h Change the devstat generation number from an int to a long. The int-sized 1998-09-20 00:11:23 +00:00
dir.h Deprecated <sys/dir.h> some more - changed the comment saying that 1997-04-10 13:54:19 +00:00
dirent.h Deprecated <sys/dir.h> some more - changed the comment saying that 1997-04-10 13:54:19 +00:00
disk.h buf.h: 1997-09-21 22:09:24 +00:00
disklabel.h Remove a useless ifdef which made struct disklabel have a different 1998-08-24 08:45:37 +00:00
diskmbr.h Remove a useless ifdef which made struct disklabel have a different 1998-08-24 08:45:37 +00:00
diskpc98.h Remove a useless ifdef which made struct disklabel have a different 1998-08-24 08:45:37 +00:00
diskslice.h remove bdevsw arg from dsopen(); 1998-08-23 20:16:35 +00:00
dkbad.h Forward declare more structs that are used in prototypes here - don't 1998-02-01 20:08:39 +00:00
dkstat.h New Kernel device statistics code. 1998-09-15 08:16:17 +00:00
dmap.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
domain.h Fixed pedantic syntax errors caused by the trailing semicolon in the 1997-11-18 06:48:43 +00:00
elf32.h Add generic defines ELF_ARCH, ELF_CLASS, and ELF_DATA. These give 1998-09-14 20:30:13 +00:00
elf64.h Add generic defines ELF_ARCH, ELF_CLASS, and ELF_DATA. These give 1998-09-14 20:30:13 +00:00
elf_common.h Add generic defines ELF_ARCH, ELF_CLASS, and ELF_DATA. These give 1998-09-14 20:30:13 +00:00
elf_generic.h Add generic defines ELF_ARCH, ELF_CLASS, and ELF_DATA. These give 1998-09-14 20:30:13 +00:00
errno.h Make errno finally and permanently thread-aware so that it is no longer 1998-04-30 09:38:03 +00:00
exec.h *gulp*. Jordan specifically OK'ed this.. 1998-10-16 03:55:01 +00:00
fbio.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
fcntl.h Implement a new open(2) flag: O_NOFOLLOW. This will instruct open 1998-04-06 17:38:43 +00:00
fdcio.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
file.h This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
filedesc.h Moved declaration of M_IOV to a less bogus place. It belongs in 1997-12-05 18:58:13 +00:00
filio.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
ftape.h Waste less space. 1996-11-27 22:52:25 +00:00
gmon.h Changed to the C9x draft spelling of the (unsigned) integral type 1998-07-14 05:09:48 +00:00
imgact_aout.h Add provisions for variant core dump file formats, depending on the 1998-09-14 05:36:51 +00:00
imgact_elf.h Add provisions for variant core dump file formats, depending on the 1998-09-14 05:36:51 +00:00
imgact.h Update the ELF image activator to use some of the exec resources rather 1998-03-02 05:47:58 +00:00
inflate.h Fixed gratuitous ANSIisms. 1997-09-16 11:44:05 +00:00
interrupt.h Implemented dynamic registration of software interrupt handlers. Not 1998-08-11 15:08:13 +00:00
ioccom.h This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
ioctl_bt848.h Changed tuner code to autodetect tuner i2c address. 1998-09-30 20:43:25 +00:00
ioctl_compat.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
ioctl_meteor.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
ioctl.h Don't include <sys/ioctl.h> in the kernel. Stage 10 (final). Warn if 1997-03-24 12:48:46 +00:00
ipc.h Removed _POSIX_SOURCE ifdef. This is not a POSIX.1 header. 1998-02-25 02:17:46 +00:00
joystick.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
kernel.h New macro for building a linker set of things to do at module unload 1998-11-10 08:41:41 +00:00
ktrace.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
libkern.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
linedisc.h * Fix a couple of places in the device pager where an address was 1998-11-08 12:39:07 +00:00
link_aout.h Add GDB support for ELF shared libs. 1998-05-23 15:17:53 +00:00
link_elf.h Add GDB support for ELF shared libs. 1998-05-23 15:17:53 +00:00
linker.h The handle for the kernel is common. With this fix, ELF kernels can load 1998-11-04 15:20:58 +00:00
lkm.h There is no such thing any more as "struct bdevsw". 1998-07-04 22:30:26 +00:00
lock.h Make our v_usecount vnode reference count work identically to the 1998-01-06 05:26:17 +00:00
lockf.h Forward declare a struct and #include <sys/queue.h> so that this file 1998-02-03 22:17:45 +00:00
lockmgr.h Make our v_usecount vnode reference count work identically to the 1998-01-06 05:26:17 +00:00
malloc.h Have MALLOC_DECLARE() initialize malloc types explicitly, and have them 1998-11-10 08:46:24 +00:00
mbuf.h Implemented zero-copy TCP/IP extensions via sendfile(2) - send a 1998-11-05 14:28:26 +00:00
md5.h Export MD5Transform in md5.c and remove a private version in random_machdep.c 1998-03-29 11:55:06 +00:00
mdioctl.h
mman.h Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B and 1998-03-28 11:51:01 +00:00
module.h A hook for storing the origin of a module, this is important when 1998-10-09 23:05:45 +00:00
mount.h Make the vnode opv vector construction fully dynamic. Previously we 1998-11-10 09:04:09 +00:00
mouse.h Reviewed by: Amancio 1998-06-14 20:05:27 +00:00
msg.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
msgbuf.h Some cleanups related to timecounters and weird ifdefs in <sys/time.h>. 1998-05-28 09:30:28 +00:00
mtio.h system.h: 1998-09-15 10:07:26 +00:00
namei.h This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
nlist_aout.h Move nlist related defines from link.h into nlist.h. Clean up 1997-12-06 17:59:52 +00:00
param.h post-tag version bump. We're now back at 3.0-current! 1998-10-16 06:55:07 +00:00
pciio.h Revive PCIConf. 1998-09-15 08:21:13 +00:00
pioctl.h Add a copyright and license notice, on Jordan's request. 1997-12-20 18:36:02 +00:00
pipe.h Add two new functions, get{micro|nano}time. 1998-03-26 20:54:05 +00:00
poll.h Cleaned up some comments and ifdefs. 1998-02-03 22:32:23 +00:00
posix4.h The system call stubs for the sched_* system calls can't be 1998-03-28 22:44:28 +00:00
proc.h If the session leader dies, s_leader is set to NULL and getsid() may 1998-11-09 15:08:04 +00:00
procfs.h Viola! The kernel now generates standard ELF core dumps for ELF 1998-09-14 22:46:08 +00:00
protosw.h Yow! Completely change the way socket options are handled, eliminating 1998-08-23 03:07:17 +00:00
ptrace.h This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
queue.h When some functions were added to sys/queue.h (1.15, 1.16), 1998-06-24 20:51:09 +00:00
random.h Converted add_interrupt_randomness() to take a `void *' arg. Rewrote 1998-06-21 11:33:32 +00:00
reboot.h Define shift, mask and extraction macros for obtaining the slice number 1998-03-08 15:04:20 +00:00
resource.h Don't #include <sys/types.h>. I mistakenly #included it unconditionally 1997-11-18 08:07:37 +00:00
resourcevar.h Some cleanups related to timecounters and weird ifdefs in <sys/time.h>. 1998-05-28 09:30:28 +00:00
rlist.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
rman.h The new resource manager, hopefully in a reasonably stable form. 1998-10-29 01:48:36 +00:00
rtprio.h Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B and 1998-03-28 11:51:01 +00:00
scsiio.h Serves me right for committing code late at night... 1998-02-01 18:09:50 +00:00
select.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
selinfo.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
sem.h Cast pointers to uintptr_t/intptr_t instead of to u_long/long, 1998-07-15 02:32:35 +00:00
semaphore.h Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B and 1998-03-28 11:51:01 +00:00
shm.h Forward declare more structs that are used in prototypes here - don't 1998-02-01 20:08:39 +00:00
signal.h Define ss_size in struct sigaltstack as size_t instead of int. 1998-08-05 09:04:36 +00:00
signalvar.h Add provisions for variant core dump file formats, depending on the 1998-09-14 05:36:51 +00:00
sliceio.h Bad144 support for the slice system (!) 1998-04-22 19:27:54 +00:00
smp.h Maintain a mapping from irq number to (ioapic number, int pin) tuple, 1998-09-06 22:41:42 +00:00
snoop.h Seventy-odd "its" / "it's" typos in comments fixed as per kern/6108. 1998-04-17 22:37:19 +00:00
socket.h Implemented zero-copy TCP/IP extensions via sendfile(2) - send a 1998-11-05 14:28:26 +00:00
socketvar.h Implemented zero-copy TCP/IP extensions via sendfile(2) - send a 1998-11-05 14:28:26 +00:00
sockio.h Introduce the SIOC[SG]IFGENERIC hooks that can be used to pass an 1997-10-07 07:39:40 +00:00
soundcard.h soundcard.h wasn't upgraded when i386/isa/snd was 1998-02-18 02:27:00 +00:00
stat.h Fix the futimes/undelete/utrace conflict with other BSD's. Note that 1998-05-11 03:55:28 +00:00
syscall-hide.h Implemented zero-copy TCP/IP extensions via sendfile(2) - send a 1998-11-05 14:28:26 +00:00
syscall.h Implemented zero-copy TCP/IP extensions via sendfile(2) - send a 1998-11-05 14:28:26 +00:00
syscall.mk Implemented zero-copy TCP/IP extensions via sendfile(2) - send a 1998-11-05 14:28:26 +00:00
sysctl.h Ignore the statically configured vfs type numbers and assign vfs 1998-09-05 17:13:28 +00:00
sysent.h Add provisions for variant core dump file formats, depending on the 1998-09-14 05:36:51 +00:00
syslimits.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
syslog.h Added macros __printflike() and __scanflike() to <sys/cdefs.h>. 1998-07-13 06:45:23 +00:00
sysproto.h Implemented zero-copy TCP/IP extensions via sendfile(2) - send a 1998-11-05 14:28:26 +00:00
systm.h Add the ability to specify where on the at_shutdown queue a handler is 1998-10-30 05:41:15 +00:00
tablet.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
termios.h Change a couple of long types to int to match NetBSD so that termios 1998-05-05 21:49:37 +00:00
time.h Remove the tc_cost field from timecounters. 1998-10-23 10:42:42 +00:00
timeb.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
timepps.h Typo fix. 1998-06-22 21:09:10 +00:00
timers.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
times.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
timetc.h Remove the tc_cost field from timecounters. 1998-10-23 10:42:42 +00:00
timex.h Introduce std_pps_ioctl() to automagically DTRT. 1998-06-13 09:30:26 +00:00
tprintf.h Added macros __printflike() and __scanflike() to <sys/cdefs.h>. 1998-07-13 06:45:23 +00:00
tty.h This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
ttychars.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
ttycom.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
ttydefaults.h Map CSTATUS to ^T by default or it never noticed by novice users 1997-08-15 22:43:22 +00:00
ttydev.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
types.h This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
ucred.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
uio.h Make our v_usecount vnode reference count work identically to the 1998-01-06 05:26:17 +00:00
un.h Fixed missing and unused forward declarations of structs. 1998-05-17 18:17:59 +00:00
unistd.h Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B and 1998-03-28 11:51:01 +00:00
unpcb.h Convert socket structures to be type-stable and add a version number. 1998-05-15 20:11:40 +00:00
user.h Point at the right place for alpha registers. 1998-07-15 20:18:00 +00:00
utsname.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
vadvise.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
vcmd.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
vlimit.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
vmmeter.h Make vm_fault much cleaner by removing the evil macro inlines, and 1998-03-07 20:45:47 +00:00
vnioctl.h
vnode.h Make the vnode opv vector construction fully dynamic. Previously we 1998-11-10 09:04:09 +00:00
vsio.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
wait.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
wormio.h Add an ioctl to retrieve the next writable address. 1998-03-31 01:56:29 +00:00
xrpuio.h Header file for XRPU devices. 1998-10-24 19:47:29 +00:00