Subject: kernel 'config', autoconfig,  documentation changes (#90, 2 of 12)
Index:	sys,doc,etc,pdpif,.../many 2.11BSD

Description:
	This is part 2 of 12.  Updates #89 thru #100 are parts 1 thru 12
	respectively.
	
	If you have tired of reading the notes in the "Repeat-By:" section 
	please skip to the "Fix:" section for notes and instructions about 
	this patch file (list of files updated, etc).

Repeat-By:

	This section is repeated in each patch file.  Specific directions
	for the individual patches are included in the "Fix:" section.

	Several problem areas are addressed by this series of updates.

	1) The kernel configuration problems are best noticed
	   by maintaining kernels for a variety of systems and forgetting
	   to copy 'localopts.h' to ../h before compiling.  This at best
	   would cause compile time problems, at worst resulting in a kernel
	   that was unusable.  MANY of the changes described below are
	   aimed at the reduction of 'localopts.h' to almost nothing.

	2) There were several kernel config options which were either known not
	   to work, have not been used within recent memory or were obsolete.
	   UCB_FRCSWAP (to force a swap on program expansion) is a good
	   example of an option which has been removed.
	   
	   The list of things which have been options at one time or another
	   in the system's life has been removed.  Many of them dated back
	   to V7, the modules which they affected are not even present in
	   the system any longer.

	   Two options have been moved to the end of the 'config' script.
	   Neither is known to work (CGL_RTP and FPSIM) and are always left
	   NO.

	3) A couple of kernel config options should not have been options so
	   that the kernel could automatically adapt to whatever machine it
	   found itself running on.  The UNIBUS_MAP and Q22 options are good 
	   examples of this.  Usage of the UNIBUS_MAP option was inconsistent,
	   some of the drivers in the system "#ifdef"d references to the
	   Unibus map allocation routine while other drivers did not.  Since
	   the system knows whether a Unibus Map is present or not the
	   correct behaviour is to either test 'ubmap' or simply call 'mapalloc'
	   (which will do the test for you).  In the case of GENERIC or Unibus
	   based kernels there is _no_ penalty (since UNIBUS_MAP was defined),
	   in the case of Qbus systems there is about 900 bytes of code that
	   simply never gets used (and 40 bytes or so of D space).

	   The Q22 defined was used incorrectly in a couple of drivers to
	   either distinquish between Digital and 3rd party controllers (DH-11
	   vs Emulex CS02) or to indicate whether the system was Qbus or
	   Unibus based.  The references to Q22 in dh.c were changed to
	   CS02 (a new option in the device selection area of the config
	   files), deleted, or replaced with tests of 'ubmap'.

	   UCB_RUSAGE has been made standard because several applications
	   (iostat, vmstat, etc) use the statistics and because the
	   getrusage(2) call uses them.  UCB_METER has been left as an
	   option and will be placed in the Makefile as "-DUCB_METER" in
	   the DEFS line.  References to UCB_RUSAGE have been removed from the
	   kernel.

	   NONFP has been removed.  Hardware floating point is mandatory
	   for two reasons:  the simulator doesn't work, and FP is very
	   inexpensive (or standard on KDJ-11 systems).

	   VIRUS_VFORK has been removed.  Nothing depended on it in the
	   applications and VIRUS_VFORK has never been anything but YES.  

	4) NSWAP has gone away.  It was too easy to either forget to change
	   it or to pick a wrong number (by guessing).  Borrowing yet another
	   concept from 4.3BSD the system now determines the amount of
	   swap space dynamically after booting.  This is done by calling
	   a partition size routine which each disc driver provides.  The
	   bdevsw[] table (in pdp/conf.c) has been expanded to include 
	   a "d_psize" member for each device.

	   NOTE:  this change requires that 'a' and 'b' be the root and
		  swap partitions.  All drivers except the RK06/7 (hk.c) 
		  and RM02/3 (xp.c) observed this rule.  Changes were made 
		  to the RK06/7 and RM02/3 partition tables (and /etc/disktab).
		  The previous practice of using the 'e' or 'f' partitions
		  to overlap the old 'a'+'b' partitions has gone away.  THE
		  new 'a' partition is the same size as the 'e' or 'f'
		  partitions used to be, so there is ROOT FILESYSTEM
		  compatibility (the system will still boot).   Best
		  to back the system up (if using RK07 or RM02 drives)
		  before applying these changes.

	5) SWAPLO has gone away.  It has never been anything but 0 within
	   recent memory (and would have resulted in filesystem corruption
	   if an inappropriate value were chosen).  The only device which 
	   possibly would need to use it (the RL02) is required to be used 
	   in pairs.
	   
	   Deleting SWAPLO removed a number of long word adds scattered around
	   the kernel.  One sector (.5kb) of swap space is "lost"/discarded.
	   The previous practice was to decrement 'swplo' in compensation
	   for entering 1 as the first swap block.  Since 'swplo' has
	   gone away, the number of blocks available ('nswap') is simply 
	   decremented by 1 and the swapmap initialized starting at block 1.

	   This change affects a couple of the applications ('ps', 'pstat',
	   etc.) which were looking for 'swplo'.  These programs have been
	   updated.

	6) 'autoconfig' and programmable vector devices (MSCP, TMSCP, etc)
	    have never gotten along very well.  The drivers had
	    vectors hardcoded (either via #define statments or code
	    which allocated vectors from a base vector) into them.  Changing
	    /etc/dtab would have no effect (at best) or the system would
	    crash (at worst) because 'autoconfig' would allocate/initialize 
	    a vector different than that assumed by the driver. 

	    Networking drivers which support programmable vectors (DEQNA
	    for example) previously had their vectors hardcoded into
	    them AND into pdp/net_scb.s.  Changing one but forgetting to
	    change the other was one way to generate an inoperable system!

	    This has been fixed _at last_!  There are two methods used.
	    One for kernel devices configured by 'autoconfig' and a second 
	    used by the both 'autoconfig' and the networking drivers (which 
	    are not handled by 'autoconfig' because the networking is already 
	    running by the time 'init' starts 'autoconfig').

	    If a driver defines a routine "xxxVec" (where xxx is 'ra',
	    'tms', etc) then 'autoconfig' will call the driver with
	    two parameters:  the controller number and the vector from
	    /etc/dtab.  If the driver lacks a 'xxxVec' routine then
	    'autoconfig' functions as it always has.

	    The second method is used when dynamic allocation of vectors
	    is desired for programmable vector devices.  The networking
	    drivers (DEQNA, DEQTA, etc) use this method.  In the kernel
	    there is a location ('lastiv') which contains the next vector
	    to assign.  Usage is to decrement 'lastiv' by 4 and use the
	    new value.  If multiple vectors are needed then a multiple of
	    4 is subtracted ('autoconfig' counts how many "handlers" it
	    needs for a device).  To make use of this feature (second or third
	    MSCP controllers for example) put a 0 (zero) in the vector
	    field in /etc/dtab.

		NOTE:  It is an error to specify a 0 vector (dynamic
		       allocation) and not have a 'xxxVec' routine for
		       'autoconfig' to call.  'autoconfig' will print
		       an error and leave the device unattached.

		       If 'xxxVec' is used by 'autoconfig' the driver
		       should return success (0) or failure (non-0).
		       'autoconfig' will print "vectorset" if a programmable
		       vector is successfully installed.

	    Networking drivers access 'lastiv' via the "mfkd" and "mtkd"
	    (move from kernel data, move to kernel data) routines.  The
	    hardwired vector (400 for the DEQNA) has been removed from
	    scb.s.,

		NOTE:  the handlers for networking devices are still
		       present in net_scb.s, the drivers initialize
		       the allocated vector by means of a small (1 instruction)
		       assembly language routine (see the changes to 
		       pdpif/if_qe.c).  This 'asm' routine is needed
		       for the driver to access the handle name which does
		       not have a leading (underscore) prepended to it.

	7)  The logic in the DHV-11 driver to attempt forcing a fuller silo
	    (by turning off and on the receive interrupt enable) was removed
	    since it did not work (for very long).  After 2 silo overruns
	    or 90% full silos the logic would disable itself by decrementing
	    the number of delay ticks to 0.  The only real fix for the DHV-11's
	    silo handling problem is to replace the DHV-11 with a DHQ-11.

	8)  The kernel option UCB_NET has been renamed to INET (as 4.3BSD
	    does).  The TCP_COMPAT_42 option has been made "standard" by
	    removing the ifdef in netinet/tcp_var.h.

	9)  The MAXMEM option has been moved to param.h.  It is (almost)
	    never changed and was yet one more thing to accidentally get
	    wrong when configuring a kernel.  Thought was given to removing
	    MAXMEM entirely but it was put in with the other "never changed
	    without a great deal of thought" parameters in param.h

	10) The setup and installation documents have been revised to reflect
	    the new kernel configuration process and to remove references
	    to 'xpunix', 'raunix', etc (not needed now that the generic
	    kernel adapts automatically).

	11) The drivers in the OTHERS directory have been lightly edited
	    to change UCB_NET to INET, remove UNIBUS_MAP usage, etc.  No
	    attempt has been made to port or fix the drivers.

	12) Last, but by no means least, the 'config' script (/sys/conf/config)
	    and the conf/Make.{nsunix,unix,sunix} files have been totally 
	    redone.  Borrowing still another idea from 4.3BSD (not a whole
	    lot left to 'steal' ;-)) the 'config' script now places a line:

		DEFS="-DKERNEL -Doption1 -Doption2 ..."

	    at the front of the main Makefile.  The CFLAGS statement has
	    been modified to include ${DEFS}, thus the configuration options
	    are passed thru to the secondary makefiles Make.pdp, Make.pdpuba,
	    etc. 

	    The GENERIC config file has been redone.  You should make note
	    of your present device complement and then re-config your kernels
	    by making a copy of GENERIC and editing it.

		    NOTE:  The PDP11 line is now only used to select the
			   appropriate inlining method for the 'spl'
			   instruction.  You may safely set PDP11 to GENERIC,
			   no references to PDP11 are now made anywhere in the
			   kernel.

			   You should only set the IDENT line to GENERIC
			   if you either know what you are doing, or if
			   you really are making a distribution kernel.

			   Setting IDENT to GENERIC causes the kernel at
			   boot time to:

			   a) override "swapdev".
			      A GENERIC kernel automatically assigns the 'b'
			      partition of the booted device to be "swapdev"

			   b) override "rootdev".
			      A GENERIC kernel automatically assigns the 'a'
			      partition of the booted device to be "rootdev"
			      and "pipedev".

		The /GENALLSYS script is obsolete and has been removed
		from the system.  For a GENERIC system /unix will now
		adapt to the bootstrapped drive and automatically determine
		the amount of swap space.

	    The only change made to the secondary makefiles was to add
	    a new ethernet driver (not yet working) to Make.net.  The DEQTA
	    driver (if_qt.c) is still being debugged, a future update will
	    be forthcoming.  Since if_qt.c does not exist, the "patch" is
	    the whole file (the same applies to if_qtreg.h).  You will need
	    to create two 0 length files in pdpif ("touch /sys/pdpif/if_qt.c
	    /sys/pdpif/if_qtreg.h") before applying the 'pdpif' update kit.
	    A reminder will be placed in the part containing that patch.

		NOTE:  localopts.h has exactly _TWO_ (2) definitions in it
		       now:  EXTERNALITIMES (mapped out time values from the
		       inodes) and LINEHZ.

		       The default for EXTERNALITIMES is now YES.  It is
		       recommended that this not be changed, if it is changed
		       then applications which look at the kernel incore
		       inode table (pstat for example) will need to be
		       recompiled.

		       Unless either of these two defines change you never
		       need to worry about copying localopts.h again!

Fix:

	The following files are modified.

/usr/doc/2.10/setup.2.11/1.t
/usr/doc/2.10/setup.2.11/2.t
/usr/doc/2.10/setup.2.11/3.t
/usr/doc/2.10/setup.2.11/4.t
/usr/doc/2.10/setup.2.11/5.t
/usr/doc/2.10/setup.2.11/6.t
/usr/doc/2.10/setup.2.11/a.t

	The setup and installation documentation was updated to reflect the
	new kernel configuration proceedure and ability of the GENERIC
	kernel to boot from any device without multiple copies in /
	(/raunix, /xpunix, etc).

*** /usr/doc/2.10/setup.2.11/1.t.old	Tue Jul 21 21:19:58 1992
--- /usr/doc/2.10/setup.2.11/1.t	Tue Dec 29 23:50:28 1992
***************
*** 2,8 ****
  .\" All rights reserved.  The Berkeley software License Agreement
  .\" specifies the terms and conditions for redistribution.
  .\"
! .\"	@(#)1.t	2.0 (GTE) 7/20/92
  .\"
  .ds lq ``
  .ds rq ''
--- 2,8 ----
  .\" All rights reserved.  The Berkeley software License Agreement
  .\" specifies the terms and conditions for redistribution.
  .\"
! .\"	@(#)1.t	2.1 (GTE) 12/29/92
  .\"
  .ds lq ``
  .ds rq ''
***************
*** 57,63 ****
  .FS
  .IP \(ua
  \*(2B would probably only require a moderate amount of squeezing to
! fit on machines with less memory, but it would also be
  unhappy about the prospect.
  .FE
  separate I&D, and with any of the following disks:
--- 57,63 ----
  .FS
  .IP \(ua
  \*(2B would probably only require a moderate amount of squeezing to
! fit on machines with less memory, but it would also be quite
  unhappy about the prospect.
  .FE
  separate I&D, and with any of the following disks:
***************
*** 80,86 ****
  (the RL01 and RL02 for example) must be used in pairs (1 for the root
  file system and the 2nd for swapping).  These discs
  may be used as data discs or as standalone boot media, but are not useable
! for loading the distribution.
  .PP
  The tape drives supported by this distribution are:
  .DS
--- 80,88 ----
  (the RL01 and RL02 for example) must be used in pairs (1 for the root
  file system and the 2nd for swapping).  These discs
  may be used as data discs or as standalone boot media, but are not useable
! for loading the distribution.  Others, while listed above, are not very
! well suited to loading the distribution.  The RK06/07 drives are hard pressed
! to even hold the system binaries much less the sources.
  .PP
  The tape drives supported by this distribution are:
  .DS
***************
*** 93,99 ****
  .TE
  .DE
  Although \*(2B contains a kernel level floating point simulator, it has
! never been tested.  At the release of \*(Ps some thought was given
  to the possibility of lifting the separate I&D restriction, but that
  thought seems to have languished.  In all likelihood, the work will
  probably never be done.  As time passes more and more programs have
--- 95,104 ----
  .TE
  .DE
  Although \*(2B contains a kernel level floating point simulator, it has
! never been tested.  In fact it would not even compile/assemble without
! errors!  That problem has been fixed but it is still not know if the
! simulator works, KDJ-11 based systems have builtin floating point so the
! simulator can not be tested.  At the release of \*(Ps some thought was given
  to the possibility of lifting the separate I&D restriction, but that
  thought seems to have languished.  In all likelihood, the work will
  probably never be done.  As time passes more and more programs have
***************
*** 118,146 ****
  .PP
  \fBThe distribution does not fit on several standard PDP-11 configurations
  that contain only small disks\fP.  If your hardware configuration does not
! provide at least \fB75\fP Megabytes of disk space you can still install the
  distribution, but you will probably have to operate without source for the
  user level commands and, possibly, the source for the operating system.
  .PP
! \fBThe root file system now occupies a minimum of 4Mb and hence will not 
! fit on the
! old `a' partitions of some disks\fP.  In particular, a new partition
! \fIe\fP has been created for the RK06 and RK07 which overlaps
! partitions \fIa\fP and \fIb\fP, and a new partition \fIf\fP has
! been set up for the RM02 and RM03 which overlaps their \fIa\fP and
! \fIb\fP partitions.  The distribution RK06/RK07 kernel (\fI/hkunix\fP)
! assumes that its root device is drive zero, partition \fIe\fP (/dev/hk0e)
! and that its swap device is drive \fBone\fP, partition \fIa\fP
! (/dev/hk\fB1\fPa).  The distribution RM02/RM03 kernel (\fI/rmunix\fP)
! assumes that its root device is drive zero, partition \fIf\fP (/dev/xp0f)
! and that its swap device is drive \fBone\fP, partition \fIa\fP
! (/dev/xp\fB1\fPa).  The RL01/RL02 driver doesn't support partitioning of
! drives, so the RL01/RL02 kernel (\fI/rlunix\fP) assumes that its root
! device is drive zero (/dev/rl0h) and its swap device is drive \fBone\fP
! (/dev/rl\fB1\fPh).  All other distribution kernels assume that their root
! device is drive zero partition \fIa\fP (/dev/\fIxx\fP0a) and their swap
! device is on partition \fIb\fP of the same drive (/dev/\fIxx\fP0b).
  .PP
  If you have the facilities, it is a good idea to copy the
  magnetic tape(s) in the distribution kit to guard against disaster.
  The tapes are 9-track 1600 BPI or TK50 cartridge and contain some
--- 123,146 ----
  .PP
  \fBThe distribution does not fit on several standard PDP-11 configurations
  that contain only small disks\fP.  If your hardware configuration does not
! provide at \fBleast 75\fP Megabytes of disk space you can still install the
  distribution, but you will probably have to operate without source for the
  user level commands and, possibly, the source for the operating system.
  .PP
! \fBThe root file system now occupies a minimum of 4Mb.
! The RK06/07 and RM02/03 partition tables have been modified so that \fBall\fP
! disks (with the exception of the RL01/02) have a root ('a') partition of at
! least 4mb and a separate swap ('b') partition.  The old practice of having
! a 'e' or 'f' partition overlapping the (normal) 'a' and 'b' partitions is
! no longer used.  The RL01/RL02 driver doesn't support partitioning of
! drives, so the GENERIC kernel (when booted from a RL01/02 drive) assumes 
! that its root device is drive zero (/dev/rl0h) and its swap device is drive 
! \fBone\fP (/dev/rl1h).   This is possible because the RL driver stores the
! unit number in the bits normally used for the partition number.
  .PP
+ NOTE:  The old RK06/07 and RM02/03 overlaying of 'e' or 'f' partitions
+ on top of the 'a'+'b' partitions is no longer done.
+ .PP
  If you have the facilities, it is a good idea to copy the
  magnetic tape(s) in the distribution kit to guard against disaster.
  The tapes are 9-track 1600 BPI or TK50 cartridge and contain some
***************
*** 166,173 ****
  second tape contains a tape archive image, also in \fItar\fP format, of
  all the remaining source that comes with the system.
  .PP
! The entire distribution fits on a single TK50 cartridge, references to
! the second tape should be treated as being the 8th file on the TK50.
  .PP
  .KS
  .DS L
--- 166,175 ----
  second tape contains a tape archive image, also in \fItar\fP format, of
  all the remaining source that comes with the system.
  .PP
! The entire distribution (barely) fits on a single TK50 cartridge, references to
! the second tape should be treated as being the 8th file on the TK50.  Many of
! the programs in /usr/src/new have been tar+compress'd in order to keep the
! distribution to a single tape.
  .PP
  .KS
  .DS L
***************
*** 259,265 ****
  specifies the device or drive unit to use.
  The \fIz\fP
  value is interpreted differently for tapes and disks:
! for disks it is a block offset for a file system
  and for tapes it is a file number on the tape.\(ua
  .KS
  .FS
--- 261,268 ----
  specifies the device or drive unit to use.
  The \fIz\fP
  value is interpreted differently for tapes and disks:
! for disks it is a block offset for a file system (always zero unless you
! \fBreally\fP know what you are doing)
  and for tapes it is a file number on the tape.\(ua
  .KS
  .FS
***************
*** 286,310 ****
  .FE
  .KE
  .PP
- For example, partition 1 of drive 0 on an RK07 would be ``hk(0,5940)''
- (``5940'' is the \fI512-byte sector\fP offset to partition 1, as
- determined from the manual page
- .IR hk (4)).
- When not running standalone, this partition would normally be available
- as ``/dev/hk0b''.  Here the prefix ``/dev'' is the name of the directory
- where all ``special files'' normally live, the ``hk'' serves an obvious
- purpose, the ``0'' identifies this as a partition of hk drive number ``0''
- and the ``b'' identifies this as partition 1 (where we number beginning at 0,
- the 0th partition being ``hk0a'').
- .PP
  In all simple cases, a drive with unit number 0 (determined either by
  a unit plug on the front of the drive, or jumper settings on the drive
! or controller) will be called unit 0 in its UNIX
! file name.  This is not, however, strictly necessary, since the system
! has a level of indirection in this naming.
! If there are multiple controllers, the disk unit numbers
! will normally be counted sequentially across controllers.
! This can be taken
  advantage of to make the system less dependent on the interconnect
  topology, and to make reconfiguration after hardware
  failure extremely easy.  This will not be discussed now.
--- 289,302 ----
  .FE
  .KE
  .PP
  In all simple cases, a drive with unit number 0 (determined either by
  a unit plug on the front of the drive, or jumper settings on the drive
! or controller) will be called unit 0 in its UNIX file name.
! file name.
! If there are multiple controllers, the drive unit numbers
! will normally be counted sequentially across controllers.  Thus drives on
! the the first controller are numbered 0 thru 7 and drives on the second
! controller are numbered 8 thru 15.  This can be taken
  advantage of to make the system less dependent on the interconnect
  topology, and to make reconfiguration after hardware
  failure extremely easy.  This will not be discussed now.
***************
*** 329,352 ****
  .IP \(dd
  It is possible to change the partitions by changing the code for the
  table in the disk driver.  Since it's desirable to do this, these tables
! really should be read off each pack.  Unfortunately due to lack of time,
! too many other commitments, and a feeling that waiting until everything
! was done would delay release indefinitely prevented the implementation
! of this feature.
  .FE
  Each partition may be used
! for either a raw data area such as a swapping area or to store a
  UNIX file system.
! It is conventional for the first partition on a disk to be used
! to store a root file system, from which UNIX may be bootstrapped,
! but as already mentioned above, the RK06/07 and RM02/03 generic distribution
! kernels use other partitions because of the small size of the \fIa\fP
! partitions on those disks.
! The second partition is traditionally used as a swapping area, and the
  rest of the disk is divided into spaces for additional ``mounted
  file systems'' by use of one or more additional partitions.
  .PP
! The eighth logical partition of each physical disk also has a
  conventional usage: it allows access to the entire physical device,
  including the bad sector forwarding information recorded at the end of
  the disk (one track plus 126 sectors).  It is occasionally used to store
--- 321,344 ----
  .IP \(dd
  It is possible to change the partitions by changing the code for the
  table in the disk driver.  Since it's desirable to do this, these tables
! really should be read off each pack.  Unfortunately due to
! many other commitments and a lack of copious "free time"
! implementation of this feature has been postponed indefinitely (after
! seeing how it works in 4.3Reno during a cold start i hesitate to inflict
! it on the PDP-11 community).
  .FE
  Each partition may be used
! for either a raw data area (such as a swapping area) or to store a
  UNIX file system.
! It is mandatory for the first partition on a disk to be used
! to store a root file system if that drive is to be used to bootstrap a UNIX
! system.  If a drive is being used solely for data then that drive need not
! have a root ('a') partition (or a 'b' partition).
! The second partition is used as a swapping area, and the
  rest of the disk is divided into spaces for additional ``mounted
  file systems'' by use of one or more additional partitions.
  .PP
! The third ('c') logical partition of each physical disk also has a
  conventional usage: it allows access to the entire physical device,
  including the bad sector forwarding information recorded at the end of
  the disk (one track plus 126 sectors).  It is occasionally used to store
***************
*** 354,359 ****
--- 346,358 ----
  copy of it on another.  Care must be taken when using this partition not
  to overwrite the last few tracks and thereby destroying the bad sector
  information.
+ .PP
+ Unfortunately not all the drivers follow the rules above.  The MSCP
+ driver follows the rules, as does the RK06/07 driver.  The 'xp' driver
+ alas has only been updated for the RM02/03 case (so as to cause minimal
+ disruption).  In some cases it
+ may be that the 8th ('h') partition is used for access to the entire
+ disc rather than the third ('c') partition.
  .NH 2
  UNIX devices: block and raw
  .PP
*** /usr/doc/2.10/setup.2.11/2.t.old	Mon Aug 24 21:08:32 1992
--- /usr/doc/2.10/setup.2.11/2.t	Wed Dec 30 00:16:20 1992
***************
*** 2,8 ****
  .\" All rights reserved.  The Berkeley software License Agreement
  .\" specifies the terms and conditions for redistribution.
  .\"
! .\"	@(#)2.t	1.4 (GTE) 8/24/92
  .\"
  .ds lq ``
  .ds rq ''
--- 2,8 ----
  .\" All rights reserved.  The Berkeley software License Agreement
  .\" specifies the terms and conditions for redistribution.
  .\"
! .\"	@(#)2.t	1.5 (GTE) 12/29/92
  .\"
  .ds lq ``
  .ds rq ''
***************
*** 70,76 ****
  Certain of these steps are dependent on your hardware
  configuration.  If your disks require formatting, standard DEC
  diagnostic utilities will have to be used, they are not supplied on the
! distribution tape.
  .NH 3
  Step 1: loading the tape bootstrap monitor
  .PP
--- 70,76 ----
  Certain of these steps are dependent on your hardware
  configuration.  If your disks require formatting, standard DEC
  diagnostic utilities will have to be used, they are not supplied on the
! \*(2B distribution tape.
  .NH 3
  Step 1: loading the tape bootstrap monitor
  .PP
***************
*** 119,125 ****
  separate instruction and data (separate I/D) and/or a UNIBUS map are detected.
  For KDJ-11 systems the System Maintenance Register is examined to determine
  the cpu type.  At present \*(2B runs on the 44, 53, 70, 73, 83, 84, 93 and 94
! only.  It must be emphasized that \*(2B requires separate I/D.
  .sp
  \fIctlr\fP encodes the controller number and unit number that \fBBoot\fP
  was loaded from.  The top two bits (bits 6 and 7) are the controller
--- 119,125 ----
  separate instruction and data (separate I/D) and/or a UNIBUS map are detected.
  For KDJ-11 systems the System Maintenance Register is examined to determine
  the cpu type.  At present \*(2B runs on the 44, 53, 70, 73, 83, 84, 93 and 94
! \fBonly\fP.  It must be emphasized that \*(2B requires separate I/D.
  .sp
  \fIctlr\fP encodes the controller number and unit number that \fBBoot\fP
  was loaded from.  The top two bits (bits 6 and 7) are the controller
***************
*** 147,158 ****
  Disk	Root File System Size
  	  (1K-byte blocks)
  
! hk	4158\(ua
  ra	7942 (All RA, RZ and RD drives except RD52 and RD53)
  	4850 (RD52/53 - \fBbarely useable\fP)
  rl01	5120\(dd
  rl02	10240\(dd
! xp	4800 (RM02/RM03)\(ua
  	4560 (RM05)
  	5120 (CDC 9775)
  	4807 (RP04/RP05/RP06)
--- 147,158 ----
  Disk	Root File System Size
  	  (1K-byte blocks)
  
! hk	4158
  ra	7942 (All RA, RZ and RD drives except RD52 and RD53)
  	4850 (RD52/53 - \fBbarely useable\fP)
  rl01	5120\(dd
  rl02	10240\(dd
! xp	4800 (RM02/RM03)
  	4560 (RM05)
  	5120 (CDC 9775)
  	4807 (RP04/RP05/RP06)
***************
*** 163,170 ****
  .TE
  .sp
  .FS
- .IP \(ua
- These partitions cover what used to be partitions \fIa\fP and \fIb\fP in 2.9BSD.
  .IP \(dd
  These partitions cover the entire pack.
  .FE
--- 163,168 ----
***************
*** 235,242 ****
  you may be able to use these numbers as well, but check that
  the actual disk geometry is the same as the emulated disk
  (rather than the controller mapping onto a different physical disk).
- Also, the rotational speed must be the same as the DEC disk
- for these numbers to apply.
  .PP
  The earlier tables went into great detail specifying separate tables for
  each cpu type.  This is not necessary.  In several cases the \fIm\fP
--- 233,238 ----
***************
*** 358,375 ****
  .DS
  .TS
  lw(1.5i) l.
! \fB:\fP\fIdk\|\fP(0,0)\fIdk\^\fPunix\(ua	(bring in \fIdk\^\fPunix off root system)
  \fBBoot: bootdev=0nnnn bootcsr=0mmmmmm\fP
  .TE
  .DE
! .FS
! .IP \(ua
! \fBNote:\fP If you are booting from an \fBxp\fP drive that is or emulates
! a \fBRM02/RM03\fP you \fB\fImust\fP\fP boot \fBxp(0,0)rmunix\fP. If you boot to
! xp(0,0)xpunix you will \fIcorrupt\fP your root filesystem and will
! have to begin the installation over.
! .FE
! The standalone boot program should then read \fIdk\^\fPunix from
  the root file system you just created, and the system should boot:
  .DS
  .B
--- 354,364 ----
  .DS
  .TS
  lw(1.5i) l.
! \fB:\fP\fIdk\|\fP(0,0)unix	(bring in unix from the root system)
  \fBBoot: bootdev=0nnnn bootcsr=0mmmmmm\fP
  .TE
  .DE
! The standalone boot program will then load unix from
  the root file system you just created, and the system should boot:
  .DS
  .B
***************
*** 385,394 ****
  .R
  (Information about various devices will print;
  most of them will probably not be found until
! the addresses are set below.  If an error message
! about a configuration is printed the file /unix
! likely does not exist or is not the same as \fIdk\fPunix.
! See below for how to handle this situation.
  .B
  erase=^?, kill=^U, intr=^C
  #
--- 374,380 ----
  .R
  (Information about various devices will print;
  most of them will probably not be found until
! the addresses are set below.)
  .B
  erase=^?, kill=^U, intr=^C
  #
***************
*** 436,449 ****
  can be edited to correspond to your hardware.  However, the tape drive of
  the correct type should have been detected and attached.
  .PP
- If the error message \fBSERIOUS CONFIGURATION ERROR\fP or 
- \fB configuration setup error\fP is printed then you must move \fIdk\fPunix
- to /unix:  mv /\fIdk\fPunix /unix and reboot.  This is because 
- \fIautoconfig\fP|(8)
- only looks for the the name unix and this file does not exist
- in the GENERIC case.   The root filesystem is very full, there is probably
- not enough room to \fBcp\fP /\fIdk\fPunix /unix, use \fBmv\fP.
- .PP
  The \*(lqerase ...\*(rq message is part of /.profile
  that was executed by the root shell when it started.  This message
  is present to remind you that the character erase,
--- 422,427 ----
***************
*** 459,489 ****
  and lets you know that you are the super-user,
  whose login name is \*(lqroot\*(rq.
  .PP
- There are a number of copies of \fIunix\fP on the root file system,
- one for each possible type of root file system device.
- All of the systems were created from \fI/genunix\fP by the
- shell script \fI/GENALLSYS\fP.
- If you had to patch the \fIxp\fP type as you
- booted, you may want to use \fIadb\fP (see
- .IR adb (1))
- to make the same patch in a copy of \fIxpunix\fP.  See \fI/GENALLSYS\fP
- for examples of using \fIadb\fP to patch the system.  See appendix A for
- a description of the generic kernels.  The system load images for disk
- types other than your own can be removed.
- .PP
  The disk with the new root file system on it will not be bootable
  directly until the block 0 bootstrap program for your disk has been installed.
  There are copies of the bootstraps in /mdec.
! Use \fIdd\fP\|(1) to copy the right boot block onto block 0 of the disk;
! the first form of the command is for small disks (\fBrk\fP, \fBrl\fP)
! and the second form for disks with multiple partitions
! (\fBhk\fP, \fBrp\fP, \fBxp\fP),
! substituting as usual for \fIdk\fP:
  .DS
- \fB#\fP dd if=/mdec/\fIboot\fP of=/dev/r\fIdk\^\fP0h count=1
- 
- or
- 
  \fB#\fP dd if=/mdec/\fIboot\fP of=/dev/r\fIdk\^\fP0a count=1
  .DE
  Block zero bootstraps and the devices they support are:
--- 437,447 ----
  and lets you know that you are the super-user,
  whose login name is \*(lqroot\*(rq.
  .PP
  The disk with the new root file system on it will not be bootable
  directly until the block 0 bootstrap program for your disk has been installed.
  There are copies of the bootstraps in /mdec.
! Use \fIdd\fP\|(1) to copy the right boot block onto block 0 of the disk.
  .DS
  \fB#\fP dd if=/mdec/\fIboot\fP of=/dev/r\fIdk\^\fP0a count=1
  .DE
  Block zero bootstraps and the devices they support are:
***************
*** 506,514 ****
  .TE
  .DE
  Once this is done, booting from this disk will load and execute the block
! 0 bootstrap, which will in turn load /boot (actually, the boot program on
! the file system starting at block zero of the disk, which is normally
! root).  The console will print
  .DS
  .TS
  lw(1.5i) l.
--- 464,470 ----
  .TE
  .DE
  Once this is done, booting from this disk will load and execute the block
! 0 bootstrap, which will in turn load /boot.  The console will print
  .DS
  .TS
  lw(1.5i) l.
***************
*** 520,529 ****
  .DE
  It automatically boots /\fIboot\fP for you;
  if /\fIboot\fP is not found, the system will hang/loop forever.
! It is a very small and simple program, however, and can only
  boot the second-stage boot from the first file system.
  Once /boot is running and prints its ``: '' prompt,
! boot unix as above, using \fIdk\^\fPunix or unix as appropriate.
  .PP
  As distributed /\fIboot\fP will load \fIdk\fP(0,0)unix by default if a
  carriage return is typed at the \fB:\fP prompt.
--- 476,486 ----
  .DE
  It automatically boots /\fIboot\fP for you;
  if /\fIboot\fP is not found, the system will hang/loop forever.
! The block 0 program is very small (has to fit in 512 bytes) and simple 
! program, however, and can only
  boot the second-stage boot from the first file system.
  Once /boot is running and prints its ``: '' prompt,
! boot unix as above.
  .PP
  As distributed /\fIboot\fP will load \fIdk\fP(0,0)unix by default if a
  carriage return is typed at the \fB:\fP prompt.
***************
*** 563,573 ****
  .DS
  .TS
  l l.
! DEC RM02/03	\fB#\fP name=xp0c; type=rm03
  DEC RM05	\fB#\fP name=xp0e; type=rm05
  DEC RP04/05	\fB#\fP name=xp0c; type=rp04
! DEC RP06	\fB#\fP name=xp0c; type=rp06
! DEC RK07	\fB#\fP name=hk0c; type=rk07
  DEC RA60	\fB#\fP name=ra0c; type=ra60
  DEC RA70	\fB#\fP name=ra0d; type=ra70
  DEC RA71	\fB#\fP name=ra0d; type=ra71
--- 520,530 ----
  .DS
  .TS
  l l.
! DEC RM02/03	\fB#\fP name=xp0h; type=rm03
  DEC RM05	\fB#\fP name=xp0e; type=rm05
  DEC RP04/05	\fB#\fP name=xp0c; type=rp04
! DEC RP06	\fB#\fP name=xp0g; type=rp06
! DEC RK07	\fB#\fP name=hk0h; type=rk07
  DEC RA60	\fB#\fP name=ra0c; type=ra60
  DEC RA70	\fB#\fP name=ra0d; type=ra70
  DEC RA71	\fB#\fP name=ra0d; type=ra71
***************
*** 720,727 ****
  .IP \(ua
  On the TK50 the remaining source is the 8th file on the cartridge.
  .FE
! (with the exception on RK07's, RM03's, and RD52's this will fit
! in the /usr file system):
  .DS
  \fB#\fP cd /usr/src
  \fB#\fP tar xpb 20
--- 677,684 ----
  .IP \(ua
  On the TK50 the remaining source is the 8th file on the cartridge.
  .FE
! (with the exception on RK07's, RM03's, and RD52's and other small discs
! this will fit in the /usr file system):
  .DS
  \fB#\fP cd /usr/src
  \fB#\fP tar xpb 20
*** /usr/doc/2.10/setup.2.11/3.t.old	Tue May 28 16:09:47 1991
--- /usr/doc/2.10/setup.2.11/3.t	Wed Dec 30 00:31:22 1992
***************
*** 2,8 ****
  .\" All rights reserved.  The Berkeley software License Agreement
  .\" specifies the terms and conditions for redistribution.
  .\"
! .\"	@(#)3.t	1.0 (Contel) 7/5/90
  .\"
  .ds lq ``
  .ds rq ''
--- 2,8 ----
  .\" All rights reserved.  The Berkeley software License Agreement
  .\" specifies the terms and conditions for redistribution.
  .\"
! .\"	@(#)3.t	1.1 (2.11BSD GTE) 12/30/92
  .\"
  .ds lq ``
  .ds rq ''
***************
*** 133,150 ****
  they will have to be incorporated into the new kernel.
  See section 4.2.3 and ``Building \*(2B UNIX Systems.''
  .PP
! The disk partitions in \*(2B are the same as those in 2.[89]BSD except
! for those additions to the \fIRK06/07\fP and \fIRM02/03\fP already
! mentioned earlier.  There are no changes between \*(2B and \*(Ps.  If you
  have changed the disk partition sizes, be sure to make the necessary
  table changes and boot your custom kernel BEFORE trying to access any of
! your old file systems!  \*(2B has added partitions for the RD54 and
! RA82 drives, only the RD54 has actually been tested.
  .PP
  In any case, the manual pages in section 4 of the manual \fIare\fP correct
  and describe the standard release partition arrangements accurately.
! Note that this is not an endorsement of those partition layouts.  As
! always, the BUGS section lists disk labeling as a good thing.
  .NH 2
  Merging your files from earlier PDP-11 UNIX systems into \*(2B
  .PP
--- 133,150 ----
  they will have to be incorporated into the new kernel.
  See section 4.2.3 and ``Building \*(2B UNIX Systems.''
  .PP
! Disk partitions in \*(2B have changed from those in 2.[89]BSD, especially
! for the RK06/07, RM02/03 and MSCP drivers.  The best place to look for
! more information is in /etc/disktab and /sys/pdpuba/*.c (the driver sources).
! There are several changes between \*(2B and \*(Ps.  If you
  have changed the disk partition sizes, be sure to make the necessary
  table changes and boot your custom kernel BEFORE trying to access any of
! your old file systems!
  .PP
  In any case, the manual pages in section 4 of the manual \fIare\fP correct
  and describe the standard release partition arrangements accurately.
! As always, the BUGS section lists disk labeling as a good thing (it should
! also list providing the time, usw. to do it :-)).
  .NH 2
  Merging your files from earlier PDP-11 UNIX systems into \*(2B
  .PP
***************
*** 302,308 ****
  and then recompile all of the system and local programs (see section 6.5).\(ua
  .FS
  .IP \(ua
! Note: The resolver routines add about 5kb of text to each program.
  .FE
  .PP
  The format of /etc/ttys is the same as it was under \*(Ps.
--- 302,311 ----
  and then recompile all of the system and local programs (see section 6.5).\(ua
  .FS
  .IP \(ua
! Note: The resolver routines add about 5kb of text and 1kb of data
! to each program.  Also, the resolver routines use more stack space
! which may cause large programs to crash due to failure to extend the
! stack area.
  .FE
  .PP
  The format of /etc/ttys is the same as it was under \*(Ps.
***************
*** 315,327 ****
  to monitor system problems more closely, for example
  network routing changes.
  .PP
- If you are using the name server, 
- your \fIsendmail\fP configuration file will need some minor
- updates to accommodate it.
- See the ``Sendmail Installation and Operation Guide'' and the sample
- \fIsendmail\fP configuration files in /usr/src/usr.lib/sendmail/nscf.
- Be sure to regenerate your sendmail frozen configuration file after
- installation of your updated configuration file.
  Again, it must be emphasized that the nameserver is not robust under
  \*(2B, and if the \fIhosts\fP files are not desired then the best
  alternative is to use the \fIresolver\fP\|(5) routines and use
--- 318,323 ----
***************
*** 382,394 ****
  The incore inode structure has had the i_id member added as part
  of implementing the 4.3BSD namei cache.  The di_addr member of the
  on disk inode structure is now an array of type \fBdaddr_t\fP instead 
! of \fBchar\fP.  The old 3 byte packed block number is obsolete.
  .PP
  The on disk directory structure is that of 4.3BSD with the difference
  that the inode number is an unsigned short instead of a long.  This was
  done to reduce the amount of long arithmetic in the kernel and to maintain
  compatibility with earlier versions with regard to the maximum number of
! inodes per filesystem.
  .PP
  And again, \*(2B is not filesystem compatible with any previous PDP-11 UNIX system\fP.
  .PP
--- 378,391 ----
  The incore inode structure has had the i_id member added as part
  of implementing the 4.3BSD namei cache.  The di_addr member of the
  on disk inode structure is now an array of type \fBdaddr_t\fP instead 
! of \fBchar\fP.  The old 3 byte packed block number is obsolete at last.
  .PP
  The on disk directory structure is that of 4.3BSD with the difference
  that the inode number is an unsigned short instead of a long.  This was
  done to reduce the amount of long arithmetic in the kernel and to maintain
  compatibility with earlier versions with regard to the maximum number of
! inodes per filesystem.  Given the typical size of discs used with \*(2B
! the limit on the number of inodes per filesystem will not be a problem.
  .PP
  And again, \*(2B is not filesystem compatible with any previous PDP-11 UNIX system\fP.
  .PP
***************
*** 431,437 ****
  man system
  .PP
  The manual system continues to track the changes
! going on in 4BSD.  The setup is essentially the same as that in the
  .B 4.3BSD-TAHOE
  distribution with the manual source in /usr/src/man.
  .NH 3
--- 428,436 ----
  man system
  .PP
  The manual system continues to track the changes
! going on in 4BSD.  I'm not convinced the new setup is better, but it does
! seem to be the method of the moment.
! The setup is essentially the same as that in the
  .B 4.3BSD-TAHOE
  distribution with the manual source in /usr/src/man.
  .NH 3
***************
*** 443,449 ****
  .I /sys/h/param.h
  is set to 5 in the distribution system.  This will be
  too small for many sites.  Since each mount table entry costs about
! 440 bytes of valuable kernel dataspace, this number should be chosen
  with care.  See Appendix A for an explanation of how to
  reconfigure
  .BR NMOUNT.
--- 442,448 ----
  .I /sys/h/param.h
  is set to 5 in the distribution system.  This will be
  too small for many sites.  Since each mount table entry costs about
! 440 bytes of valuable kernel dataspace this number should be chosen
  with care.  See Appendix A for an explanation of how to
  reconfigure
  .BR NMOUNT.
*** /usr/doc/2.10/setup.2.11/4.t.old	Tue Dec 31 23:55:47 1991
--- /usr/doc/2.10/setup.2.11/4.t	Wed Dec 30 00:54:11 1992
***************
*** 2,8 ****
  .\" All rights reserved.  The Berkeley software License Agreement
  .\" specifies the terms and conditions for redistribution.
  .\"
! .\"	@(#)4.t	1.0 (Contel) 7/5/90
  .\"
  .de IR
  \fI\\$1\fP\|\\$2
--- 2,8 ----
  .\" All rights reserved.  The Berkeley software License Agreement
  .\" specifies the terms and conditions for redistribution.
  .\"
! .\"	@(#)4.t	2.0 (2.11BSD GTE) 12/30/92
  .\"
  .de IR
  \fI\\$1\fP\|\\$2
***************
*** 206,212 ****
  should be
  copied to the root, and then booted to try it out.
  It is best to save the old kernel to a known name so as not to destroy
! the working system until you're sure the new one does work:
  .DS
  \fB#\fP cp /unix /oldunix
  \fB#\fP make install
--- 206,214 ----
  should be
  copied to the root, and then booted to try it out.
  It is best to save the old kernel to a known name so as not to destroy
! the working system until you're sure the new one does work.  It is an
! \fBbetter\fP idea to have a non network kernel (/emergencyunix) always
! kept on the system:
  .DS
  \fB#\fP cp /unix /oldunix
  \fB#\fP make install
***************
*** 235,250 ****
  or a small file system like, /tmp;
  the second partition, xp0b,
  is used for swapping or a small file system; and
! the third partition xp0c
! holds a user file system.
! Many disks can be divided in different ways;
! for example, the fifth section (\fIe\fP) of the RP06
! could instead be divided into two file systems,
! using the xp0c
! and xp0d
! partitions instead, perhaps holding /usr and the user's files.
! The last partition (\fIh\fP) almost always describes the entire disk, and
! can be used for disk-to-disk copies.
  .sp 2
  .RS
  .PP
--- 237,244 ----
  or a small file system like, /tmp;
  the second partition, xp0b,
  is used for swapping or a small file system; and
! a combination of the fifth,sixth,seventh partitions xp0e, xp0f, xp0g
! would hold user file systems.
  .sp 2
  .RS
  .PP
***************
*** 284,295 ****
  l l n l n.
  Type	Name	Size	Name	Size
  _
! rm02/03	xp?c	59.5 Mb	xp?d	30.6 Mb
  rm05	xp?c	114.2 Mb	xp?e	80.1 Mb
  rp04/05	xp?c	74.8 Mb
  rp06	xp?c	74.8 Mb	xp?e	157.2 Mb
! rk06	hk?d	9.1 Mb
! rk07	hk?c	22.1 Mb
  rd53	ra?d	52.9 Mb
  rd54	ra?c	135.2 Mb
  ra60	ra?c	94.3 Mb	ra?g	76.4 Mb
--- 278,289 ----
  l l n l n.
  Type	Name	Size	Name	Size
  _
! rm02/03	xp?g	56 Mb	xp?h	65.6 Mb
  rm05	xp?c	114.2 Mb	xp?e	80.1 Mb
  rp04/05	xp?c	74.8 Mb
  rp06	xp?c	74.8 Mb	xp?e	157.2 Mb
! rk06	hk?g	5.1 Mb	hk?h	13 Mb
! rk07	hk?g	18 Mb	hk?h	26.5 Mb
  rd53	ra?d	52.9 Mb
  rd54	ra?c	135.2 Mb
  ra60	ra?c	94.3 Mb	ra?g	76.4 Mb
***************
*** 305,313 ****
  Each disk also has a swapping area and
  a root file system.
  The distributed system binaries occupy about 34 Megabytes
! while the major sources occupy another 32 Megabytes.
! This overflows dual RK07, dual RL02 and single RM03 systems,
! but fits easily on most other hardware configurations.
  .PP
  Be aware that the disks have their sizes measured in disk sectors (512
  bytes), while the UNIX file system blocks are 1024 bytes each.  Thus if a
--- 299,309 ----
  Each disk also has a swapping area and
  a root file system.
  The distributed system binaries occupy about 34 Megabytes
! while the major sources occupy another 36 Megabytes.
! This overflows RK07, RL02 and RM03 systems,
! but fits easily on most other hardware configurations.  \*(2B is quite
! happy on RD54 or larger.  Simply fitting the distribution isn't enough,
! there must still be space left for user files and spooling directories.
  .PP
  Be aware that the disks have their sizes measured in disk sectors (512
  bytes), while the UNIX file system blocks are 1024 bytes each.  Thus if a
***************
*** 362,369 ****
  4. The user files.
  5. The swapping activity.
  .DE
! The following possibilities are ones we have used at times
! when we had 2, 3 and 4 disks:
  .TS
  center doublebox;
  l | c s s
--- 358,365 ----
  4. The user files.
  5. The swapping activity.
  .DE
! The following possibilities are ones that have been used at times
! when 2, 3 and 4 disks were available:
  .TS
  center doublebox;
  l | c s s
***************
*** 382,388 ****
  .IP \(ua
  Note also, that only a single swapping area is supported.  The
  \fIswapon\fP\|(2) system call and multiple swapping areas have \fBnot\fP
! been implemented under \*(2B.
  .FE
  .PP
  The most important things to consider are to
--- 378,385 ----
  .IP \(ua
  Note also, that only a single swapping area is supported.  The
  \fIswapon\fP\|(2) system call and multiple swapping areas have \fBnot\fP
! been implemented under \*(2B (yet.  no real need since enough other resources
! are exhausted by the time a 4mb 11/73 needs additional swap space).
  .FE
  .PP
  The most important things to consider are to
***************
*** 468,474 ****
  C is defined for the number of interfaces of each type listed below.
  Since tty structures are approximately 78 bytes each, it is
  highly doubtful that more than 3 or 4 terminal interface boards
! will ever be attached to a PDP-11.
  .DS
  .TS
  center box;
--- 465,471 ----
  C is defined for the number of interfaces of each type listed below.
  Since tty structures are approximately 78 bytes each, it is
  highly doubtful that more than 3 or 4 terminal interface boards
! will ever be attached to a PDP-11 (especially in a BA23 cabinet).
  .DS
  .TS
  center box;
***************
*** 565,581 ****
  names to determine if a terminal is a dialup.
  Shell commands to do this should be put in the /dev/MAKEDEV.local
  script.
- .PP
- While it is possible to use truly arbitrary strings for terminal names,
- the accounting and noticeably the
- \fIps\fP\|(1)
- command make use of the convention that tty names
- (by default, and also after dialups are named as suggested above)
- are distinct in the last 2 characters. 
- Change this and you may be sorry later, as the heuristic
- \fIps\fP\|(1)
- uses based on these conventions will then break down and ps will
- run MUCH slower.
  .NH 2
  Adding users
  .PP
--- 562,567 ----
***************
*** 633,641 ****
  /usr/ucb/mail	UCB mail program, described in \fImail\fP\|(1)
  /usr/lib/sendmail	mail routing program
  /usr/spool/mail	mail spooling directory
- /usr/spool/secretmail	secure mail directory
- /usr/bin/xsend	secure mail sender
- /usr/bin/xget	secure mail receiver
  /usr/lib/aliases	mail forwarding information
  /usr/ucb/newaliases	command to rebuild binary forwarding database
  /usr/ucb/biff	mail notification enabler\(ua
--- 619,624 ----
***************
*** 663,674 ****
  comsat and biff are only available under systems configured
  for networking support.
  .FE
- .PP
- Mail queued in the directory /usr/spool/mail is normally readable
- only by the recipient.  To send mail that is secure against any possible
- perusal (except by a code-breaker) you should
- use the secret mail facility,
- which encrypts the mail so that no one can read it.
  .PP
  To set up the mail facility you should read the instructions in the
  file READ_ME in the directory /usr/src/usr.lib/sendmail and then adjust
--- 646,651 ----
*** /usr/doc/2.10/setup.2.11/5.t.old	Sat Dec  8 18:46:04 1990
--- /usr/doc/2.10/setup.2.11/5.t	Wed Dec 30 01:12:05 1992
***************
*** 2,8 ****
  .\" All rights reserved.  The Berkeley software License Agreement
  .\" specifies the terms and conditions for redistribution.
  .\"
! .\"	@(#)5.t	1.0 (Contel) 7/5/90
  .\"
  .ds lq ``
  .ds rq ''
--- 2,8 ----
  .\" All rights reserved.  The Berkeley software License Agreement
  .\" specifies the terms and conditions for redistribution.
  .\"
! .\"	@(#)5.t	2.0 (2.11BSD GTE) 12/30/92
  .\"
  .ds lq ``
  .ds rq ''
***************
*** 68,75 ****
  System configuration
  .PP
  To configure the kernel to include the Internet communication
! protocols, define the UCB_NET option.  This automatically defines
! the INET, TCP_COMPAT_42, and NLOOP options.  Xerox NS support is
  enabled with the NS option.
  In either case, include the pseudo-device
  ``pty'' in your machine's configuration
--- 68,75 ----
  System configuration
  .PP
  To configure the kernel to include the Internet communication
! protocols, define the INET option.  This automatically defines
! the NLOOP option.  TCP_COMPAT_42 is always defined.  Xerox NS support is
  enabled with the NS option.
  In either case, include the pseudo-device
  ``pty'' in your machine's configuration
***************
*** 77,83 ****
  The ``pty'' pseudo-device forces the pseudo terminal device driver
  to be configured into the system, see \fIpty\fP\|(4).  The NLOOP
  option forces inclusion of the software loopback interface driver.
! The loop driver is used in network testing.
  .PP
  If you are planning to use the Internet network facilities on a 10Mb/s
  Ethernet, the pseudo-device ``ether'' should also be included
--- 77,84 ----
  The ``pty'' pseudo-device forces the pseudo terminal device driver
  to be configured into the system, see \fIpty\fP\|(4).  The NLOOP
  option forces inclusion of the software loopback interface driver.
! The loop driver is used in network testing as well as for the
! system talking to itself rather than transmitting the data over the wire.
  .PP
  If you are planning to use the Internet network facilities on a 10Mb/s
  Ethernet, the pseudo-device ``ether'' should also be included
***************
*** 107,112 ****
--- 108,114 ----
  _
  de	DEC DEUNA/DELUA 10Mb/s Ethernet
  qe	DEC DEQNA 10Mb/s Ethernet
+ qt	DEC DELQA-YM 10Mb/s Ethernet
  ec	3Com 10Mb/s Ethernet
  il	Interlan 1010 and 10101A 10Mb/s Ethernet interfaces
  vv	Proteon ProNET - Token Ring Interface
***************
*** 114,123 ****
  .TE
  .DE
  .PP
! SL/IP is also available.  It is not the fastest thing around, as the interface
! between the supervisor and kernel mode sections of the kernel for SL/IP
! are quite painful.  A few days work in improving this interface could be
! quite rewarding in terms of throughput.
  .PP
  All network interface drivers including the loopback interface,
  require that their host address(es) be defined at boot time.
--- 116,124 ----
  .TE
  .DE
  .PP
! SL/IP is also available.  It is suprisingly efficient.  Over a 9600 baud
! line it is not unusual to see \fBftp\fP rates in the 800 bytes per second
! range (depending how busy the system is).
  .PP
  All network interface drivers including the loopback interface,
  require that their host address(es) be defined at boot time.
***************
*** 142,150 ****
  between \*(2B hosts using ARP, and it is thus no longer necessary to
  disable the use of trailers with \fIifconfig\fP.  It is \fBSTRONGLY\fP
  recommended, however, that \*(2B networking be run without trailers,
! as the trailer code in most of the drivers has either been commented
! out as untested or is \fBknown\fP not to work.  This is a problem with
! certain releases of \fIUltrix\fP, which has to be explicitly configured
  not to send trailers if it and \*(2B are to coexist.
  .PP
  To use the pseudo terminals just configured, device
--- 143,151 ----
  between \*(2B hosts using ARP, and it is thus no longer necessary to
  disable the use of trailers with \fIifconfig\fP.  It is \fBSTRONGLY\fP
  recommended, however, that \*(2B networking be run without trailers,
! as the trailer code in most of the drivers has either been removed,
! commented out, is untested or is \fBknown\fP not to work.  This is a problem 
! with certain releases of \fIUltrix\fP, which has to be explicitly configured
  not to send trailers if it and \*(2B are to coexist.
  .PP
  To use the pseudo terminals just configured, device
***************
*** 332,357 ****
  Use of \*(2B machines as gateways
  .PP
  Only sheer insanity could prompt the use of \*(2B machines as gateways.
! However, if you have no choice, several changes have been made in \*(2B
! in the area of gateway support
! (or packet forwarding, if one prefers).
! A new configuration option, GATEWAY, is used when configuring
! a machine to be used as a gateway.
! This option increases the size of the routing hash tables in the kernel.
! Unless configured with that option,
! hosts with only a single non-loopback interface never attempt
! to forward packets or to respond with ICMP error messages to misdirected
! packets.
! This change reduces the problems that may occur when different hosts
! on a network disagree as to the network number or broadcast address.
! Another change is that \*(2B machines that forward packets back through
! the same interface on which they arrived
! will send ICMP redirects to the source host if it is on the same network.
! This improves the interaction of \*(2B gateways with hosts that configure
! their routes via default gateways and redirects.
! The generation of redirects may be disabled by changing the value of the
! define for IPSENDREDIRECTS to 0 in the file /sys/netinet/ip_input.c
! for environments where redirects may cause difficulties.
  .PP
  Local area routing within a group of interconnected Ethernets
  and other such networks may be handled by
--- 333,341 ----
  Use of \*(2B machines as gateways
  .PP
  Only sheer insanity could prompt the use of \*(2B machines as gateways.
! If you \fBreally\fP want to do this then the best recourse is to
! prowl the sources and see what has to be done.  The code is all there,
! and the "ipforwarding" variable is present.
  .PP
  Local area routing within a group of interconnected Ethernets
  and other such networks may be handled by
***************
*** 469,475 ****
  for local routing and wish to have static external routes installed
  when \fIrouted\fP is started.
  This procedure is essentially obsolete, however, except for individual hosts
! that are on the NSFnet or Milnet and do not forward packets from a local
  network.
  Other situations require the use of an EGP server.  It is highly doubtful
  that an EGP server could ever be made to run on a PDP-11, the networking
--- 453,459 ----
  for local routing and wish to have static external routes installed
  when \fIrouted\fP is started.
  This procedure is essentially obsolete, however, except for individual hosts
! that are on the Milnet and do not forward packets from a local
  network.
  Other situations require the use of an EGP server.  It is highly doubtful
  that an EGP server could ever be made to run on a PDP-11, the networking
***************
*** 546,553 ****
  commands similar to the following should be placed in the site dependent
  file \fI/etc/rc.local\fP.
  .DS
! if [ -f /etc/routed ]; then
! 	/etc/routed & echo -n ' routed'			>/dev/console
  f\&i
  .DE
  .NH 3
--- 530,537 ----
  commands similar to the following should be placed in the site dependent
  file \fI/etc/rc.local\fP.
  .DS
! if [ -f /etc/rwhod ]; then
! 	/etc/rwhod & echo -n ' rwhod'			>/dev/console
  f\&i
  .DE
  .NH 3
***************
*** 586,591 ****
--- 570,579 ----
  When local users wish to place files in the anonymous
  area, they must be placed in a subdirectory.  In the
  setup here, the directory \fI~ftp/pub\fP is used.
+ .PP
+ NOTE: Mode 777 on the 'pub' directory can and has been abused!  Changing the
+ mode to 555 is a good choice but would require adminstrative assistance for
+ placing files in the 'pub' directory.  Probably not a bad idea though.
  .PP
  Another issue to consider is the copy of \fI/etc/passwd\fP
  placed here.  It may be copied by users who use the
*** /usr/doc/2.10/setup.2.11/6.t.old	Mon Dec 10 14:39:21 1990
--- /usr/doc/2.10/setup.2.11/6.t	Wed Dec 30 01:37:26 1992
***************
*** 2,8 ****
  .\" All rights reserved.  The Berkeley software License Agreement
  .\" specifies the terms and conditions for redistribution.
  .\"
! .\"	@(#)6.t	1.0 (Contel) 7/5/90
  .\"
  .de IR
  \fI\\$1\fP\|\\$2
--- 2,8 ----
  .\" All rights reserved.  The Berkeley software License Agreement
  .\" specifies the terms and conditions for redistribution.
  .\"
! .\"	@(#)6.t	2.0 (2.11BSD GTE) 12/30/92
  .\"
  .de IR
  \fI\\$1\fP\|\\$2
***************
*** 113,120 ****
  .PP
  Periodically (say every week or so in the absence of any problems)
  and always (usually automatically) after a crash,
! all the file systems should be checked for consistency
! by
  \fIfsck\fP\|(8).
  The procedures of
  \fIreboot\fP\|(8)
--- 113,119 ----
  .PP
  Periodically (say every week or so in the absence of any problems)
  and always (usually automatically) after a crash,
! all the file systems should be checked for consistency by
  \fIfsck\fP\|(8).
  The procedures of
  \fIreboot\fP\|(8)
***************
*** 169,175 ****
  FULL	0	Dec 22, 1979	etc	135MB
  .TE
  .KE
! We do weekly dumps often enough that daily dumps always fit on one tape.
  .PP
  Dumping of files by name is best done by
  \fItar\fP\|(1)
--- 168,174 ----
  FULL	0	Dec 22, 1979	etc	135MB
  .TE
  .KE
! Weekly dumps are done often enough that daily dumps always fit on one tape.
  .PP
  Dumping of files by name is best done by
  \fItar\fP\|(1)
***************
*** 183,189 ****
  a good value to use, consult \fI/etc/disktab\fP.
  .PP
  It is desirable that full dumps of the root file system be
! made regularly.
  This is especially true when only one disk is available.
  Then, if the
  root file system is damaged by a hardware or software failure, you
--- 182,196 ----
  a good value to use, consult \fI/etc/disktab\fP.
  .PP
  It is desirable that full dumps of the root file system be
! made regularly.  These dumps should be made in ``bootable`` format,
! including the standalone programs mentioned back in chapter 2 (boot,
! mkfs, restor and icheck).  This can easily be done by going to 
! /sys/pdpstand and doing:
! .DS
! make all
! ./maketape /dev/nrmtXX maketape.data
! dump 0u /
! .DE
  This is especially true when only one disk is available.
  Then, if the
  root file system is damaged by a hardware or software failure, you
***************
*** 336,359 ****
  .NH 2
  Making local modifications
  .PP
! To keep track of changes to system source we migrate changed
! versions of commands in /usr/src/bin, /usr/src/usr.bin, and /usr/src/ucb
! in through the directory /usr/src/new
! and out of the original directory into /usr/src/old for
! a time before removing them.
! (/usr/new is also used by default for the programs that constitute
! the contributed software portion of the distribution.)
! Locally written commands that aren't distributed are kept in /usr/src/local
! and their binaries are kept in /usr/local.  This allows /usr/bin, /usr/ucb,
! and /bin to correspond to the distribution tape (and to the manuals that
! people can buy).  People wishing to use /usr/local commands are made
! aware that they aren't in the base manual.  As manual updates incorporate
! these commands they are moved to /usr/ucb.
! .PP
! A directory, /usr/junk, to throw garbage into, as well as binary directories,
! /usr/old and /usr/new, are useful.  The man command supports manual
! directories such as /usr/old/man for old and /usr/local/man for local
! to make this or something similar practical.
  .NH 2
  Accounting
  .PP
--- 343,357 ----
  .NH 2
  Making local modifications
  .PP
! /usr/new is used by default for the programs that constitute
! the contributed software portion of the distribution but which may not
! have man pages installed.
! Locally written commands that aren't distributed (or whose man pages are
! not up to date) are kept in /usr/src/local and their binaries are 
! kept in /usr/local.  This allows /usr/bin, /usr/ucb,
! and /bin to correspond to the distribution tape
! People using /usr/local commands are made
! aware that the programs may not be in the base system yet.
  .NH 2
  Accounting
  .PP
*** /usr/doc/2.10/setup.2.11/a.t.old	Wed Dec 19 09:56:19 1990
--- /usr/doc/2.10/setup.2.11/a.t	Wed Dec 30 01:45:31 1992
***************
*** 78,131 ****
  RL01/02	2
  SMD (XP) Controllers	1
  SMD (XP) Disks	2
! TE16, TU45, TU77 (HT) Tape drives	1
! TM11 (TM) Tape drives	1
! TS11 (TS) Tape drives	1
! TK50 (TMSCP) Tape drives	1
  .TE
  .PP
! The generic kernels are set up with the following disk drive
! configurations:
! .TS
! l l l n l.
! Kernel	root/pipe	swap	nswap	comments
! -
! hkunix	/dev/hk0e	/dev/hk1a	5940	two drive, 0e covers 0a and 0b
! raunix	/dev/ra0a	/dev/ra0b	10032
! rlunix	/dev/rl0h	/dev/rl1h	10240	two drive, no partitions on RLs
! xpunix	/dev/xp0a	/dev/xp0b	8878
! .TE
! .PP
! If these values aren't usable at all, you'll have to patch the kernel
! before it first accesses any of the disks.  Don't do this unless you
! absolutely have to.  It's far better to use the defaults, rebuild a
! kernel for your specific setup, and then rearrange your file systems.
! .\"CHECK - XXX
! .TS
! l l l.
! Variable	location	comments
! -
! rootdev	02422	Root device - a file system
! pipedev	02414	Pipe device - a file system
! swapdev	02410	Swap device - raw chunk of disk
! nswap	02412	Size of swap partition
! .TE
! .PP
! .TS
! l l.
! Device	major*256
! -
! HK	02000
! RA	02400
! RL	03400
! XP	05000
! .TE
! .IR Rootdev ,
! .IR pipedev ,
! and
! .I swapdev
! are 256 * device major number + device minor number.  Device minor numbers
! are 8 * drive + partition.
  .NH 3
  GENERIC kernel configuration file
  .PP
--- 78,95 ----
  RL01/02	2
  SMD (XP) Controllers	1
  SMD (XP) Disks	2
! TE16, TU45, TU77 (HT) Tape drives	2
! TM11 (TM) Tape drives	2
! TS11 (TS) Tape drives	2
! TK50 (TMSCP) Tape drives	2
  .TE
  .PP
! The generic kernel adapts automatically to the booted device.  The 'a'
! partition on the booted device is automatically made the root filesystem
! and the 'b' partition the swap area (except for the RL02 which uses the
! second drive).  The size of the swap partition is determined at run
! time, the kernel queries the driver for the number of block in the 'b'
! partition.
  .NH 3
  GENERIC kernel configuration file
  .PP
***************
*** 145,226 ****
  #########################################
  
  # Machine type
! # 2.11 runs on:
! #	11/44/53/70/73/83/84/93/94 with 22 bit addressing
! # 2.11 WILL NOT run on:
! #	T11, 11/03/04/05/10/15/20/21/23/24/34/35/40/45/50/55
! #	(45/50/55 because of max memory constraints, the others
! #	 because the MMUs do not have split I/D and/or supervisor)
! # Any QBUS machine using an ABLE Microverter should be treated as
! # if it were an 11/70.
  #
- # You should also make a point of having both floating point hardware and
- # at least a megabyte of memory, if possible.  They aren't that expensive,
- # and they make a big difference.
- #
  # Including UNIBUS map support for machines without a UNIBUS will not cause
  # a kernel to die.  It simply includes code to support UNIBUS mapping if
  # present.
! 
  # The define UNIBUS_MAP implements kernel support for UNIBUS mapped
  # machines.  However, a kernel compiled with UNIBUS_MAP does *not* have to
  # be run on a UNIBUS machine.  The define simply includes support for UNIBUS
  # mapping if the kernel finds itself on a machine with UNIBUS mapping.
  UNIBUS_MAP	YES			# include support for UNIBUS mapping
- 					# always: 11/44/70/84
- 					# sometimes: 11/24
- 					# never: 11/23/34/35/40/45/50/53/
- 					#	55/60/73/83
  
! # The define Q22 states that the configured system is a 22-bit Q-BUS machine
! # (if UNIBUS mapping isn't found) and no 18-bit DMA disk or tape devices
! # exist.  If Q22 is defined and an 18-bit DMA disk or tape does exist, reads
! # and writes to the raw devices will cause DMA transfers to and from user
! # space which might be above 18-bits (256K) which would cause random
! # sections of memory (probably the kernel) to be overwritten (for reads).
! # An 18-bit DH isn't a problem since it never does DMA to user space and
! # clists (even with UCB_CLIST defined) are never above 18-bits.
! #
! # Note, the Q22 define is only effective if the kernel finds itself on a
! # machine without UNIBUS mapping.  Note also that the presence of UNIBUS
! # mapping is only tested for if UNIBUS_MAP is defined.
! Q22		YES			# 22-bit Qbus with no 18-bit devices
! 					# always 11/53/73/83
! 					# sometimes: 11/23
! 					# never: 11/24/34/35/40/44/50/
! 					#	55/60/70/84
  
- # Defining NONFP to NO compiles in support for hardware floating point.
- # However, this doesn't require that floating point hardware be present.
- # Defining NONFP to YES will save you a few hundred bytes of text.
- NONFP		NO			# if no floating point hardware
- 
- # Defining FPSIM to YES compiles a floating point simulator into the kernel
- # which will catch floating point instruction traps from user space.  Note
- # that defining FPSIM to YES will only cost you text space.  If you actually
- # have floating point hardware, the simulator just won't be used.  The floating
- # point simulator is automatically compiled in if PDP-11 (below) is GENERIC.
- FPSIM		NO			# floating point simulator
- 
  #LINEHZ		50			# clock frequency European
  LINEHZ		60			# clock frequency USA
  
! # To enable profiling, the :splfix script must be changed to use spl6 instead
! # of spl7 (see conf/:splfix.profile), also, you have to have a machine with a
! # supervisor PAR/PDR pair, i.e. an 11/44/45/50/53/55/70/73/83/84, as well
! # as both a KW11-L and a KW11-P.
! #
! # Note that profiling is not currently working.  We don't have any plans on
! # fixing it, so this is essentially a non-supported feature.
! PROFILE		NO			# system profiling with KW11P clock
! 
! # PDP-11 machine type; allowable values are GENERIC, 23, 24, 34, 35, 40,
! # 44, 45, 50, 53, 55, 60, 70, 73, 83, 84.  GENERIC should only be used to
! # build a distribution kernel.
  PDP11		GENERIC			# distribution kernel
  #PDP11		44			# PDP-11/44
! #PDP11		70			# PDP-11/70
! #PDP11		73			# PDP-11/73
  
  #########################################
  # GENERAL SYSTEM PARAMETERS		#
--- 109,142 ----
  #########################################
  
  # Machine type
! # Split I/D and hardware floating point are required.
  #
  # Including UNIBUS map support for machines without a UNIBUS will not cause
  # a kernel to die.  It simply includes code to support UNIBUS mapping if
  # present.
! #
  # The define UNIBUS_MAP implements kernel support for UNIBUS mapped
  # machines.  However, a kernel compiled with UNIBUS_MAP does *not* have to
  # be run on a UNIBUS machine.  The define simply includes support for UNIBUS
  # mapping if the kernel finds itself on a machine with UNIBUS mapping.
  UNIBUS_MAP	YES			# include support for UNIBUS mapping
  
! # The define Q22 has been removed.  The references to it were incorrect
! # (i.e. using it to distinguish between an Emulex CS02 and a DH11) or
! # inappropriate (the if_il.c driver should have been checking if a Unibus
! # Map was present at runtime).
  
  #LINEHZ		50			# clock frequency European
  LINEHZ		60			# clock frequency USA
  
! # PDP-11 machine type; allowable values are GENERIC, 44, 70, 73.  GENERIC 
! # should only be used to build a distribution kernel.  The only use of this
! # option is to select the proper in-line PS instructions (references to the
! # PSW use 'spl', 'mfps/mtps' or 'movb' instructions depending on the cpu type).
  PDP11		GENERIC			# distribution kernel
  #PDP11		44			# PDP-11/44
! #PDP11		70			# PDP-11/70,45,50,55
! #PDP11		73			# PDP-11/73,53,83,93,84,94
  
  #########################################
  # GENERAL SYSTEM PARAMETERS		#
***************
*** 262,268 ****
  PIPEDEV		makedev(10,0)		# makedev(10,0) xp0a
  ROOTDEV		makedev(10,0)		# makedev(10,0) xp0a
  SWAPDEV		makedev(10,1)		# makedev(10,1) xp0b
- SWAPLO		0			# swap start address, normally 0
  
  # DUMPROUTINE indicates which dump routine should be used.  DUMPDEV
  # should be in terms of makedev.  If DUMPDEV is NODEV no automatic
--- 178,183 ----
***************
*** 283,416 ****
  #DUMPROUTINE	xpdump			# xp driver dump routine
  #DUMPROUTINE	tmsdump			# tms driver dump routine
  
- # NSWAP should be set to the 512-byte block length of the swap device, e.g.
- # 9120 for an RM05 B partition.
- #NSWAP		9405			# dvhp?b or xp?b, DIVA COMP V
- #NSWAP		5940			# hk?a, RK611, RK06/07
- NSWAP		2376			# hk?b, RK611, RK06/07
- #NSWAP		12122			# br?b, Eaton BR1538 or BR1711
- #NSWAP		8779			# hp?b or xp?b, RP04/05/06
- #NSWAP		4800			# rm?b or xp?b, RM02/03
- #NSWAP		9120			# xp?b, RM05
- #NSWAP		17300			# rd?b, RD51/52/53
- #NSWAP		3100			# rd?c, RD51/52/53
- #NSWAP		10032			# ra?b, RC25
- #NSWAP		33440			# ra?b, RA60/80/81
- #NSWAP		16720			# ra?b, RD54, RA82
- #NSWAP		10240			# rl?, RL01
- #NSWAP		20480			# rl?, RL02
- 
  #########################################
  # KERNEL CONFIGURATION			#
  #########################################
  
  BADSECT		NO			# bad-sector forwarding
! CGL_RTP		NO			# allow one real time process
! EXTERNALITIMES	NO			# map out inode time values
  UCB_CLIST	NO			# clists moved from kernel data space
- UCB_FRCSWAP	NO			# force swap on expand/fork
  NOKA5		NO			# KA5 not used except for buffers
  					# and clists (_end < 0120000);
  QUOTA		NO			# dynamic file system quotas
  					# NOTE -- *very* expensive
  
! # UCB_METER is fairly expensive.  Unless you really look at the statistics
! # that it produces, don't bother running with it on.  Suggested usage is
! # when you want to tune your system or you're curious about how effective
! # some algorithm, for example, the text coremap cacheing, is.  UCB_RUSAGE
! # isn't nearly as bad, and should probably be included, although it's not
! # necessary for anything.
  UCB_METER	NO			# vmstat performance metering
- UCB_RUSAGE	YES			# enable more rusage fields
  
- # If your system is *seriously* short of memory, and you're doing a lot of
- # thrashing, 2.10's implementation of vfork can hurt you.  Otherwise, run
- # with it on.  You do not have to recompile any applications when you change
- # it.  You should also get rid of any local code that uses VIRUS_VFORK to
- # decide whether to call fork or vfork, they should just call vfork.
- VIRUS_VFORK	YES			# include vfork system call
- 
  # NBUF is the size of the buffer cache, and is directly related to the UNIBUS
  # mapping registers.  There are 32 total mapping registers, of which 30 are
  # available.  The 0'th is used for CLISTS, and the 31st is used for the I/O
! # page on some PDP-11's.  It's suggested that you allow 7 mapping registers
  # per UNIBUS character device so that you can move 56K of data on each device
  # simultaneously.  The rest should be assigned to the block buffer pool.  So,
  # if you have a DR-11 and a TM-11, you would leave 14 unassigned for them and
  # allocate 16 to the buffer pool.  Since each mapping register addresses 8
  # buffers for a 1K file system, NBUF would be 128.  A possible exception would
! # be to reduce the buffers to save on data space, as they were 24 bytes per
! # header, last time I looked.
! # should be 20 for GENERIC, so room for kernel + large program to run.
! NBUF		20			# buffer cache, *must* be <= 240
  
- # MAXMEM is the maximum core per process is allowed.  First number
- # is Kb.
- MAXMEM		(300*16)		# 300K max per process ...
- 
  # DIAGNOSTIC does various run-time checks, some of which are pretty
  # expensive and at a high priority.  Suggested use is when the kernel
  # is crashing and you don't know why, otherwise run with it off.
  DIAGNOSTIC	NO			# misc. diagnostic loops and checks
  
- # The following entries used to be part of the kernel configuration, and,
- # for various reasons, are no longer modifiable.  They are included here
- # for historical information ONLY.  If "YES", they are always included in
- # the kernel, if "NO", they are never included.
- 
- # ACCT			YES		# process accounting
- # DISPLAY		NO		# PDP-11/45/70 display routine
- # INSECURE		NO		# don't clear setuid/gid bits on write
- # INTRLVE		NO		# file system/disk interleaving
- # MENLO_JCL		YES		# job control
- # MENLO_KOV		YES		# kernel uses overlaid call sequence
- # MENLO_OVLY		YES		# support user process text overlays
- # MPX_FILS		NO		# hooks for multiplexed files
- # OLDTTY		YES		# old line discipline
- # RAND_XO		YES		# rand file exclusive open (flock(2))
- # SMALL			YES		# smaller inode, buf, sched queues
- # TEXAS_AUTOBAUD	YES		# tty image mode to support autobauding
- # UCB_AUTOBOOT		YES		# system is able to reboot itself
- # UCB_BHASH		YES		# hashed buffer accessing
- # UCB_DBUF		YES		# use one buffer per disk
- # UCB_DEVERR		YES		# print device errors in mnemonics
- # UCB_ECC		YES		# disk drivers should do ECC
- # UCB_FSFIX		YES		# crash resistant filesystems
- # UCB_GRPMAST		NO		# group master accounts
- # UCB_IHASH		YES		# hashed inode table
- # UCB_LOAD		YES		# load average and uptime
- # UCB_LOGIN		NO		# login sys call
- # UCB_NTTY		YES		# new tty driver
- # UCB_PGRP		NO		# count process limit by process group
- # UCB_RENICE		YES		# renice system call (setpriority(2))
- # UCB_SCRIPT		YES		# shell scripts can specify interpreter
- # UCB_SUBM		YES		# "submit" processing (stty(1))
- # UCB_SYMLINKS		YES		# symbolic links
- # UCB_UPRINTF		YES		# send error messages to user
- # UCB_VHANGUP		YES		# revoke control tty access
- # UNFAST		NO		# don't use inline.h macro speedups
- 
- # DISKMON has been absorbed into UCB_METER.
- # DISKMON		UCB_METER	# iostat disk monitoring
- 
- # BSLOP was a #define in param.c for the TIU/Spider.  It seems that
- # particular printer would DMA a few extra characters for you for free.
- # V7 came with a BSLOP of 2, but it was normally set to 0.  Add the
- # following #defines to param.c, then change all occurrences of BSIZE
- # to bsize.
- #
- #			/* BSLOP can be 0 unless you have a TIU/Spider*/
- #	#define BSLOP	0
- #	int	bsize = BSIZE + BSLOP;		/* size of buffers */
- 
- # The UCB_NKB flag requires changes to UNIX boot pgms as well as changes to
- # dump, restore, icheck, dcheck, ncheck, mkfs.  It includes the options
- # previously known as UCB_SMINO (smaller inodes, NADDR = 7) and UCB_MOUNT
- # (multiple superblocks per internal buffer).  It's measured in KB byte
- # system buffers, it's not just a boolean.  If you're not hearing what
- # I'm saying, don't even *think* of changing it.
- # UCB_NKB		1		# "n" KB byte system buffers
- 
  #########################################
  # PERIPHERALS: DISK DRIVES		#
  #########################################
--- 198,237 ----
  #DUMPROUTINE	xpdump			# xp driver dump routine
  #DUMPROUTINE	tmsdump			# tms driver dump routine
  
  #########################################
  # KERNEL CONFIGURATION			#
  #########################################
  
  BADSECT		NO			# bad-sector forwarding
! EXTERNALITIMES	YES			# map out inode time values
  UCB_CLIST	NO			# clists moved from kernel data space
  NOKA5		NO			# KA5 not used except for buffers
  					# and clists (_end < 0120000);
  QUOTA		NO			# dynamic file system quotas
  					# NOTE -- *very* expensive
  
! # UCB_METER is fairly expensive, but various programs (iostat, vmstat, etc)
! # use it.
  UCB_METER	NO			# vmstat performance metering
  
  # NBUF is the size of the buffer cache, and is directly related to the UNIBUS
  # mapping registers.  There are 32 total mapping registers, of which 30 are
  # available.  The 0'th is used for CLISTS, and the 31st is used for the I/O
! # page on some PDP's.  It's suggested that you allow 7 mapping registers
  # per UNIBUS character device so that you can move 56K of data on each device
  # simultaneously.  The rest should be assigned to the block buffer pool.  So,
  # if you have a DR-11 and a TM-11, you would leave 14 unassigned for them and
  # allocate 16 to the buffer pool.  Since each mapping register addresses 8
  # buffers for a 1K file system, NBUF would be 128.  A possible exception would
! # be to reduce the buffers to save on data space, as they were 24 bytes each
! # Should be 'small' for GENERIC, so room for kernel + large program to run.
! NBUF		32			# buffer cache, *must* be <= 240
  
  # DIAGNOSTIC does various run-time checks, some of which are pretty
  # expensive and at a high priority.  Suggested use is when the kernel
  # is crashing and you don't know why, otherwise run with it off.
  DIAGNOSTIC	NO			# misc. diagnostic loops and checks
  
  #########################################
  # PERIPHERALS: DISK DRIVES		#
  #########################################
***************
*** 445,464 ****
  # PERIPHERALS: TAPE DRIVES		#
  #########################################
  
! NHT		1		# TE16, TU45, TU77
  
  # Setting AVIVTM configures the TM driver for the AVIV 800/1600/6250
  # controller (the standard DEC TM only supports 800BPI).  For more details,
  # see /sys/pdpuba/tm.c.
! NTM		1		# TM11
  AVIVTM		YES		# AVIV 800/1600/6250 controller
  
! NTS		1		# TS11
  
! NTMSCP		1		# TMSCP controllers
! NTMS		1		# TMSCP drives
  TMSCP_DEBUG	NO		# debugging code in TMSCP drive (EXPENSIVE)
- TMSCP_VEC	0260		# base of TMSCP interrupt vectors (OCTAL!!!)
  
  #########################################
  # PERIPHERALS: TERMINALS		#
--- 266,284 ----
  # PERIPHERALS: TAPE DRIVES		#
  #########################################
  
! NHT		2		# TE16, TU45, TU77
  
  # Setting AVIVTM configures the TM driver for the AVIV 800/1600/6250
  # controller (the standard DEC TM only supports 800BPI).  For more details,
  # see /sys/pdpuba/tm.c.
! NTM		2		# TM11
  AVIVTM		YES		# AVIV 800/1600/6250 controller
  
! NTS		2		# TS11
  
! NTMSCP		2		# TMSCP controllers
! NTMS		2		# TMSCP drives
  TMSCP_DEBUG	NO		# debugging code in TMSCP drive (EXPENSIVE)
  
  #########################################
  # PERIPHERALS: TERMINALS		#
***************
*** 468,475 ****
  # It should always be at least 1, for the console.
  NKL		1		# KL11, DL11
  NDH		0		# DH11; NDH is in units of boards (16 each)
  NDM		0		# DM11; NDM is in units of boards (16 each)
! NDHU		0		# DHU11, DHV11
  NDZ		0		# DZ11; NDZ is in units of boards (8 each)
  
  #########################################
--- 288,298 ----
  # It should always be at least 1, for the console.
  NKL		1		# KL11, DL11
  NDH		0		# DH11; NDH is in units of boards (16 each)
+ CS02		NO		# DH units above are really Emulex CS02 
+ 				# boards on a 22bit Qbus.
  NDM		0		# DM11; NDM is in units of boards (16 each)
! NDHU		0		# DHU11
! NDHV		0		# DHV11
  NDZ		0		# DZ11; NDZ is in units of boards (8 each)
  
  #########################################
***************
*** 489,522 ****
  # pointer and the kernel stack pointer don't collide; it's fairly expensive
  # at 4 extra instructions for EVERY function call AND return, always left
  # NO unless doing serious debugging.
! UCB_NET		NO		# TCP/IP
  CHECKSTACK	NO		# Kernel & Supervisor stack pointer checking
  NETHER		0		# ether pseudo-device
  
  # Note, PTY's and the select(2) system call do not require the kernel to
! # be configured for networking (UCB_NET).  Note that you can allocate PTY's
  # in any number (multiples of 8, of 16, even, odd, prime, whatever).  Nothing
  # in the kernel cares.  PTY's cost 78 bytes apiece in kernel data space.  You
! # should probably have at least 16 since so many applications use them:
  # script, jove, window, rlogin, ...
  NPTY		0		# pseudo-terminals - GENERIC sys needs NONE
  
  # To make the 3Com Ethernet board work correctly, splimp has to be promoted
  # to spl6; splfix files that do this are in conf/3Com; the config script
! # hopefully does the right thing.
  NEC		0		# 3Com Ethernet
  NDE		0		# DEUNA/DELUA
  NIL		0		# Interlan Ethernet
  NSL		0		# Serial Line IP
  NQE		0		# DEQNA
  NVV		0		# V2LNI (Pronet)
  NACC		0		# ACC LH/DH ARPAnet IMP interface
  PLI		NO		# LH/DH is connected to a PLI
  NIMP		0		# ARPAnet IMP 1822 interface
  
! # The following devices are untested in 2.10BSD; some are untested since
! # before 2.9BSD.  Some won't even compile.  Most will require modification
! # of various Makefiles to include the correct source.  Good luck.
  ENABLE34	NO		# if have the ENABLE34 board
  
  NCSS		0		# DEC/CSS IMP11-A ARPAnet IMP interface
--- 312,345 ----
  # pointer and the kernel stack pointer don't collide; it's fairly expensive
  # at 4 extra instructions for EVERY function call AND return, always left
  # NO unless doing serious debugging.
! INET		NO		# TCP/IP
  CHECKSTACK	NO		# Kernel & Supervisor stack pointer checking
  NETHER		0		# ether pseudo-device
  
  # Note, PTY's and the select(2) system call do not require the kernel to
! # be configured for networking (INET).  Note that you can allocate PTY's
  # in any number (multiples of 8, of 16, even, odd, prime, whatever).  Nothing
  # in the kernel cares.  PTY's cost 78 bytes apiece in kernel data space.  You
! # should probably have at least 8-10 since several applications use them:
  # script, jove, window, rlogin, ...
  NPTY		0		# pseudo-terminals - GENERIC sys needs NONE
  
  # To make the 3Com Ethernet board work correctly, splimp has to be promoted
  # to spl6; splfix files that do this are in conf/3Com; the config script
! # does the right thing.
  NEC		0		# 3Com Ethernet
  NDE		0		# DEUNA/DELUA
  NIL		0		# Interlan Ethernet
  NSL		0		# Serial Line IP
  NQE		0		# DEQNA
+ NQT		0		# DEQTA (DELQA-YM, DELQA-PLUS)
  NVV		0		# V2LNI (Pronet)
  NACC		0		# ACC LH/DH ARPAnet IMP interface
  PLI		NO		# LH/DH is connected to a PLI
  NIMP		0		# ARPAnet IMP 1822 interface
  
! # The following are untested in 2.11BSD; some are untested since before 2.9BSD
! # Some won't even compile.  Most will require modification.  Good luck.
  ENABLE34	NO		# if have the ENABLE34 board
  
  NCSS		0		# DEC/CSS IMP11-A ARPAnet IMP interface
***************
*** 526,528 ****
--- 349,367 ----
  NS		0		# Xerox NS (XNS)
  NSRI		0		# SRI DR11c ARPAnet IMP
  NTB		0		# RS232 interface for Genisco/Hitachi tablets
+ 
+ # Defining FPSIM to YES compiles a floating point simulator into the kernel
+ # which will catch floating point instruction traps from user space.  This
+ # doesn't work at present.
+ FPSIM		NO			# floating point simulator
+ 
+ # To enable profiling, the :splfix script must be changed to use spl6 instead
+ # of spl7 (see conf/:splfix.profile), also, you have to have a machine with a
+ # supervisor PAR/PDR pair, i.e. an 11/44/45/50/53/55/70/73/83/84, as well
+ # as both a KW11-L and a KW11-P.
+ #
+ # Note that profiling is not currently working.  We don't have any plans on
+ # fixing it, so this is essentially a non-supported feature.
+ PROFILE		NO			# system profiling with KW11P clock
+ 
+ CGL_RTP		NO			# allow one real time process
