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 -----
(as given by "uname -m") by which you can specify which
architectures the port is appropriate for.
Idea borrowed from: NetBSD, OpenBSD
Reviewed by: simokawa
(2) New variable PERL_ARCH (value: ${ARCH}-freebsd) that is also
passed to ${PLIST_SUB}. Use it to simplify PLISTs.
Submitted by: simokawa
(3) Check OSVERSION as well as existence of /usr/bin/perl5 before
assuming USE_PERL5 is to be a no-op. Basically to allow building
of 2.2-INDEX on a 3.0 machine.
(4) Change USE_QT definition to use new shlib version (2) and
directory (qt142).
(5) Uncomment temporary Motif dependency for parallel package
building. We still need to figure out a way to install the pkg
database files, but it's a start.
(6) Move EXTRACT_SUFX up into the pre.mk area so it can be used in
exists() tests.
(7) Add MASTER_SITE_COMP_SOURCES. Note that this is defined like
"/pub/usenet/comp.sources.%SUBDIR%/" so you can specify something
like "SUBDIR=x/volume18" to select the newsgroup as well as
subdirectory name.
Submitted by: "distfiles" fenner
(8) Other misc. master site cleanup.
Submitted by: "distfiles" fenner
(9) New target "maintainer". I intend to use it to auto-mail failure
build failure notices to the maintainer.
+ ECP parallel port chipset FIFO detection
+ DMA+FIFO parallel I/O handled as chipset specific
+ nlpt updated in order to use the above enhanced parallel I/O.
Use 'lptcontrol -e' to use enhanced I/O
+ Various options documented in LINT
+ Full IEEE1284 NIBBLE and BYTE modes support. See ppbus(4) for
an overview of the IEEE1284 standard
+ Detection of PnP parallel devices at boot
+ Read capability added to nlpt driver to get IEEE1284 compliant
printer status with a simple 'cat /dev/lpt0'
+ IEEE1284 peripheral emulation added to BYTE mode. Two computers
may dialog according to IEEE1284 signaling method.
See PERIPH_1284 option and /sys/dev/ppbus/ppi.c
All this code is supposed to provide basic functions for IEEE1284 programming.
ppi.c and nlpt.c may act as examples.
than ".so". The old extension conflicted with well-established
naming conventions for dynamically loadable modules.
The "clean" targets continue to remove ".so" files too, to deal with
old systems.
on the ASIX AX88140A chip. Update /sys/conf/files, RELNOTES.TXT,
/sys/i388/i386/userconfig.c, sysinstall/devices.c, GENERIC and LINT
accordingly.
For now, the only board that I know of that uses this chip is the
Alfa Inc. GFC2204. (Its predecessor, the GFC2202, was a DEC tulip card.)
Thanks again to Ulf for obtaining the board for me. If anyone runs
across another, please feel free to update the man page and/or the
release notes. (The same applies for the other drivers.)
FreeBSD should now have support for all of the DEC tulip workalike
chipsets currently on the market (Macronix, Lite-On, Winbond, ASIX).
And unless I'm mistaken, it should also have support for all PCI fast
ethernet chipsets in general (except maybe the SMC FEAST chip, which
nobody seems to ever use, including SMC). Now if only we could convince
3Com, Intel or whoever to cough up some documentation for gigabit
ethernet hardware.
Also updated RELNOTEX.TXT to mention that the SVEC PN102TX is supported
by the Macronix driver (assuming you actually have an SVEC PN102TX with
a Macronix chip on it; I tried to order a PN102TX once and got a box
labeled 'Hawking Technology PN102TX' that had a VIA Rhine board inside
it).
-add "depends" to list of recursive targets
-consistent capitilization of FreeBSD.ORG
-remove description of PATCH_DEBUG
-add .Xr to portcheckout(1) and pib(1)
ISDN4BSD is the work of our brand-new comitter: Hellmuth Michaelis,
who has done a tremendous amount of work to bring us this far.
There are still some outstanding issues and files to bring into
the tree, and for now it will be needed to pick up all the extra
docs from the isdn4bsd release.
It is probably also a very good idea to subscribe to the isdn@freebsd.org
mailing list before you try this out.
These files correspond to release "beta Version 0.70.00 / December
1998" from Hellmuth.
- Get the (tm) signal correct in nroff versions
- Correct highlighting (docs/9196)
Sigh. This is still a long way from being correct. In particular,
the states are both incorrect, and they don't format properly in
troff. But it will have to wait until I stop changing the meanings of
the states.
hacker -> intruder (couldn't desired between this and 'cracker')
config -> configuration
sorted crossreferences
spell checked
Overall very good content, but we need one of our wordsmiths to change the
tone to match the CSRG manpages.
corelate
corelated
corelation
corelative
corelatively
My Random-House dictionary doesn't list them, and grog says (paraphrased):
SOED only accepts 'corelate's, and it just notes corelate as an
alternative (and obviously not exactly mainstream) spelling for
correlate.
(yes these spellings tripped me)
ethernet driver.
The BUGS section is still impressive, but the driver seems to work for
me now. Disclaimer: i haven't been able to test this under -current
so far (but it compiles, and the notebook it's intended for can now be
updated to -current more easy than before). Don't be afraid of the
many #ifdefs on __FreeBSD_version in the imported file; i want them in
the repository on the vendor-branch so other people can also manually
integrate it into older systems. I'll clean it up on the -current
branch in a followup commit. The vendor-banch version right now
supports systems back to 2.2R.
This driver should be layered upon ppc(4), but i currently have no
idea how to do this.
Eventually i'll further develop the driver to also support the more
modern RTL 8012 success, which seems to be present in a number of
cheap pocket ethernet adapters these days. Right now, i doubt it will
run with the 8012 without any changes.
Finally a big Thanks! to RealTek for promptly providing me with
documentation and with the source code for the 8012 pocket driver upon
request. I wish all vendors were that cooperative!.
mechanisms. It is a little light on detail but still a pretty good
overview. I suggest that for specific detail (such as, for example,
how to setup kerberos), that additional security-DETAILNAME man pages
be written and refered to.
don't recurse in "make describe". The new INDEX target in
ports/Makefile invokes a perl script to recurse and convert them
into package names.
While I'm here, change the name of targets and move them around a
little bit for the sake of consistency.
It is also probably worth noting here that the meaning of the
"build dependency" list in INDEX has been changed slightly
changed. The old list was "build depends and its build depends"
-- not particularly useful if you had things like autoconf, which
run-depend on gm4 (you install all the things listed here and
you'll get an autoconf that won't run).
It is now "build depends and its run depends" -- you install
everything listed here, and you'll be able to build the port.
Submitted by: steve
(0') Fast README.html generation. It uses ports/INDEX to find
dependencies instead of embarking on to a recursive loop.
Submitted by: steve
(1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily
replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right
side), and they get in the way of read-only port trees.
(2) Surround first few variable definitions with ".if !defined()".
This will make cross-compilation easier and also speed up make
processes.
(3) Call sysctl with absolute path. Prefer the one in /sbin over the
one in /usr/sbin.
(4) Add four new variables
PKGINSTALL?= ${PKGDIR}/INSTALL
PKGDEINSTALL?= ${PKGDIR}/DEINSTALL
PKGREQ?= ${PKGDIR}/REQ
PKGMESSAGE?= ${PKGDIR}/MESSAGE
and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is
strongly discouraged.
(5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is
defined. This is intended only for our own use.
(6) Add more sites to MASTER_SITE_GNU.
Submitted by: billf
(7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is
defined. This is intended only for our own use.
(8) Add new target "ignorelist" which will print out the package name
if the port is not going to be built on this machine. This is
intended only for our own use.
(9) Make mtree a little quieter.
that are misinterpreted by echo(1) aren't.
PR: docs/8757
Submitted By: Takeshi OHASHI <ohashi@mickey.ai.kyutech.ac.jp>
Sergei Laskavy <laskavy@gambit.msk.su>
as a RealTek 8139
if_rlreg.h: use bus_space_read_X() in CSR_READ_X() macros instead of
directly calling inb()/outb() etc...
rl.4 + RELNOTES.TXT: mention that SMC EtherEZ PCI 1211-TX is supported
by the RealTek driver
PCI fast ethernet adapters, plus man pages.
if_pn.c: Netgear FA310TX model D1, LinkSys LNE100TX, Matrox FastNIC 10/100,
various other PNIC devices
if_mx.c: NDC Communications SOHOware SFA100 (Macronix 98713A), various
other boards based on the Macronix 98713, 98713A, 98715, 98715A
and 98725 chips
if_vr.c: D-Link DFE530-TX, other boards based on the VIA Rhine and
Rhine II chips (note: the D-Link and certain other cards
that actually use a Rhine II chip still return the PCI
device ID of the Rhine I. I don't know why, and it doesn't
really matter since the driver treats both chips the same
anyway.)
if_wb.c: Trendware TE100-PCIE and various other cards based on the
Winbond W89C840F chip (the Trendware card is identical to
the sample boards Winbond sent me, so who knows how many
clones there are running around)
All drivers include support for ifmedia, BPF and hardware multicast
filtering.
Also updated GENERIC, LINT, RELNOTES.TXT, userconfig and
sysinstall device list.
I also have a driver for the ASIX AX88140A in the works.
break one way or another. With it goes the package-loop and the
describe loop.
(2) Add new variable MASTERDIR to make it easier to share files between ports.
bsd.port.mk will find things like ${PKGDIR} underneath
${MASTERDIR} (which defaults to ${.CURDIR}).
(3) Do not allow MD5_FILE to be renamed. Funny things can happen if
you do that.
(4) Use a few more absolute paths in the bsd.port.pre.mk part. I
can't use absolute paths for sysctl because it moved recently.
a few variables that could be used in the port Makefile for ".if exists()"
tests. bsd.port.post.mk defines the rest.
Note: if you define USE_X_PREFIX or USE_IMAKE, put it before including
bsd.port.pre.mk. These are the only two variables used in the first part.
In reality, bsd.port.pre.mk and bsd.port.post.mk just include bsd.port.mk
with special variables to turn part of it off.
list. The old MAKE_FLAGS was a little hard to use since it had a weird
default ("-f").
Suggested by: Shigeyuki FUKUSHIMA <shige@kuis.kyoto-u.ac.jp>
(2) Add new targets clean-restricted and clean-for-cdrom, which will
delete RESTRICTED and NO_CDROM packages and distfiles from the top.
Reviewed by: jkh
(3) Add depends to list of things to recurse on. It will help people
who are trying to fetch some ports plus their dependencies.
Requested by: Chris Dillon <cdillon@wolves.k12.mo.us>
packages from a single port. LOOP_VAR is the name of the variable
and LOOP_OPTIONS is a space-separated list of values it should
take. When these are set, the target "package-loop" will go
through a clean and package loop for all the options. The
"package-loop" target is defined as "package" when LOOP_VAR is not
defined, so if you are in the business for building packages, you
should use "package-loop" all the time. (This target is added to
bsd.port.subdir.mk too.)
Also, the "describe" target prints out multiple lines so that all
options will go into the INDEX. (In other words, if you define
these variables, INDEX is going to look real silly if you don't
put ${${LOOP_VAR}} in PKGNAME.)
Seconded by: obrien ("ANYTHING")
(2) Turn off regexp support for LIB_DEPENDS. It is a fixed string of
the form <NAME>.<VER> now.
Tested by: several rounds of complete package builds
(3) Check checksum even if NO_EXTRACT is defined.
(4) Cosmetic fix for message in MANUAL_PACKAGE_BUILD case.
configured in drivers.
Attempted to update the generated interrupt handler attachment to the
current "temporary" method. Not tested. To test it, someone would first
have to fix the bitrot in the ioctl command arg type.
configured in drivers.
Quote the last few args to form 1 arg. Quoting them in pairs almost
defeated the point of quoting them, which is to reduce the arg count
to <= 9.
Alpha. This is a minor, but important distinction. Should be a no-op
to the install base. If OBJFORMAT is set elsewhere, things work
exactly as they did before.
SCSI controllers, respectively.
Once these drivers are tested on the alpha, these man pages can probably be
moved up a directory to reflect the fact that they're architecture
independent.
An mdoc guru should probably look at the AUTHORS sections in both of these
pages -- the .An macro seems to cause strange spacing problems.
Reviewed by: ken
Submitted by: gibbs
as cam(4) as well.
This includes a description of all the generic CAM kernel options, as
well as a description of some of the CAM debugging printf options.
st(4) man page.
Take out most of the sd(4) and st(4) man pages and point to the new
da(4) and sa(4) man pages.
Add sa.4 to the makefile.
Reviewed by: ken
Submitted by: gibbs
driver, and point users in the right direction for similar functionality.
The functionality that used to be provided there is now provided by the
cd(4) driver and cdrecord.
Fix cross-references in a few other man pages. (i.e. delete references to
things I haven't written yet)