freebsd with flexible iflib nic queues
Go to file
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
bin Various spelling/formatting changes. 1999-05-08 10:22:15 +00:00
contrib Don't assume branch heads are alive.. (related to previous change to the 1999-05-10 13:49:51 +00:00
crypto MF libexec/telnetd: Determine the host name using an array size of 1999-04-08 21:39:34 +00:00
etc Sync with changes in /etc/mail. 1999-05-11 11:52:27 +00:00
games Round two of MetBSD games merges. 1999-05-03 02:08:31 +00:00
gnu Fixed some regressions in rev.1.40: 1999-05-11 08:07:51 +00:00
include Restored rev.1.11 which was clobbered by rev.1.12 (translated to `C'). 1999-05-11 07:28:53 +00:00
kerberos5 Link everything against libcrypt. ELF builds complain without it. 1999-01-25 06:49:43 +00:00
kerberosIV Link everything against libcrypt. ELF builds complain without it. 1999-01-25 06:49:43 +00:00
lib Tidy up references to <sys/rlist.h> and support for the old swap management 1999-05-11 14:32:18 +00:00
libexec Fix ypxfr so that it can be run from cron. 1999-05-10 20:55:29 +00:00
release Hmm. Could have sworn I committed this before. Mention the jail() stuff 1999-05-11 10:29:45 +00:00
sbin Add a new device specification syntax to camcontrol. It is now possible to 1999-05-10 23:30:04 +00:00
secure Typo in comment. 1999-04-25 13:14:36 +00:00
share s/file it possible/file if possible/ 1999-05-11 01:19:34 +00:00
sys Divorce "dev_t" from the "major|minor" bitmap, which is now called 1999-05-11 19:55:07 +00:00
tools Move the proper set of libraries. 1999-04-05 21:41:56 +00:00
usr.bin Tidy up references to <sys/rlist.h> and support for the old swap management 1999-05-11 14:32:18 +00:00
usr.sbin Tidy up references to <sys/rlist.h> and support for the old swap management 1999-05-11 14:32:18 +00:00
COPYRIGHT
Makefile Change !defined(NOAOUT) knob to defined(WANT_AOUT). 1999-03-29 10:59:53 +00:00
Makefile.inc0 Change !defined(NOAOUT) knob to defined(WANT_AOUT). 1999-03-29 10:59:53 +00:00
Makefile.inc1 Document NO_FORTRAN. 1999-05-03 17:54:59 +00:00
Makefile.upgrade Set X11BASE to something deliberately bogus in elf_buildworld so that 1999-03-23 08:09:25 +00:00
README
UPDATING Add update on the status of new bus. 1999-05-10 05:34:32 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on: $Id: README,v 1.13 1998/09/13 09:38:34 markm Exp $

For copyright information, please see the file COPYRIGHT in this
directory (additional copyright information also exists for some
sources in this tree - please see the specific source directories for
more information).

The Makefile in this directory supports a number of targets for
building components (or all) of the FreeBSD source tree, the most
commonly used one being ``world'', which rebuilds and installs
everything in the FreeBSD system from the source tree except the
kernel and the contents of /etc.  Please see the top of the Makefile
in this directory for more information on the standard build targets
and compile-time flags.

Building a kernel with config(8) is a somewhat more involved process,
documentation for which can be found at:
   http://www.freebsd.org/handbook/kernelconfig.html
And in the config(8) man page.

The sample kernel configuration files reside in the sys/i386/conf
sub-directory (assuming that you've installed the kernel sources), the
file named GENERIC being the one used to build your initial installation
kernel.  The file LINT contains entries for all possible devices, not
just those commonly used, and is meant more as a general reference
than an actual kernel configuration file (a kernel built from it
wouldn't even run).


Source Roadmap:
---------------
bin		System/User commands.

contrib		Packages contributed by 3rd parties.

crypto		Export controlled stuff (see crypto/README).

etc		Template files for /etc

games		Amusements.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

kerberosIV	Kerberos package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

sbin		System commands.

secure		DES and DES-related utilities - NOT FOR EXPORT!

share		Shared resources.

sys		Kernel sources.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.


For information on synchronizing your source tree with one or more of
the FreeBSD Project's development branches, please see:

  http://www.freebsd.org/handbook/synching.html