freebsd kernel with SKQ
Go to file
Ed Schouten 29d4cb241b Don't enforce unique device minor number policy anymore.
Except for the case where we use the cloner library (clone_create() and
friends), there is no reason to enforce a unique device minor number
policy. There are various drivers in the source tree that allocate unr
pools and such to provide minor numbers, without using them themselves.

Because we still need to support unique device minor numbers for the
cloner library, introduce a new flag called D_NEEDMINOR. All cdevsw's
that are used in combination with the cloner library should be marked
with this flag to make the cloning work.

This means drivers can now freely use si_drv0 to store their own flags
and state, making it effectively the same as si_drv1 and si_drv2. We
still keep the minor() and dev2unit() routines around to make drivers
happy.

The NTFS code also used the minor number in its hash table. We should
not do this anymore. If the si_drv0 field would be changed, it would no
longer end up in the same list.

Approved by:	philip (mentor)
2008-06-11 18:55:19 +00:00
bin use 'const' for the parameters of the two static functions unalias() and hashalias() 2008-06-07 16:28:20 +00:00
cddl Don't need to include vmem.h anymore. 2008-05-23 22:44:46 +00:00
contrib Optimize the CVS bug #17168 fix by relaxing the conditions for update 2008-06-06 16:16:44 +00:00
crypto Fix conflicts after heimdal-1.1 import and add build infrastructure. Import 2008-05-07 13:53:12 +00:00
etc Tweak rc.firewall to allow incoming limited broadcast traffic, 2008-06-06 07:17:04 +00:00
games Fixed the output grammar to properly speak non-terminal dits. 2008-06-08 19:35:47 +00:00
gnu Install GNU cpio as 'gcpio', symlink to 'cpio' unless WITH_BSDCPIO is 2008-05-26 17:21:12 +00:00
include Make pthread_cleanup_push() and pthread_cleanup_pop() as a pair of macros, 2008-06-09 01:14:10 +00:00
kerberos5 Add the hx509 error table. 2008-05-15 08:53:31 +00:00
lib In the error path through base_alloc(), release base_mtx [1]. 2008-06-10 15:46:18 +00:00
libexec Use sysctl to fetch stats from the kernel instead of reading variables 2008-06-10 18:47:43 +00:00
release Obsolete gpt(8) by replacing it with geom(8). Add the glabel and 2008-06-05 15:32:05 +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 Remove gpt(8). It's replaced by gpart(8). 2008-06-09 21:30:40 +00:00
secure Fix conflicts after heimdal-1.1 import and add build infrastructure. Import 2008-05-07 13:53:12 +00:00
share Add man page for ixgbe driver 2008-06-11 18:49:55 +00:00
sys Don't enforce unique device minor number policy anymore. 2008-06-11 18:55:19 +00:00
tools Update mctest and its associated script to have a base port to listen 2008-06-03 20:54:46 +00:00
usr.bin Make one-bit fields unsigned instead of signed. This has no effect, 2008-06-09 14:41:28 +00:00
usr.sbin Document the AUTO_UPGRADE (-U) knob for .mergemasterrc 2008-06-11 18:54:06 +00:00
COPYRIGHT Happy new year 2008! 2007-12-31 22:09:19 +00:00
LOCKS Update LOCKS syntax. 2008-06-05 19:47:58 +00:00
MAINTAINERS Update description text 2008-06-06 21:32:01 +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 Removal of gpt(8) and manpage. 2008-06-09 21:36:46 +00:00
README Simply running ``make world'' will bomb unless you dig up the 2006-06-07 03:33:48 +00:00
UPDATING Note removal of gpt(8). 2008-06-09 21:33:57 +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