freebsd kernel with SKQ
Go to file
ed 5de6a45e07 Remove the distinction between device minor and unit numbers.
Even though we got rid of device major numbers some time ago, device
drivers still need to provide unique device minor numbers to make_dev().
These numbers are only used inside the kernel. They are not related to
device major and minor numbers which are visible in devfs. These are
actually based on the inode number of the device.

It would eventually be nice to remove minor numbers entirely, but we
don't want to be too agressive here.

Because the 8-15 bits of the device number field (si_drv0) are still
reserved for the major number, there is no 1:1 mapping of the device
minor and unit numbers. Because this is now unused, remove the
restrictions on these numbers.

The MAXMAJOR definition was actually used for two purposes. It was used
to convert both the userspace and kernelspace device numbers to their
major/minor pair, which is why it is now named UMINORMASK.

minor2unit() and unit2minor() have now become useless. Both minor() and
dev2unit() now serve the same purpose. We should eventually remove some
of them, at least turning them into macro's. If devfs would become
completely minor number unaware, we could consider using si_drv0 directly,
just like si_drv1 and si_drv2.

Approved by:	philip (mentor)
2008-05-29 12:50:46 +00:00
bin Fix checking if a variable name is LINENO. As STPUTC changes the pointer if it 2008-05-28 21:44:32 +00:00
cddl Don't need to include vmem.h anymore. 2008-05-23 22:44:46 +00:00
contrib Bring these back to HEAD. 2008-05-29 02:43:05 +00:00
crypto Fix conflicts after heimdal-1.1 import and add build infrastructure. Import 2008-05-07 13:53:12 +00:00
etc Bluetooth SIG is being difficult and keep moving specification 2008-05-27 17:46:32 +00:00
games This bloke has his priorities straight: 2008-04-29 13:02:21 +00:00
gnu Install GNU cpio as 'gcpio', symlink to 'cpio' unless WITH_BSDCPIO is 2008-05-26 17:21:12 +00:00
include Remove ISDN4BSD (I4B) from HEAD as it is not MPSAFE and 2008-05-26 10:40:09 +00:00
kerberos5 Add the hx509 error table. 2008-05-15 08:53:31 +00:00
lib - Reduce function call overhead for uncontended case. 2008-05-29 07:57:33 +00:00
libexec Make the meaning of the %A format specifier, as passed to 2008-05-15 10:47:14 +00:00
release Replace the ee with the ed to resolve disk overflow. 2008-05-13 11:51:19 +00:00
rescue Remove netatm from HEAD as it is not MPSAFE and relies on the now removed 2008-05-25 22:11:40 +00:00
sbin Change the exit status for 0 and 2 to be the same as with ping(1) 2008-05-27 10:51:19 +00:00
secure Fix conflicts after heimdal-1.1 import and add build infrastructure. Import 2008-05-07 13:53:12 +00:00
share Various mdoc style and wording fixes. 2008-05-28 05:46:04 +00:00
sys Remove the distinction between device minor and unit numbers. 2008-05-29 12:50:46 +00:00
tools Remove two netatm-specific test parts. 2008-05-26 22:41:40 +00:00
usr.bin Similar to changes previously made to src/usr.bin/uniq/uniq.c, 2008-05-28 14:13:35 +00:00
usr.sbin misc cleanups for stricter compilation 2008-05-28 23:37:37 +00:00
COPYRIGHT Happy new year 2008! 2007-12-31 22:09:19 +00:00
LOCKS Once the release goes out, RELENG_7_* will need approval from so@. 2008-01-24 22:07:03 +00:00
MAINTAINERS Abandon pppd/chat 2008-05-27 06:50:46 +00:00
Makefile Backout the change to remove sun4v. 2008-05-25 22:13:17 +00:00
Makefile.inc1 Add the DTrace build tools to the list of tools and pass NO_CTF to all 2008-05-23 04:22:14 +00:00
ObsoleteFiles.inc To both the (formerly) 'temporarily disconnected' netatm and I4B modules 2008-05-27 21:05:49 +00:00
README
UPDATING Remove ISDN4BSD (I4B) from HEAD as it is not MPSAFE and 2008-05-26 10:40:09 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on:
$FreeBSD$

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, the kernel-modules and the contents of /etc.  The ``world''
target should only be used in cases where the source tree has not
changed from the currently running version.  See:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html
for more information, including setting make(1) variables.

The ``buildkernel'' and ``installkernel'' targets build and install
the kernel and the modules (see below).  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 is a somewhat more involved process, documentation
for which can be found at:
   http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html
And in the config(8) man page.
Note: If you want to build and install the kernel with the
``buildkernel'' and ``installkernel'' targets, you might need to build
world before.  More information is available in the handbook.

The sample kernel configuration files reside in the sys/<arch>/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 NOTES contains entries and documentation for all possible
devices, not just those commonly used.  It is the successor of the ancient
LINT file, but in contrast to LINT, it is not buildable as a kernel but a
pure reference and documentation file.


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

contrib		Packages contributed by 3rd parties.

crypto		Cryptography 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.

kerberos5	Kerberos5 (Heimdal) package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

rescue		Build system for statically linked /rescue utilities.

sbin		System commands.

secure		Cryptographic libraries and commands.

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/doc/en_US.ISO8859-1/books/handbook/synching.html