freebsd-nq/sys/vm
Poul-Henning Kamp bfbb9ce670 Divorce "dev_t" from the "major|minor" bitmap, which is now called
udev_t in the kernel but still called dev_t in userland.

Provide functions to manipulate both types:
        major()         umajor()
        minor()         uminor()
        makedev()       umakedev()
        dev2udev()      udev2dev()

For now they're functions, they will become in-line functions
after one of the next two steps in this process.

Return major/minor/makedev to macro-hood for userland.

Register a name in cdevsw[] for the "filedescriptor" driver.

In the kernel the udev_t appears in places where we have the
major/minor number combination, (ie: a potential device: we
may not have the driver nor the device), like in inodes, vattr,
cdevsw registration and so on, whereas the dev_t appears where
we carry around a reference to a actual device.

In the future the cdevsw and the aliased-from vnode will be hung
directly from the dev_t, along with up to two softc pointers for
the device driver and a few houskeeping bits.  This will essentially
replace the current "alias" check code (same buck, bigger bang).

A little stunt has been provided to try to catch places where the
wrong type is being used (dev_t vs udev_t), if you see something
not working, #undef DEVT_FASCIST in kern/kern_conf.c and see if
it makes a difference.  If it does, please try to track it down
(many hands make light work) or at least try to reproduce it
as simply as possible, and describe how to do that.

Without DEVT_FASCIST I belive this patch is a no-op.

Stylistic/posixoid comments about the userland view of the <sys/*.h>
files welcome now, from userland they now contain the end result.

Next planned step: make all dev_t's refer to the same devsw[] which
means convert BLK's to CHR's at the perimeter of the vnodes and
other places where they enter the game (bootdev, mknod, sysctl).
1999-05-11 19:55:07 +00:00
..
default_pager.c vm_pager_put_pages() is passed an rcval array to hold per-page return 1999-01-24 02:32:15 +00:00
default_pager.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
device_pager.c Divorce "dev_t" from the "major|minor" bitmap, which is now called 1999-05-11 19:55:07 +00:00
pmap.h Make pmap_collect() an official pmap interface. 1999-04-23 20:29:58 +00:00
swap_pager.c remove b_proc from struct buf, it's (now) unused. 1999-05-06 20:00:34 +00:00
swap_pager.h vm_pager_put_pages() is passed an rcval array to hold per-page return 1999-01-24 02:32:15 +00:00
vm_extern.h Move the declaration of faultin() from the vm headers to proc.h, since 1999-04-13 19:17:15 +00:00
vm_fault.c The VFS/BIO subsystem contained a number of hacks in order to optimize 1999-05-02 23:57:16 +00:00
vm_glue.c Only use p->p_lock (manage by PHOLD()/PRELE()) - P_NOSWAP/P_PHYSIO is no 1999-04-06 03:11:34 +00:00
vm_inherit.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
vm_init.c Back out DIAGNOSTIC changes. 1998-02-06 12:14:30 +00:00
vm_kern.c Correct a problem in kmem_malloc: A kmem_malloc allowing "wait" may 1999-03-16 07:39:07 +00:00
vm_kern.h Attempt to fix the previous fix to the contigmalloc1 prototype. 1997-10-11 10:39:19 +00:00
vm_map.c Two changes to vm_map_delete: 1999-04-04 07:11:02 +00:00
vm_map.h Upgrading a map's lock to exclusive status should increment 1999-03-06 07:11:33 +00:00
vm_meter.c Add sysctl descriptions to many SYSCTL_XXXs 1999-05-03 23:57:32 +00:00
vm_mmap.c Add brackets to silence egcs and help clarity. 1999-05-06 22:06:45 +00:00
vm_object.c Correct two optimization errors in vm_object_page_remove: 1999-03-14 06:36:00 +00:00
vm_object.h Revamp vm_object_[q]collapse(). Despite the complexity of this patch, 1999-02-08 19:00:15 +00:00
vm_page.c The VFS/BIO subsystem contained a number of hacks in order to optimize 1999-05-02 23:57:16 +00:00
vm_page.h The VFS/BIO subsystem contained a number of hacks in order to optimize 1999-05-02 23:57:16 +00:00
vm_pageout.c Make pmap_collect() an official pmap interface. 1999-04-23 20:29:58 +00:00
vm_pageout.h This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
vm_pager.c remove b_proc from struct buf, it's (now) unused. 1999-05-06 20:00:34 +00:00
vm_pager.h The VFS/BIO subsystem contained a number of hacks in order to optimize 1999-05-02 23:57:16 +00:00
vm_param.h There is a comment in vm_param.h which doesn't belong to the 1998-07-22 06:21:55 +00:00
vm_prot.h Fix the gdb executable modify problem. Thanks to the detective work 1997-04-06 02:29:45 +00:00
vm_swap.c No point in swapdev being a static global when used only locally. 1999-05-09 17:28:00 +00:00
vm_unix.c Removed ENOMEM error on swap_pager_full condition which ignored the 1999-02-22 08:42:16 +00:00
vm_zone.c KNFize, by bde. 1999-01-10 01:58:29 +00:00
vm_zone.h KNFize, by bde. 1999-01-10 01:58:29 +00:00
vm.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
vnode_pager.c remove b_proc from struct buf, it's (now) unused. 1999-05-06 20:00:34 +00:00
vnode_pager.h Fixed two potentially serious classes of bugs: 1998-10-13 08:24:45 +00:00