The Eighth Edition is *not* descended from the Seventh Edition.
Submitted by: Greg Lehey <grog@lemis.com>
and Dennis Ritchie
Here's a quote from Dennis Ritchie, posted to Warren Toomey:
[January 1999]
----- Forwarded message from dmr -----
I also got mail from Norman Wilson today about the discussion.
This is mainly to confirm and fill out details of Wilson's account.
The Eighth Edition system started with (I believe) BSD 4.1c and
the work was done on VAX 11/750s -- our group did not get
a 780 until a while later.
Most of the operating system superstructure of BSD was retained
(in particular no one (even the indefatigable Norman)
wanted to get much into the paging code. Norman is also
right that the competitor was John Reiser's (and Tom London's)
32V descendant from another group at the Labs. In structure
this system had a lot to offer (in particular the buffer cache and the page
pool were unified, but it was clear that their work was not being
supported by their own management. It was used for a while on
our first 750 and also our first 11/780 ("alice", a name that lives
in netnews fame preceding the reach of Dejanews).
The big change leading to V8 was the scooping-out and replacement of
the character-device and networking part by the streams mechanism. Later,
Peter Weinberger added the file-system switch that enabled
remote file systems and prescient things ideas like /proc). Weinberger,
as Norman said, also did a simple-minded FFS.
The TCP/IP stack wasn't very important to us then and it has a mixed and
murky history. Much of it came from early CSRG work, but it was converted
to a streams approach by Robert Morris and subsequently fiddled over a lot.
Likewise, as Norman said, the applications (/bin and whatnot) were somewhat
of a mixture. Many were the locally-done versions, some were taken
from BSD in some incarnation, some from System V.
Dennis
----- End of forwarded message from dmr -----
if option CY_PCI_FASTINTR is configured and mapping the irq to a
fastintr is possible. Unfortunately, this has to be optional because
pci_map_int_right() doesn't handle the INTR_EXCL flag right --
INTR_EXCL is honoured even if the interrupt needs to be non-exclusive
for other devices to work.
buffer had to be left on the head of the queue for [bufq]disksort()
to sort against. This isn't right for devices that can support multiple
active i/o's, and only the fd driver did it. "Fixing" this in rev.1.36
of ufs_disksubr.c broke the fd driver in much the same way as rev.1.52
of <sys/buf.h> broke it (see rev.1.119).
Bug reported and fix tested by: dt
Make two digit years specified on the command line represent
the century that the computer currently resides. So 99 means
1999 this year, but 2099 next year.
Pointed out by: Peter Jeremy <peter.jeremy@auss2.alcatel.com.au>
black hole device. The controller will now only accept selections if
the black hole device is present and some other target/lun is enabled
for target mode.
Handle the IGNORE WIDE RESIDUE message. This support has not been tested.
Checkpoint work on handling ABORT, BUS DEVICE RESET, TERMINATE I/O PROCESS,
and CLEAR QUEUE messages as a target.
Fix a few problems with tagged command handling in target mode.
Wait until the sync offset counter falls to 0 before changing phase
after a data-in transfer completes as the DMA logic seems to indicate
transfer complete as soon as our last REQ is issued.
Simplify some of the target mode message handling code in the sequencer.
'Black Hole' device uses this feature to schedule itself against any
target or lun attached to a controller that receives an unwanted request
from an initiator instead of having an instance per potential target/lun
request.
Use the wildcard entries to simplify wildcard async callback storage.
Don't announce devices twice to peripheral drivers. The devices will
be announced as soon as the AC_PATH_REGISTERED event is registered by
the peripheral driver, so no manaul push of this event is required.
Reviewed by: Kenneth Merry <ken@FreeBSD.org>