freebsd kernel with SKQ
Go to file
Matt Jacob 499d2a2a5c Extend unit numbers to a full 10 bits (split into sections
of the minor). Establish and use a control mode open. Control
mode opens may open the device without locking, but are prohibited
from all but some ioctls. MTIOCGET always works. MTIOCERRSTAT
works, but the clearing of latched error status is contingent
upon whether another application has the device open, in which
case an interruptible perip acquire is done. MTSETBSIZ, MTSETDNSTY
and MTCOMP also require a periph aquire.

Relative fileno and blkno are tracked. Note that just about any
error will make these undefined, and if you space to EOD or use
hardware block positioning, these are also lost until the next
UNLOAD or REWIND.

Driver state is also tracked and recorded in the unit softc
to be passed back in mt_dsreg for a MTIOCGET call.
Thanks to Dan Strick for suggesting this.

Reintroduce 2 filemarks at EOD for all but QIC devices. I
really think it's wrong, but there is a lot of 3rd party
software that depends upon this (not the least of which is
tcopy). Introduce a SA_QUIRK_1FM to ensure that some devices
can be marked as only being able to do 1 FM at EOD.

At samount time force a load to BOT if we aren't mounted. If the
LOAD command fails, use the REWIND command (e.g., for the IBM 3590
which for some gawdawful reason doesn't support the LOAD (to BOT)
command).

Also at samount time, if you don't know fixed or variable, try to
*set* to one of the known fixed (or variable, for special case)
density codes. We only have to do this once per boot, so it's not
that painful. This is another way to try and figure out the wierd
QIC devices without having to quirk everything in the universe.

A substantial amount of cleanup as to what operations can and what
operations cannot be retried. Don't retry space operations if they
fail- it'll just lead to lossage.

Not yet done is invalidating mounts correctly after errors. ENOTIME.
1999-02-05 07:32:52 +00:00
bin Fix synopsis to match 1003.2. Add text describing the way in which 1999-01-28 17:41:02 +00:00
contrib Restore rev 1.2 and 1.3 after they got spammed and backed out in rev 1.7 1999-02-04 03:57:15 +00:00
crypto Old stuff laying around: Don't use getstr which can conflict with some 1998-12-16 06:06:06 +00:00
etc add back ctl for sa and add more units 1999-02-04 20:35:07 +00:00
games Minor adjustments to prior commits: 1999-01-07 22:09:05 +00:00
gnu Add perl5 userland (actually localland) to MANPATH list. 1999-02-04 11:43:10 +00:00
include Removed evil typedef kvm_swap_t and all uses of it (not many). 1999-01-27 11:29:15 +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 Update to the most recent version. Among other things, this also solves 1999-02-03 17:23:49 +00:00
libexec Oops, I missed a few more /etc/nologin references yesterday. It appears 1999-01-12 14:09:23 +00:00
release Add a lot of additional keymaps to the appropriate menu. 1999-02-04 13:47:54 +00:00
sbin Added mount_ntfs subdirectory. 1999-02-03 04:21:24 +00:00
secure Support 'O MaxHeaderLines=' to override the default header count and line 1999-01-24 07:54:30 +00:00
share More nit-picking in the debugging instructions. 1999-02-05 00:34:21 +00:00
sys Extend unit numbers to a full 10 bits (split into sections 1999-02-05 07:32:52 +00:00
tools Make directories unconditionally to deal with the empty directory 1999-02-01 12:45:03 +00:00
usr.bin Print relative (mt_fileno, mt_blkno) position, if known. 1999-02-05 02:46:21 +00:00
usr.sbin Add a lot of additional keymaps to the appropriate menu. 1999-02-04 13:47:54 +00:00
COPYRIGHT Add Id keyword 1998-09-13 23:11:13 +00:00
Makefile Frob the upgrade target to be a bit more inclusive. This appears to 1999-01-26 09:12:21 +00:00
Makefile.inc0 Don't use /usr/obj/elf for make world anymore. 1999-01-14 06:45:53 +00:00
Makefile.inc1 further refine the upgrade process. 1999-01-27 15:08:05 +00:00
Makefile.upgrade further refine the upgrade process. 1999-01-27 15:08:05 +00:00
README No more src/lkm dir... 1999-01-06 14:02:35 +00:00
UPDATING o Add info about Julian's Linux Threads checkin (one of these 1999-01-26 03:13:22 +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