freebsd-src/sys
Poul-Henning Kamp 698bfad7f2 Now a dev_t is a pointer to struct specinfo which is shared by all specdev
vnodes referencing this device.

Details:
        cdevsw->d_parms has been removed, the specinfo is available
        now (== dev_t) and the driver should modify it directly
        when applicable, and the only driver doing so, does so:
        vn.c.  I am not sure the logic in checking for "<" was right
        before, and it looks even less so now.

        An intial pool of 50 struct specinfo are depleted during
        early boot, after that malloc had better work.  It is
        likely that fewer than 50 would do.

        Hashing is done from udev_t to dev_t with a prime number
        remainder hash, experiments show no better hash available
        for decent cost (MD5 is only marginally better)  The prime
        number used should not be close to a power of two, we use
        83 for now.

        Add new checkalias2() to get around the loss of info from
        dev2udev() in bdevvp();

        The aliased vnodes are hung on a list straight of the dev_t,
        and speclisth[SPECSZ] is unused.  The sharing of struct
        specinfo means that the v_specnext moves into the vnode
        which grows by 4 bytes.

        Don't use a VBLK dev_t which doesn't make sense in MFS, now
        we hang a dummy cdevsw on B/Cmaj 253 so that things look sane.

	Storage overhead from all of this is O(50k).

        Bump __FreeBSD_version to 400009

The next step will add the stuff needed so device-drivers can start to
hang things from struct specinfo
1999-07-20 09:47:55 +00:00
..
alpha Centralize dumpdev handling. 1999-07-17 20:47:52 +00:00
amd64 Update of the i686 MTRR/memory range support. 1999-07-20 06:58:51 +00:00
boot Reintroduce LBA (cyl > 1023) support in the bootblocks, enabled by 1999-07-20 01:19:23 +00:00
cam disable tag queing for the MICROP 4421-07 drive. It's an old 2gig drive. 1999-07-11 06:10:47 +00:00
coda Don't access the device with vp->v_specinfo->si_rdev, use vp->v_rdev. 1999-07-20 07:18:17 +00:00
compat Use the vn_todev() function, rather than VOP_GETATTR 1999-07-18 14:31:01 +00:00
compile
conf Removed device-dirver flags. 1999-07-09 13:19:35 +00:00
contrib Rename bpfilter to bpf. 1999-07-06 19:23:32 +00:00
ddb The following patch will remove a hack introduced in 1999-07-14 10:53:41 +00:00
dev Now a dev_t is a pointer to struct specinfo which is shared by all specdev 1999-07-20 09:47:55 +00:00
fs Now a dev_t is a pointer to struct specinfo which is shared by all specdev 1999-07-20 09:47:55 +00:00
geom Use the vn_todev() function, rather than VOP_GETATTR 1999-07-18 14:31:01 +00:00
gnu Create the macro DOINGASYNC to check whether the MNT_ASYNC flag has 1999-07-13 18:20:13 +00:00
i4b Rename bpfilter to bpf. 1999-07-06 19:23:32 +00:00
i386 Update of the i686 MTRR/memory range support. 1999-07-20 06:58:51 +00:00
isa Updated acquire_timer2()'s state machine to work when the i8254 is 1999-07-18 18:32:42 +00:00
isofs/cd9660 I have not one single time remembered the name of this function correctly 1999-07-17 18:43:50 +00:00
kern Now a dev_t is a pointer to struct specinfo which is shared by all specdev 1999-07-20 09:47:55 +00:00
libkern Add a fast version of bcmp which compares longwords at a time. 1999-06-19 16:30:28 +00:00
miscfs Now a dev_t is a pointer to struct specinfo which is shared by all specdev 1999-07-20 09:47:55 +00:00
modules Rename bpfilter to bpf. 1999-07-06 19:23:32 +00:00
msdosfs move <sys/systm.h> before <sys/buf.h> 1999-07-01 22:12:39 +00:00
net Rename bpfilter to bpf. 1999-07-06 19:23:32 +00:00
netatalk Change suser_xxx() to suser() where it applies. 1999-04-27 12:21:16 +00:00
netatm Allow configuration of up to 256 network interfaces per physical interface - 1999-05-10 23:02:29 +00:00
netinet fix comment re: RST received in TIME_WAIT to match the code. 1999-07-18 14:42:48 +00:00
netipx Suser() simplification: 1999-04-27 11:18:52 +00:00
netkey #ifdef out unused function key_freetables. 1999-01-12 12:38:31 +00:00
netnatm Examine all occurrences of sprintf(), strcat(), and str[n]cpy() 1998-12-04 22:54:57 +00:00
netns
nfs I have not one single time remembered the name of this function correctly 1999-07-17 18:43:50 +00:00
nfsclient I have not one single time remembered the name of this function correctly 1999-07-17 18:43:50 +00:00
nfsserver I have not one single time remembered the name of this function correctly 1999-07-17 18:43:50 +00:00
ntfs Simplify cdevsw registration. 1999-05-31 11:29:30 +00:00
pc98 Removed device-dirver flags. 1999-07-09 13:19:35 +00:00
pccard Eliminate a bunch of #include "pci.h" and #if NPCI > 0 around entire 1999-07-03 20:17:08 +00:00
pci Add support for multiple PCI busses directly connected to the nexus. 1999-07-16 01:00:30 +00:00
posix4 Well folks, this is it - The second stage of the removal for build support 1999-04-17 08:36:07 +00:00
powerpc Handle R_ALPHA_NONE relocations in KLD. 1999-07-16 09:16:11 +00:00
rpc
svr4 Rename struct members sa_siginfo. POSIX reserves identifiers starting 1999-07-06 06:55:29 +00:00
sys Now a dev_t is a pointer to struct specinfo which is shared by all specdev 1999-07-20 09:47:55 +00:00
tools Add a vnode argument to VOP_BWRITE to get rid of the last vnode 1999-06-16 23:27:55 +00:00
ufs Now a dev_t is a pointer to struct specinfo which is shared by all specdev 1999-07-20 09:47:55 +00:00
vm Convert a "page not busy" warning to an assertion. 1999-07-20 05:46:56 +00:00
Makefile Use MACHINE_ARCH instead of MACHINE to check x86 architecture. 1999-06-03 10:38:07 +00:00