History log of /freebsd-10.1-release/sys/conf/NOTES
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 272461 02-Oct-2014 gjb

Copy stable/10@r272459 to releng/10.1 as part of
the 10.1-RELEASE process.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 272313 30-Sep-2014 bz

MFC 271745,271834,271899,271900,271913,272022,272023:

Revert changes to shared code of the ixl and ixlv drivers to allow
for easier long-term maintainability.

Restrict the drivers to building on amd64 for now as it is
only tested on that 64bit architecture.

Just depend on PCI and neither INET nor INET6; also make sure we
can build individual drivers and they do not depend on each other
anymore.

Reviewed by: gnn, eric.joyner intel.com
PR: 193824
Approved by: re (gjb)


# 271234 07-Sep-2014 markj

MFC r271137:
Add mrsas(4) to GENERIC for i386 and amd64.

Approved by: re (gjb)


# 270919 01-Sep-2014 jfv

MFC of 270755, 270772, 270773, 270775, 270799, 270806, 270807, 270820
Enable the build of the Intel XL710 drivers, and fixes for that build.


# 270892 31-Aug-2014 trasz

MFC r270096:

Bring in the new automounter, similar to what's provided in most other
UNIX systems, eg. MacOS X and Solaris. It uses Sun-compatible map format,
has proper kernel support, and LDAP integration.

There are still a few outstanding problems; they will be fixed shortly.

Reviewed by: allanjude@, emaste@, kib@, wblock@ (earlier versions)
Phabric: D523
Relnotes: yes
Sponsored by: The FreeBSD Foundation


# 268091 01-Jul-2014 ae

MFC r267355:
Add UUIDs for DragonFlyBSD's partition types.

MFC r267356:
Add DragonFlyBSD's Hammer FS types and type names.

MFC r267357:
Add aliases for DragonFlyBSD's partition types.

MFC r267358:
Allow dumping to DragonFlyBSD's swap partition.

MFC r267359:
Add disklabel64 support to GEOM_PART class.

This partitioning scheme is used in DragonFlyBSD. It is similar to
BSD disklabel, but has the following improvements:
* metadata has own dedicated place and isn't accessible through partitions;
* all offsets are 64-bit;
* supports 16 partitions by default (has reserved place for more);
* has reserved place for backup label (but not yet implemented);
* has UUIDs for partitions and partition types;

MFC r267360:
Add disklabel64 support

Relnotes: yes


# 267036 04-Jun-2014 lwhsu

MFC r266335:

Add axge(4) to LINT

Approved by: kevlo


# 266273 16-May-2014 ian

MFC 264304: Really only allow IMGACT_BINMISC for amd64/i386 builds.


# 266272 16-May-2014 sbruno

MFC r264269, r264282, r264280, r264291, r264276, r264314

Merge sson's binmiscctl and image activator features to stable/10

Submitted by: sson@freebsd.org


# 265536 07-May-2014 marius

MFC: r265248

Allow GEOM_VINUM to be statically compiled into the kernel.

Submitted by: gleb


# 262363 23-Feb-2014 hselasky

MFC r261541, r261543 and r261544:
Import USB RNDIS driver to FreeBSD from OpenBSD.
Useful for so-called USB tethering.
- Imported code from OpenBSD
- Adapted code to FreeBSD
- Removed some unused functions
- Fixed some buffer encoding and decoding issues
- Optimised data transport path a bit, by sending multiple packets at a time
- Increased receive buffer to 16K


# 261509 05-Feb-2014 hselasky

MFC r261260, r261262, r261315 and r261343:
Add support for trackpads found in Apple MacBook products. While at it
add some missing devd entries.


# 256381 12-Oct-2013 markm

Merge from project branch via main. Uninteresting commits are trimmed.

Refactor of /dev/random device. Main points include:

* Userland seeding is no longer used. This auto-seeds at boot time
on PC/Desktop setups; this may need some tweeking and intelligence
from those folks setting up embedded boxes, but the work is believed
to be minimal.

* An entropy cache is written to /entropy (even during installation)
and the kernel uses this at next boot.

* An entropy file written to /boot/entropy can be loaded by loader(8)

* Hardware sources such as rdrand are fed into Yarrow, and are no
longer available raw.

------------------------------------------------------------------------
r256240 | des | 2013-10-09 21:14:16 +0100 (Wed, 09 Oct 2013) | 4 lines

Add a RANDOM_RWFILE option and hide the entropy cache code behind it.
Rename YARROW_RNG and FORTUNA_RNG to RANDOM_YARROW and RANDOM_FORTUNA.
Add the RANDOM_* options to LINT.

------------------------------------------------------------------------
r256239 | des | 2013-10-09 21:12:59 +0100 (Wed, 09 Oct 2013) | 2 lines

Define RANDOM_PURE_RNDTEST for rndtest(4).

------------------------------------------------------------------------
r256204 | des | 2013-10-09 18:51:38 +0100 (Wed, 09 Oct 2013) | 2 lines

staticize struct random_hardware_source

------------------------------------------------------------------------
r256203 | markm | 2013-10-09 18:50:36 +0100 (Wed, 09 Oct 2013) | 2 lines

Wrap some policy-rich code in 'if NOTYET' until we can thresh out
what it really needs to do.

------------------------------------------------------------------------
r256184 | des | 2013-10-09 10:13:12 +0100 (Wed, 09 Oct 2013) | 2 lines

Re-add /dev/urandom for compatibility purposes.

------------------------------------------------------------------------
r256182 | des | 2013-10-09 10:11:14 +0100 (Wed, 09 Oct 2013) | 3 lines

Add missing include guards and move the existing ones out of the
implementation namespace.

------------------------------------------------------------------------
r256168 | markm | 2013-10-08 23:14:07 +0100 (Tue, 08 Oct 2013) | 10 lines

Fix some just-noticed problems:

o Allow this to work with "nodevice random" by fixing where the
MALLOC pool is defined.

o Fix the explicit reseed code. This was correct as submitted, but
in the project branch doesn't need to set the "seeded" bit as this
is done correctly in the "unblock" function.

o Remove some debug ifdeffing.

o Adjust comments.

------------------------------------------------------------------------
r256159 | markm | 2013-10-08 19:48:11 +0100 (Tue, 08 Oct 2013) | 6 lines

Time to eat crow for me.

I replaced the sx_* locks that Arthur used with regular mutexes;
this turned out the be the wrong thing to do as the locks need to
be sleepable. Revert this folly.

# Submitted by: Arthur Mesh <arthurmesh@gmail.com> (In original diff)

------------------------------------------------------------------------
r256138 | des | 2013-10-08 12:05:26 +0100 (Tue, 08 Oct 2013) | 10 lines

Add YARROW_RNG and FORTUNA_RNG to sys/conf/options.

Add a SYSINIT that forces a reseed during proc0 setup, which happens
fairly late in the boot process.

Add a RANDOM_DEBUG option which enables some debugging printf()s.

Add a new RANDOM_ATTACH entropy source which harvests entropy from the
get_cyclecount() delta across each call to a device attach method.

------------------------------------------------------------------------
r256135 | markm | 2013-10-08 07:54:52 +0100 (Tue, 08 Oct 2013) | 8 lines

Debugging. My attempt at EVENTHANDLER(multiuser) was a failure; use
EVENTHANDLER(mountroot) instead.

This means we can't count on /var being present, so something will
need to be done about harvesting /var/db/entropy/... .

Some policy now needs to be sorted out, and a pre-sync cache needs
to be written, but apart from that we are now ready to go.

Over to review.

------------------------------------------------------------------------
r256094 | markm | 2013-10-06 23:45:02 +0100 (Sun, 06 Oct 2013) | 8 lines

Snapshot.

Looking pretty good; this mostly works now. New code includes:

* Read cached entropy at startup, both from files and from loader(8)
preloaded entropy. Failures are soft, but announced. Untested.

* Use EVENTHANDLER to do above just before we go multiuser. Untested.

------------------------------------------------------------------------
r256088 | markm | 2013-10-06 14:01:42 +0100 (Sun, 06 Oct 2013) | 2 lines

Fix up the man page for random(4). This mainly removes no-longer-relevant
details about HW RNGs, reseeding explicitly and user-supplied
entropy.

------------------------------------------------------------------------
r256087 | markm | 2013-10-06 13:43:42 +0100 (Sun, 06 Oct 2013) | 6 lines

As userland writing to /dev/random is no more, remove the "better
than nothing" bootstrap mode.

Add SWI harvesting to the mix.

My box seeds Yarrow by itself in a few seconds! YMMV; more to follow.

------------------------------------------------------------------------
r256086 | markm | 2013-10-06 13:40:32 +0100 (Sun, 06 Oct 2013) | 11 lines

Debug run. This now works, except that the "live" sources haven't
been tested. With all sources turned on, this unlocks itself in
a couple of seconds! That is no my box, and there is no guarantee
that this will be the case everywhere.

* Cut debug prints.

* Use the same locks/mutexes all the way through.

* Be a tad more conservative about entropy estimates.

------------------------------------------------------------------------
r256084 | markm | 2013-10-06 13:35:29 +0100 (Sun, 06 Oct 2013) | 5 lines

Don't use the "real" assembler mnemonics; older compilers may not
understand them (like when building CURRENT on 9.x).

# Submitted by: Konstantin Belousov <kostikbel@gmail.com>

------------------------------------------------------------------------
r256081 | markm | 2013-10-06 10:55:28 +0100 (Sun, 06 Oct 2013) | 12 lines

SNAPSHOT.

Simplify the malloc pools; We only need one for this device.

Simplify the harvest queue.

Marginally improve the entropy pool hashing, making it a bit faster
in the process.

Connect up the hardware "live" source harvesting. This is simplistic
for now, and will need to be made rate-adaptive.

All of the above passes a compile test but needs to be debugged.

------------------------------------------------------------------------
r256042 | markm | 2013-10-04 07:55:06 +0100 (Fri, 04 Oct 2013) | 25 lines

Snapshot. This passes the build test, but has not yet been finished or debugged.

Contains:

* Refactor the hardware RNG CPU instruction sources to feed into
the software mixer. This is unfinished. The actual harvesting needs
to be sorted out. Modified by me (see below).

* Remove 'frac' parameter from random_harvest(). This was never
used and adds extra code for no good reason.

* Remove device write entropy harvesting. This provided a weak
attack vector, was not very good at bootstrapping the device. To
follow will be a replacement explicit reseed knob.

* Separate out all the RANDOM_PURE sources into separate harvest
entities. This adds some secuity in the case where more than one
is present.

* Review all the code and fix anything obviously messy or inconsistent.
Address som review concerns while I'm here, like rename the pseudo-rng
to 'dummy'.

# Submitted by: Arthur Mesh <arthurmesh@gmail.com> (the first item)

------------------------------------------------------------------------
r255319 | markm | 2013-09-06 18:51:52 +0100 (Fri, 06 Sep 2013) | 4 lines

Yarrow wants entropy estimations to be conservative; the usual idea
is that if you are certain you have N bits of entropy, you declare
N/2.

------------------------------------------------------------------------
r255075 | markm | 2013-08-30 18:47:53 +0100 (Fri, 30 Aug 2013) | 4 lines

Remove short-lived idea; thread to harvest (eg) RDRAND enropy into the
usual harvest queues. It was a nifty idea, but too heavyweight.

# Submitted by: Arthur Mesh <arthurmesh@gmail.com>

------------------------------------------------------------------------
r255071 | markm | 2013-08-30 12:42:57 +0100 (Fri, 30 Aug 2013) | 4 lines

Separate out the Software RNG entropy harvesting queue and thread
into its own files.

# Submitted by: Arthur Mesh <arthurmesh@gmail.com>

------------------------------------------------------------------------
r254934 | markm | 2013-08-26 20:07:03 +0100 (Mon, 26 Aug 2013) | 2 lines

Remove the short-lived namei experiment.

------------------------------------------------------------------------
r254928 | markm | 2013-08-26 19:35:21 +0100 (Mon, 26 Aug 2013) | 2 lines

Snapshot; Do some running repairs on entropy harvesting. More needs
to follow.

------------------------------------------------------------------------
r254927 | markm | 2013-08-26 19:29:51 +0100 (Mon, 26 Aug 2013) | 15 lines

Snapshot of current work;

1) Clean up namespace; only use "Yarrow" where it is Yarrow-specific
or close enough to the Yarrow algorithm. For the rest use a neutral
name.

2) Tidy up headers; put private stuff in private places. More could
be done here.

3) Streamline the hashing/encryption; no need for a 256-bit counter;
128 bits will last for long enough.

There are bits of debug code lying around; these will be removed
at a later stage.

------------------------------------------------------------------------
r254784 | markm | 2013-08-24 14:54:56 +0100 (Sat, 24 Aug 2013) | 39 lines

1) example (partially humorous random_adaptor, that I call "EXAMPLE")
* It's not meant to be used in a real system, it's there to show how
the basics of how to create interfaces for random_adaptors. Perhaps
it should belong in a manual page

2) Move probe.c's functionality in to random_adaptors.c
* rename random_ident_hardware() to random_adaptor_choose()

3) Introduce a new way to choose (or select) random_adaptors via tunable
"rngs_want" It's a list of comma separated names of adaptors, ordered
by preferences. I.e.:
rngs_want="yarrow,rdrand"

Such setting would cause yarrow to be preferred to rdrand. If neither of
them are available (or registered), then system will default to
something reasonable (currently yarrow). If yarrow is not present, then
we fall back to the adaptor that's first on the list of registered
adaptors.

4) Introduce a way where RNGs can play a role of entropy source. This is
mostly useful for HW rngs.

The way I envision this is that every HW RNG will use this
functionality by default. Functionality to disable this is also present.
I have an example of how to use this in random_adaptor_example.c (see
modload event, and init function)

5) fix kern.random.adaptors from
kern.random.adaptors: yarrowpanicblock
to
kern.random.adaptors: yarrow,panic,block

6) add kern.random.active_adaptor to indicate currently selected
adaptor:
root@freebsd04:~ # sysctl kern.random.active_adaptor
kern.random.active_adaptor: yarrow

# Submitted by: Arthur Mesh <arthurmesh@gmail.com>

Submitted by: Dag-Erling Smørgrav <des@FreeBSD.org>, Arthur Mesh <arthurmesh@gmail.com>
Reviewed by: des@FreeBSD.org
Approved by: re (delphij)
Approved by: secteam (des,delphij)


# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 255736 20-Sep-2013 davidch

Substantial rewrite of bxe(4) to add support for the BCM57712 and
BCM578XX controllers.

Approved by: re
MFC after: 4 weeks


# 255608 16-Sep-2013 kib

Remove zero-copy sockets code. It only worked for anonymous memory,
and the equivalent functionality is now provided by sendfile(2) over
posix shared memory filedescriptor.

Remove the cow member of struct vm_page, and rearrange the remaining
members. While there, make hold_count unsigned.

Requested and reviewed by: alc
Tested by: pho
Sponsored by: The FreeBSD Foundation
Approved by: re (delphij)


# 254534 19-Aug-2013 ian

Allow UART_POLL_FREQ to be set as a kernel option as well as via tunable
(the code was already set up for this, just needs to be in conf/options).

Also, if reporting that polling is being used, report the frequency too.


# 253845 31-Jul-2013 obrien

Back out r253779 & r253786.


# 253789 30-Jul-2013 rpaulo

Import OpenBSD's rsu(4) WLAN driver.
Support chipsets are the Realtek RTL8188SU, RTL8191SU, and RTL8192SU.

Many thanks to Idwer Vollering for porting/writing the man page and for
testing.

Reviewed by: adrian, hselasky
Obtained from: OpenBSD
Tested by: kevlo, Idwer Vollering <vidwer at gmail.com>


# 253779 29-Jul-2013 obrien

Decouple yarrow from random(4) device.

* Make Yarrow an optional kernel component -- enabled by "YARROW_RNG" option.
The files sha2.c, hash.c, randomdev_soft.c and yarrow.c comprise yarrow.

* random(4) device doesn't really depend on rijndael-*. Yarrow, however, does.

* Add random_adaptors.[ch] which is basically a store of random_adaptor's.
random_adaptor is basically an adapter that plugs in to random(4).
random_adaptor can only be plugged in to random(4) very early in bootup.
Unplugging random_adaptor from random(4) is not supported, and is probably a
bad idea anyway, due to potential loss of entropy pools.
We currently have 3 random_adaptors:
+ yarrow
+ rdrand (ivy.c)
+ nehemeiah

* Remove platform dependent logic from probe.c, and move it into
corresponding registration routines of each random_adaptor provider.
probe.c doesn't do anything other than picking a specific random_adaptor
from a list of registered ones.

* If the kernel doesn't have any random_adaptor adapters present then the
creation of /dev/random is postponed until next random_adaptor is kldload'ed.

* Fix randomdev_soft.c to refer to its own random_adaptor, instead of a
system wide one.

Submitted by: arthurmesh@gmail.com, obrien
Obtained from: Juniper Networks
Reviewed by: obrien


# 252356 28-Jun-2013 davide

- Trim an unused and bogus Makefile for mount_smbfs.
- Reconnect with some minor modifications, in particular now selsocket()
internals are adapted to use sbintime units after recent'ish calloutng
switch.


# 251538 08-Jun-2013 rpaulo

Import Kevin Lo's port of urtwn(4) from OpenBSD. urtwn(4) is a driver for the
Realtek RTL8188CU/RTL8192CU USB IEEE 802.11b/g/n wireless cards.
This driver requires microcode which is available in FreeBSD ports:
net/urtwn-firmware-kmod.

Hiren ported the urtwn(4) man page from OpenBSD and Glen just commited a port
for the firmware.

TODO:
- 802.11n support
- Stability fixes - the driver can sustain lots of traffic but has trouble
coping with simultaneous iperf sessions.
- fix debugging

MFC after: 2 months
Tested by: kevlo, hiren, gjb


# 250700 16-May-2013 julian

Finally change the mbuf to have its own fib field instead of stealing
4 flag bits. This was supposed to happen in 8.0, and again in 2012..

MFC after: never


# 250338 07-May-2013 attilio

Rename VM_NDOMAIN into MAXMEMDOM and move it into machine/param.h in
order to match the MAXCPU concept. The change should also be useful
for consolidation and consistency.

Sponsored by: EMC / Isilon storage division
Obtained from: jeff
Reviewed by: alc


# 249927 26-Apr-2013 glebius

Add usie to LINT.


# 249348 10-Apr-2013 sbruno

options DPT_HANDLE_TIMEOUTS hasn't worked since dpt(4) was converted to CAM
somewhere around svn r39402 to r39234.

I don't know of anyone who really wants to test these changes, but they
only remove the deprecated code in question. This shreds the driver down a
bit and *removes* options from the kernel configs.

These don't appear to be referenced in the man page, so no need to check it
there.

PR: kern/44587
Obtained from: Yahoo! Inc.
MFC after: 2 weeks


# 249083 04-Apr-2013 mav

Remove all legacy ATA code parts, not used since options ATA_CAM enabled in
most kernels before FreeBSD 9.0. Remove such modules and respective kernel
options: atadisk, ataraid, atapicd, atapifd, atapist, atapicam. Remove the
atacontrol utility and some man pages. Remove useless now options ATA_CAM.

No objections: current@, stable@
MFC after: never


# 249071 03-Apr-2013 brooks

MFP4 change 210763

Allow boothowto and bootverbose to be set via kernel options, which
is useful on architectures that are unable to rely on a boot loader
to pass configuration variables to the kernel.

Submitted by: rwatson


# 249036 02-Apr-2013 kevlo

Comment out the VIMAGE since we need to build both LINTS to
get good coverage.

Pointed out by: jhb


# 248997 02-Apr-2013 kevlo

Add VIMAGE to NOTES.

Reviewed by: zec


# 248275 14-Mar-2013 joel

Fix minor spelling error in a comment.


# 247777 04-Mar-2013 davide

- Make callout(9) tickless, relying on eventtimers(4) as backend for
precise time event generation. This greatly improves granularity of
callouts which are not anymore constrained to wait next tick to be
scheduled.
- Extend the callout KPI introducing a set of callout_reset_sbt* functions,
which take a sbintime_t as timeout argument. The new KPI also offers a
way for consumers to specify precision tolerance they allow, so that
callout can coalesce events and reduce number of interrupts as well as
potentially avoid scheduling a SWI thread.
- Introduce support for dispatching callouts directly from hardware
interrupt context, specifying an additional flag. This feature should be
used carefully, as long as interrupt context has some limitations
(e.g. no sleeping locks can be held).
- Enhance mechanisms to gather informations about callwheel, introducing
a new sysctl to obtain stats.

This change breaks the KBI. struct callout fields has been changed, in
particular 'int ticks' (4 bytes) has been replaced with 'sbintime_t'
(8 bytes) and another 'sbintime_t' field was added for precision.

Together with: mav
Reviewed by: attilio, bde, luigi, phk
Sponsored by: Google Summer of Code 2012, iXsystems inc.
Tested by: flo (amd64, sparc64), marius (sparc64), ian (arm),
markj (amd64), mav, Fabian Keil


# 246568 08-Feb-2013 delphij

In r246282 the KTR_ENTRIES was specified with syntax error, fix it so 'make
universe' would work.

MFC after: 12 days
X-MFC-with: r246282


# 246282 03-Feb-2013 avg

allow for large KTR_ENTRIES values by allocating ktr_buf using malloc(9)

Only during very early boot, before malloc(9) is functional (SI_SUB_KMEM),
the static ktr_buf_init is used. Size of the static buffer is determined
by a new kernel option KTR_BOOT_ENTRIES. Its default value is 1024.

This commit builds on top of r243046.

Reviewed by: alc
MFC after: 17 days


# 243438 23-Nov-2012 kevlo

According to r221124, the default NFS server and client are no longer
experimental.


# 242424 01-Nov-2012 alfred

Small textdump enhancements.

Allow textdumps to be called explicitly from DDB.

If "dump" is called in DDB and textdumps are enabled then abort the
dump and tell the user to turn off textdumps.

Add options TEXTDUMP_PREFERRED to turn textdumps on by default.
Add options TEXTDUMP_VERBOSE to be a bit more verbose while textdumping.

Reviewed by: rwatson

MFC after: 2 weeks


# 242360 30-Oct-2012 zont

- Remove BCE_JUMBO_HDRSPLIT kernel option which was forgotten in r218423.

Approved by: davidch
Approved by: kib (mentor)


# 242079 25-Oct-2012 ae

Remove the IPFIREWALL_FORWARD kernel option and make possible to turn
on the related functionality in the runtime via the sysctl variable
net.pfil.forward. It is turned off by default.

Sponsored by: Yandex LLC
Discussed with: net@
MFC after: 2 weeks


# 241931 23-Oct-2012 andre

Replace the ill-named ZERO_COPY_SOCKET kernel option with two
more appropriate named kernel options for the very distinct
send and receive path.

"options SOCKET_SEND_COW" enables VM page copy-on-write based
sending of data on an outbound socket.

NB: The COW based send mechanism is not safe and may result
in kernel crashes.

"options SOCKET_RECV_PFLIP" enables VM kernel/userspace page
flipping for special disposable pages attached as external
storage to mbufs.

Only the naming of the kernel options is changed and their
corresponding #ifdef sections are adjusted. No functionality
is added or removed.

Discussed with: alc (mechanism and limitations of send side COW)


# 241896 22-Oct-2012 kib

Remove the support for using non-mpsafe filesystem modules.

In particular, do not lock Giant conditionally when calling into the
filesystem module, remove the VFS_LOCK_GIANT() and related
macros. Stop handling buffers belonging to non-mpsafe filesystems.

The VFS_VERSION is bumped to indicate the interface change which does
not result in the interface signatures changes.

Conducted and reviewed by: attilio
Tested by: pho


# 241680 18-Oct-2012 attilio

Disconnect non-MPSAFE SMBFS from the build in preparation for dropping
GIANT from VFS. In addition, disconnect also netsmb, which is a base
requirement for SMBFS.

In the while SMBFS regular users can use FUSE interface and smbnetfs
port to work with their SMBFS partitions.

Also, there are ongoing efforts by vendor to support in-kernel smbfs,
so there are good chances that it will get relinked once properly locked.

This is not targeted for MFC.


# 241636 17-Oct-2012 attilio

Disconnect non-MPSAFE NTFS from the build in preparation for dropping
GIANT from VFS. This code is particulary broken and fragile and other
in-kernel implementations around, found in other operating systems,
don't really seem clean and solid enough to be imported at all.
If someone wants to reconsider in-kernel NTFS implementation for
inclusion again, a fair effort for completely fixing and cleaning it
up is expected.

In the while NTFS regular users can use FUSE interface and ntfs-3g
port to work with their NTFS partitions.

This is not targeted for MFC.


# 241629 17-Oct-2012 attilio

Disconnect non-MPSAFE NWFS from the build in preparation for dropping
GIANT from VFS. In addition, disconnect also netncp, which is a base
requirement for NWFS.

In the possibility of a future maintenance of the code and later
readd to the FreeBSD base, maybe we should think about a better location
for netncp. I'm not entirely sure the / top location is actually right,
however I will let network people to comment on that more specifically.

This is not targeted for MFC.


# 241608 16-Oct-2012 attilio

Disconnect non-MPSAFE CODAFS from the build in preparation for dropping
GIANT from VFS.

This is not targeted for MFC.


# 241607 16-Oct-2012 attilio

Disconnect non-MPSAFE XFS from the build in preparation for dropping
GIANT from VFS.

This is not targeted for MFC.


# 241606 16-Oct-2012 attilio

Disconnect non-MPSAFE PORTALFS from the build in preparation for dropping
GIANT from VFS.

This is not targeted for MFC.


# 241604 16-Oct-2012 attilio

Disconnect non-MPSAFE HPFS from the build in preparation for dropping
GIANT from VFS.

This is not targeted for MFC.


# 241519 13-Oct-2012 attilio

Import a FreeBSD port of the FUSE Linux module.
This has been developed during 2 summer of code mandates and being revived
by gnn recently.
The functionality in this commit mirrors entirely content of fusefs-kmod
port, which doesn't need to be installed anymore for -CURRENT setups.

In order to get some sparse technical notes, please refer to:
http://lists.freebsd.org/pipermail/freebsd-fs/2012-March/013876.html

or to the project branch:
svn://svn.freebsd.org/base/projects/fuse/

which also contains granular history of changes happened during port
refinements. This commit does not came from the branch reintegration
itself because it seems svn is not behaving properly for this functionaly
at the moment.

Partly Sponsored by: Google, Summer of Code program 2005, 2011
Originally submitted by: ilya, Csaba Henk <csaba-ml AT creo DOT hu >
In collabouration with: pho
Tested by: flo, gnn, Gustau Perez,
Kevin Oberman <rkoberman AT gmail DOT com>
MFC after: 2 months


# 240642 18-Sep-2012 glebius

Provide kernel compile time option to make pf(4) default rule to drop.

This is important to secure a small timeframe at boot time, when
network is already configured, but pf(4) is not yet.

PR: kern/171622
Submitted by: Olivier Cochard-LabbИ <olivier cochard.me>


# 240098 04-Sep-2012 jhb

Fix duplicate entries for mwl(4):
- Move mwlfw from {amd64,i386}/conf/NOTES to sys/conf/NOTES (mwl(4) is
already present in sys/conf/NOTES).
- Remove duplicate mwl(4) entries from {amd64,i386}/conf/NOTES.
- While here, add a description to the sfxge line in amd64/conf/NOTES.


# 239923 30-Aug-2012 attilio

Post r222812 KTR_CPUMASK started being initialized only as a tunable
handler and not more statically.

Unfortunately, it seems that this is not ideal for new platform bringup
and boot low level development (which needs ktr_cpumask to be effective
before tunables can be setup).

Because of this, add a way to statically initialize cpusets, by passing
an list of initializers, divided by commas. Also, provide a way to enforce
an all-set mask, for above mentioned initializers.

This imposes some differences on how KTR_CPUMASK is setup now as a
kernel option, and in particular this makes the words specifications
backward wrt. what is currently in -CURRENT. In order to avoid mismatches
between KTR_CPUMASK definition and other way to setup the mask
(tunable, sysctl) and to print it, change the ordering how
cpusetobj_print() and cpusetobj_scan() acquire the words belonging
to the set.
Please give a look to sys/conf/NOTES in order to understand how the
new format is supposed to work.

Also, ktr manpages will be updated shortly by gjb which volountereed
for this.

This patch won't be merged because it changes a POLA (at least
from the theoretical standpoint) and this is however a patch that
proves to be effective only in development environments.

Requested by: rpaulo
Reviewed by: jeff, rpaulo


# 239507 21-Aug-2012 hrs

Add s35390a_rtc(4) driver for Seiko Instruments S-35390A RTC.

Submitted by: Yusuke Tanaka


# 238925 30-Jul-2012 davide

Until now KTR_ENTRIES, which defines the size of circular buffer used in
ktr(4), was constrained to be a power of two. Remove this constraint and
update sys/conf/NOTES accordingly.

Reviewed by: jhb
Approved by: gnn (mentor)
Sponsored by: Google Summer of Code 2012


# 237263 19-Jun-2012 np

- Updated TOE support in the kernel.

- Stateful TCP offload drivers for Terminator 3 and 4 (T3 and T4) ASICs.
These are available as t3_tom and t4_tom modules that augment cxgb(4)
and cxgbe(4) respectively. The cxgb/cxgbe drivers continue to work as
usual with or without these extra features.

- iWARP driver for Terminator 3 ASIC (kernel verbs). T4 iWARP in the
works and will follow soon.

Build-tested with make universe.

30s overview
============
What interfaces support TCP offload? Look for TOE4 and/or TOE6 in the
capabilities of an interface:
# ifconfig -m | grep TOE

Enable/disable TCP offload on an interface (just like any other ifnet
capability):
# ifconfig cxgbe0 toe
# ifconfig cxgbe0 -toe

Which connections are offloaded? Look for toe4 and/or toe6 in the
output of netstat and sockstat:
# netstat -np tcp | grep toe
# sockstat -46c | grep toe

Reviewed by: bz, gnn
Sponsored by: Chelsio communications.
MFC after: ~3 months (after 9.1, and after ensuring MFC is feasible)


# 236712 07-Jun-2012 mav

To make CAM debugging easier, compile in some debug flags (CAM_DEBUG_INFO,
CAM_DEBUG_CDB, CAM_DEBUG_PERIPH and CAM_DEBUG_PROBE) by default.
List of these flags can be modified with CAM_DEBUG_COMPILE kernel option.
CAMDEBUG kernel option still enables all possible debug, if not overriden.

Additional 50KB of kernel size is a good price for the ability to debug
problems without rebuilding the kernel. In case where size is important,
debugging can be compiled out by setting CAM_DEBUG_COMPILE option to 0.


# 236427 01-Jun-2012 mjacob

Clean up and complete the incomplete deferred enable code.
Make the default role NONE if target mode is selected. This
allows ctl(8) to switch to/from target mode via knob settings.
If we default to role 'none', this causes a reset of the
24XX f/w which then causes initiators to wake up and notice
when we come online.

Reviewed by: kdm
MFC after: 2 weeks
Sponsored by: Spectralogic


# 235898 24-May-2012 mav

MFprojects/zfsd:
Generalize and unify ses device description.


# 234302 14-Apr-2012 davide

Fix some style bugs introduced in a previous commit (r233045)

Reported by: glebius, jmallet
Reviewed by: jmallet
Approved by: gnn (mentor)
MFC after: 2 days


# 233539 27-Mar-2012 jchandra

Driver for OpenCores I2C controller.

Add a Simple polled driver iicoc for the OpenCores I2C controller. This
is used in Netlogic XLP processors.

Submitted by: Sreekanth M. S. (kanthms at netlogicmicro com)


# 233537 27-Mar-2012 jchandra

Move driver for DS1374 RTC to sys/dev/iicbus

The earlier version of the driver is sys/mips/rmi/dev/iic/ds1374u.c
Convert all references to ds1374u to ds1374, and use DEVMETHOD_END.
Also update the license header as Netlogic is now Broadcom.


# 233273 21-Mar-2012 marius

Exclude devices which are mutually exclusive with ATA_CAM. For better
or worse, the former are still built as modules as part of the LINT
builds

Reviewed by: mav
MFC after: 1 week


# 233178 19-Mar-2012 ae

Connect geom_part_ldm to the kernel build.

MFC after: 1 month


# 233045 16-Mar-2012 davide

Add rudimentary profiling of the hash table used in the in the umtx code to
hold active lock queues.

Reviewed by: attilio
Approved by: davidxu, gnn (mentor)
MFC after: 3 weeks


# 232337 01-Mar-2012 mav

Add driver for the RME HDSPe AIO/RayDAT sound cards -- snd_hdspe(4).
Cards are expensive and so rare, so leave the driver as module.

Submitted by: Ruslan Bukin <br@bsdpad.com>
MFC after: 2 weeks


# 232250 28-Feb-2012 gavin

Correct capitalization of "Hz" in user-visible text (manpages, printf(),
etc).

MFC after: 3 days


# 231999 22-Feb-2012 jpaetzel

Fix various typos and normalize spelling.

Approved by: kib (mentor)


# 231437 10-Feb-2012 luigi

Add a driver for Emulex OneConnect ethernet cards (10 Gbit PCIe)
A manpage will come in a future commit.

Submitted by: Naresh Raju Gottumukkala (emulex)


# 229997 11-Jan-2012 ken

Add the CAM Target Layer (CTL).

CTL is a disk and processor device emulation subsystem originally written
for Copan Systems under Linux starting in 2003. It has been shipping in
Copan (now SGI) products since 2005.

It was ported to FreeBSD in 2008, and thanks to an agreement between SGI
(who acquired Copan's assets in 2010) and Spectra Logic in 2010, CTL is
available under a BSD-style license. The intent behind the agreement was
that Spectra would work to get CTL into the FreeBSD tree.

Some CTL features:

- Disk and processor device emulation.
- Tagged queueing
- SCSI task attribute support (ordered, head of queue, simple tags)
- SCSI implicit command ordering support. (e.g. if a read follows a mode
select, the read will be blocked until the mode select completes.)
- Full task management support (abort, LUN reset, target reset, etc.)
- Support for multiple ports
- Support for multiple simultaneous initiators
- Support for multiple simultaneous backing stores
- Persistent reservation support
- Mode sense/select support
- Error injection support
- High Availability support (1)
- All I/O handled in-kernel, no userland context switch overhead.

(1) HA Support is just an API stub, and needs much more to be fully
functional.

ctl.c: The core of CTL. Command handlers and processing,
character driver, and HA support are here.

ctl.h: Basic function declarations and data structures.

ctl_backend.c,
ctl_backend.h: The basic CTL backend API.

ctl_backend_block.c,
ctl_backend_block.h: The block and file backend. This allows for using
a disk or a file as the backing store for a LUN.
Multiple threads are started to do I/O to the
backing device, primarily because the VFS API
requires that to get any concurrency.

ctl_backend_ramdisk.c: A "fake" ramdisk backend. It only allocates a
small amount of memory to act as a source and sink
for reads and writes from an initiator. Therefore
it cannot be used for any real data, but it can be
used to test for throughput. It can also be used
to test initiators' support for extremely large LUNs.

ctl_cmd_table.c: This is a table with all 256 possible SCSI opcodes,
and command handler functions defined for supported
opcodes.

ctl_debug.h: Debugging support.

ctl_error.c,
ctl_error.h: CTL-specific wrappers around the CAM sense building
functions.

ctl_frontend.c,
ctl_frontend.h: These files define the basic CTL frontend port API.

ctl_frontend_cam_sim.c: This is a CTL frontend port that is also a CAM SIM.
This frontend allows for using CTL without any
target-capable hardware. So any LUNs you create in
CTL are visible in CAM via this port.

ctl_frontend_internal.c,
ctl_frontend_internal.h:
This is a frontend port written for Copan to do
some system-specific tasks that required sending
commands into CTL from inside the kernel. This
isn't entirely relevant to FreeBSD in general,
but can perhaps be repurposed.

ctl_ha.h: This is a stubbed-out High Availability API. Much
more is needed for full HA support. See the
comments in the header and the description of what
is needed in the README.ctl.txt file for more
details.

ctl_io.h: This defines most of the core CTL I/O structures.
union ctl_io is conceptually very similar to CAM's
union ccb.

ctl_ioctl.h: This defines all ioctls available through the CTL
character device, and the data structures needed
for those ioctls.

ctl_mem_pool.c,
ctl_mem_pool.h: Generic memory pool implementation used by the
internal frontend.

ctl_private.h: Private data structres (e.g. CTL softc) and
function prototypes. This also includes the SCSI
vendor and product names used by CTL.

ctl_scsi_all.c,
ctl_scsi_all.h: CTL wrappers around CAM sense printing functions.

ctl_ser_table.c: Command serialization table. This defines what
happens when one type of command is followed by
another type of command.

ctl_util.c,
ctl_util.h: CTL utility functions, primarily designed to be
used from userland. See ctladm for the primary
consumer of these functions. These include CDB
building functions.

scsi_ctl.c: CAM target peripheral driver and CTL frontend port.
This is the path into CTL for commands from
target-capable hardware/SIMs.

README.ctl.txt: CTL code features, roadmap, to-do list.

usr.sbin/Makefile: Add ctladm.

ctladm/Makefile,
ctladm/ctladm.8,
ctladm/ctladm.c,
ctladm/ctladm.h,
ctladm/util.c: ctladm(8) is the CTL management utility.
It fills a role similar to camcontrol(8).
It allow configuring LUNs, issuing commands,
injecting errors and various other control
functions.

usr.bin/Makefile: Add ctlstat.

ctlstat/Makefile
ctlstat/ctlstat.8,
ctlstat/ctlstat.c: ctlstat(8) fills a role similar to iostat(8).
It reports I/O statistics for CTL.

sys/conf/files: Add CTL files.

sys/conf/NOTES: Add device ctl.

sys/cam/scsi_all.h: To conform to more recent specs, the inquiry CDB
length field is now 2 bytes long.

Add several mode page definitions for CTL.

sys/cam/scsi_all.c: Handle the new 2 byte inquiry length.

sys/dev/ciss/ciss.c,
sys/dev/ata/atapi-cam.c,
sys/cam/scsi/scsi_targ_bh.c,
scsi_target/scsi_cmds.c,
mlxcontrol/interface.c: Update for 2 byte inquiry length field.

scsi_da.h: Add versions of the format and rigid disk pages
that are in a more reasonable format for CTL.

amd64/conf/GENERIC,
i386/conf/GENERIC,
ia64/conf/GENERIC,
sparc64/conf/GENERIC: Add device ctl.

i386/conf/PAE: The CTL frontend SIM at least does not compile
cleanly on PAE.

Sponsored by: Copan Systems, SGI and Spectra Logic
MFC after: 1 month


# 228563 16-Dec-2011 glebius

Fix my braino in description of RADIX_MPATH.


# 228527 15-Dec-2011 glebius

Add RADIX_MPATH to LINT.


# 228003 26-Nov-2011 marius

Remove some more occurrences of amd(4) missed in r227982.


# 227982 25-Nov-2011 marius

Deorbit the broken amd(4) (see PR 124667), which was superseded by esp(4)
as of r227006.


# 227845 22-Nov-2011 luigi

forgot to merge NETMAP entries in sys/conf !


# 227816 22-Nov-2011 kib

Remove the wrong comment about ufs not being loadable.
Note that only root filesystem module needs to be available
before root is mounted.

MFC after: 1 week


# 227723 19-Nov-2011 lstewart

Core structure and functions to support a feed-forward clock within the kernel.
Implement ffcounter, a monotonically increasing cumulative counter on top of the
active timecounter. Provide low-level functions to read the ffcounter and
convert it to absolute time or a time interval in seconds using the current
ffclock estimates, which track the drift of the oscillator. Add a ring of
fftimehands to track passing of time on each kernel tick and pick up updates of
ffclock estimates.

Committed on behalf of Julien Ridoux and Darryl Veitch from the University of
Melbourne, Australia, as part of the FreeBSD Foundation funded "Feed-Forward
Clock Synchronization Algorithms" project.

For more information, see http://www.synclab.org/radclock/

Submitted by: Julien Ridoux (jridoux at unimelb edu au)


# 227367 08-Nov-2011 yongari

Comment out TI_JUMBO_HDRSPLIT. TI_JUMBO_HDRSPLIT requires TI_SF_BUF_JUMBO.


# 227347 08-Nov-2011 yongari

Retire 'options TI_PRIVATE_JUMBOS' and replace local jumbo
allocator with UMA backed jumbo allocator by default. Previously
ti(4) used sf_buf(9) interface for jumbo buffers but it was broken
at this moment such that enabling jumbo frame caused instant panic.
Due to the nature of sf_buf(9) it heavily relies on VM changes but
it seems ti(4) was not received much blessing from VM gurus. I
don't understand VM magic and implications used in driver either.
Switching to UMA backed jumbo allocator like other network drivers
will make jumbo frame work on ti(4).
While I'm here, fully allocate all RX buffers. This means ti(4) now
uses 512 RX buffer and 1024 mini RX buffers.

To use sf_buf(9) interface for jumbo buffers, introduce a new
'options TI_SF_BUF_JUMBO'. If it is proven that sf_buf(9) is better
for jumbo buffers, interesting developers can fix the issue in
future.

ti(4) still needs more bus_dma(9) cleanups and should use separate
DMA tag/map for each ring(standard, jumbo, mini, command, event
etc) but it should work on all platforms except PAE.

Special thanks to Jay[1] who provided complete remote debugging
access.

Tested by: Jay Borkenhagen <jayb <> braeburn dot org > [1]


# 227333 08-Nov-2011 attilio

Introduce the option VFS_ALLOW_NONMPSAFE and turn it on by default on
all the architectures.
The option allows to mount non-MPSAFE filesystem. Without it, the
kernel will refuse to mount a non-MPSAFE filesytem.

This patch is part of the effort of killing non-MPSAFE filesystems
from the tree.

No MFC is expected for this patch.

Tested by: gianni
Reviewed by: kib


# 227056 03-Nov-2011 pluknet

Remove the remnants of /stand/sysinstall.

loader.8: Sync the default init_path list with kern/init_main.c.

NOTES: Replace with /rescue/init in the INIT_PATH kernel option.


# 227006 01-Nov-2011 marius

Add a PCI front-end to esp(4) allowing it to support AMD Am53C974 and
replace amd(4) with the former in the amd64, i386 and pc98 GENERIC kernel
configuration files. Besides duplicating functionality, amd(4), which
previously also supported the AMD Am53C974, unlike esp(4) is no longer
maintained and has accumulated enough bit rot over time to always cause
a panic during boot as long as at least one target is attached to it
(see PR 124667).

PR: 124667
Obtained from: NetBSD (based on)
MFC after: 3 days


# 226995 01-Nov-2011 marius

- Import the common MII bitbang'ing code from NetBSD and convert drivers to
take advantage of it instead of duplicating it. This reduces the size of
the i386 GENERIC kernel by about 4k. The only potential in-tree user left
unconverted is xe(4), which generally should be changed to use miibus(4)
instead of implementing PHY handling on its own, as otherwise it makes not
much sense to add a dependency on miibus(4)/mii_bitbang(4) to xe(4) just
for the MII bitbang'ing code. The common MII bitbang'ing code also is
useful in the embedded space for using GPIO pins to implement MII access.
- Based on lessons learnt with dc(4) (see r185750), add bus barriers to the
MII bitbang read and write functions of the other drivers converted in
order to ensure the intended ordering. Given that register access via an
index register as well as register bank/window switching is subject to the
same problem, also add bus barriers to the respective functions of smc(4),
tl(4) and xl(4).
- Sprinkle some const.

Thanks to the following testers:
Andrew Bliznak (nge(4)), nwhitehorn@ (bm(4)), yongari@ (sis(4) and ste(4))
Thanks to Hans-Joerg Sirtl for supplying hardware to test stge(4).

Reviewed by: yongari (subset of drivers)
Obtained from: NetBSD (partially)


# 226165 08-Oct-2011 marius

Remove inphy(4), exphy(4) as well as ruephy(4) that no longer existed as a
separate config option, which was missed in r226154.


# 225448 08-Sep-2011 attilio

Improve the informations reported in case of busy buffers during the shutdown:
- Axe out the SHOW_BUSYBUFS option and uses a tunable for selectively
enable/disable it, which is defaulted for not printing anything (0
value) but can be changed for printing (1 value) and be verbose (2
value)
- Improves the informations outputed: right now, there is no track of
the actual struct buf object or vnode which are referenced by the
shutdown process, but it is printed the related struct bufobj object
which is not really helpful
- Add more verbosity about the state of the struct buf lock and the
vnode informations, with the latter to be activated separately by the
sysctl

Sponsored by: Sandvine Incorporated
Reviewed by: emaste, kib
Approved by: re (ksmith)
MFC after: 10 days


# 224987 18-Aug-2011 jonathan

Add experimental support for process descriptors

A "process descriptor" file descriptor is used to manage processes
without using the PID namespace. This is required for Capsicum's
Capability Mode, where the PID namespace is unavailable.

New system calls pdfork(2) and pdkill(2) offer the functional equivalents
of fork(2) and kill(2). pdgetpid(2) allows querying the PID of the remote
process for debugging purposes. The currently-unimplemented pdwait(2) will,
in the future, allow querying rusage/exit status. In the interim, poll(2)
may be used to check (and wait for) process termination.

When a process is referenced by a process descriptor, it does not issue
SIGCHLD to the parent, making it suitable for use in libraries---a common
scenario when using library compartmentalisation from within large
applications (such as web browsers). Some observers may note a similarity
to Mach task ports; process descriptors provide a subset of this behaviour,
but in a UNIX style.

This feature is enabled by "options PROCDESC", but as with several other
Capsicum kernel features, is not enabled by default in GENERIC 9.0.

Reviewed by: jhb, kib
Approved by: re (kib), mentor (rwatson)
Sponsored by: Google Inc


# 224307 25-Jul-2011 avg

remove RESTARTABLE_PANICS option

This is done per request/suggestion from John Baldwin
who introduced the option. Trying to resume normal
system operation after a panic is very unpredictable
and dangerous. It will become even more dangerous
when we allow a thread in panic(9) to penetrate all
lock contexts.
I understand that the only purpose of this option was
for testing scenarios potentially resulting in panic.

Suggested by: jhb
Reviewed by: attilio, jhb
X-MFC-After: never
Approved by: re (kib)


# 224207 18-Jul-2011 attilio

Add the possibility to specify from kernel configs MAXCPU value.
This patch is going to help in cases like mips flavours where you
want a more granular support on MAXCPU.

No MFC is previewed for this patch.

Tested by: pluknet
Approved by: re (kib)


# 224068 15-Jul-2011 joel

Sort snd_* entries alphabetically.


# 224016 14-Jul-2011 bz

Remove semaphore map entry count "semmap" field and its tuning
option that is highly recommended to be adjusted in too much
documentation while doing nothing in FreeBSD since r2729 (rev 1.1).

ipcs(1) needs to be recompiled as it is accessing _KERNEL private
variables.

Reviewed by: jhb (before comment change on linux code)
Sponsored by: Sandvine Incorporated


# 223723 02-Jul-2011 jonathan

Define the CAPABILITIES kernel option.

This option will enable Capsicum capabilities, which provide a fine-grained
mask on operations that can be performed on file descriptors.

Approved by: mentor (rwatson), re (Capsicum blanket ok)
Sponsored by: Google Inc


# 223668 29-Jun-2011 jonathan

We may split today's CAPABILITIES into CAPABILITY_MODE (which has
to do with global namespaces) and CAPABILITIES (which has to do with
constraining file descriptors). Just in case, and because it's a better
name anyway, let's move CAPABILITIES out of the way.

Also, change opt_capabilities.h to opt_capsicum.h; for now, this will
only hold CAPABILITY_MODE, but it will probably also hold the new
CAPABILITIES (implying constrained file descriptors) in the future.

Approved by: rwatson
Sponsored by: Google UK Ltd


# 222813 07-Jun-2011 attilio

etire the cpumask_t type and replace it with cpuset_t usage.

This is intended to fix the bug where cpu mask objects are
capped to 32. MAXCPU, then, can now arbitrarely bumped to whatever
value. Anyway, as long as several structures in the kernel are
statically allocated and sized as MAXCPU, it is suggested to keep it
as low as possible for the time being.

Technical notes on this commit itself:
- More functions to handle with cpuset_t objects are introduced.
The most notable are cpusetobj_ffs() (which calculates a ffs(3)
for a cpuset_t object), cpusetobj_strprint() (which prepares a string
representing a cpuset_t object) and cpusetobj_strscan() (which
creates a valid cpuset_t starting from a string representation).
- pc_cpumask and pc_other_cpus are target to be removed soon.
With the moving from cpumask_t to cpuset_t they are now inefficient
and not really useful. Anyway, for the time being, please note that
access to pcpu datas is protected by sched_pin() in order to avoid
migrating the CPU while reading more than one (possible) word
- Please note that size of cpuset_t objects may differ between kernel
and userland. While this is not directly related to the patch itself,
it is good to understand that concept and possibly use the patch
as a reference on how to deal with cpuset_t objects in userland, when
accessing kernland members.
- KTR_CPUMASK is changed and now is represented through a string, to be
set as the example reported in NOTES.

Please additively note that no MAXCPU is bumped in this patch, but
private testing has been done until to MAXCPU=128 on a real 8x8x2(htt)
machine (amd64).

Please note that the FreeBSD version is not yet bumped because of
the upcoming pcpu changes. However, note that this patch is not
targeted for MFC.

People to thank for the time spent on this patch:
- sbruno, pluknet and Nicholas Esborn (nick AT desert DOT net) tested
several revision of the patches and really helped in improving
stability of this work.
- marius fixed several bugs in the sparc64 implementation and reviewed
patches related to ktr.
- jeff and jhb discussed the basic approach followed.
- kib and marcel made targeted review on some specific part of the
patch.
- marius, art, nwhitehorn and andreast reviewed MD specific part of
the patch.
- marius, andreast, gonzo, nwhitehorn and jceel tested MD specific
implementations of the patch.
- Other people have made contributions on other patches that have been
already committed and have been listed separately.

Companies that should be mentioned for having participated at several
degrees:
- Yahoo! for having offered the machines used for testing on big
count of CPUs.
- The FreeBSD Foundation for having sponsored my devsummit attendance,
which has been instrumental.
- Sandvine for having offered offices and infrastructure during
development.

(I really hope I didn't forget anyone, if it happened I apologize in
advance).


# 221301 01-May-2011 bschmidt

These are of course i386/amd64 only.


# 221296 01-May-2011 bschmidt

Add the remaining wireless drivers.

Discussed with: joel


# 221200 29-Apr-2011 kevlo

Add urtw(4)


# 221167 28-Apr-2011 gnn

Exar driver for X3100 10GbE Server/Storage adapters

Features: Jumbo frames (up to 9600), LRO (Large Receive Offload),
TSO (TCP segmentation offload), RTH (Receive Traffic Hash).

Submitted by: Sriram Rapuru at Exar
MFC after: 2 weeks


# 221071 26-Apr-2011 mav

- Add shim to simplify migration to the CAM-based ATA. For each new adaX
device in /dev/ create symbolic link with adY name, trying to mimic old ATA
numbering. Imitation is not complete, but should be enough in most cases to
mount file systems without touching /etc/fstab.
- To know what behavior to mimic, restore ATA_STATIC_ID option in cases
where it was present before.
- Add some more details to UPDATING.


# 220982 24-Apr-2011 mav

Switch the GENERIC kernels for all architectures to the new CAM-based ATA
stack. It means that all legacy ATA drivers are disabled and replaced by
respective CAM drivers. If you are using ATA device names in /etc/fstab or
other places, make sure to update them respectively (adX -> adaY,
acdX -> cdY, afdX -> daY, astX -> saY, where 'Y's are the sequential
numbers for each type in order of detection, unless configured otherwise
with tunables, see cam(4)).

ataraid(4) functionality is now supported by the RAID GEOM class.
To use it you can load geom_raid kernel module and use graid(8) tool
for management. Instead of /dev/arX device names, use /dev/raid/rX.


# 220236 01-Apr-2011 kevlo

Add 'mos' interface to NOTES


# 220163 30-Mar-2011 trasz

Add rctl. It's used by racct to take user-configurable actions based
on the set of rules it maintains and the current resource usage. It also
privides userland API to manage that ruleset.

Sponsored by: The FreeBSD Foundation
Reviewed by: kib (earlier version)


# 220137 29-Mar-2011 trasz

Add racct. It's an API to keep per-process, per-jail, per-loginclass
and per-loginclass resource accounting information, to be used by the new
resource limits code. It's connected to the build, but the code that
actually calls the new functions will come later.

Sponsored by: The FreeBSD Foundation
Reviewed by: kib (earlier version)


# 219974 24-Mar-2011 mav

MFgraid/head:
Add new RAID GEOM class, that is going to replace ataraid(4) in supporting
various BIOS-based software RAIDs. Unlike ataraid(4) this implementation
does not depend on legacy ata(4) subsystem and can be used with any disk
drivers, including new CAM-based ones (ahci(4), siis(4), mvs(4), ata(4)
with `options ATA_CAM`). To make code more readable and extensible, this
implementation follows modular design, including core part and two sets
of modules, implementing support for different metadata formats and RAID
levels.

Support for such popular metadata formats is now implemented:
Intel, JMicron, NVIDIA, Promise (also used by AMD/ATI) and SiliconImage.

Such RAID levels are now supported:
RAID0, RAID1, RAID1E, RAID10, SINGLE, CONCAT.

For any all of these RAID levels and metadata formats this class supports
full cycle of volume operations: reading, writing, creation, deletion,
disk removal and insertion, rebuilding, dirty shutdown detection
and resynchronization, bad sector recovery, faulty disks tracking,
hot-spare disks. For Intel and Promise formats there is support multiple
volumes per disk set.

Look graid(8) manual page for additional details.

Co-authored by: imp
Sponsored by: Cisco Systems, Inc. and iXsystems, Inc.


# 219647 14-Mar-2011 davidch

- Initial release of bxe(4) to support Broadcom NetXtreme II 10GbE.
(BCM57710, BCM57711, BCM57711E)

MFC after: One month


# 219141 01-Mar-2011 rwatson

Correct spelling in a last-minute tweaked NOTES entry for CAPABILITIES.

Submitted by: netchild
Sponsored by: Google, Inc.
Obtained from: Capsicum Project
MFC after: 3 months


# 219129 01-Mar-2011 rwatson

Add initial support for Capsicum's Capability Mode to the FreeBSD kernel,
compiled conditionally on options CAPABILITIES:

Add a new credential flag, CRED_FLAG_CAPMODE, which indicates that a
subject (typically a process) is in capability mode.

Add two new system calls, cap_enter(2) and cap_getmode(2), which allow
setting and querying (but never clearing) the flag.

Export the capability mode flag via process information sysctls.

Sponsored by: Google, Inc.
Reviewed by: anderson
Discussed with: benl, kris, pjd
Obtained from: Capsicum Project
MFC after: 3 months


# 218792 18-Feb-2011 np

cxgbe(4) - NIC driver for Chelsio T4 (Terminator 4) based 10Gb/1Gb adapters.

MFC after: 3 weeks


# 218507 10-Feb-2011 kevlo

Add tmpfs(5) to NOTES


# 216829 30-Dec-2010 yongari

Add driver for DM&P Vortex86 RDC R6040 Fast Ethernet.
The controller is commonly found on DM&P Vortex86 x86 SoC. The
driver supports all hardware features except flow control. The
flow control was intentionally disabled due to silicon bug.

DM&P Electronics, Inc. provided all necessary information including
sample board to write driver and answered many questions I had.
Many thanks for their support of FreeBSD.

H/W donated by: DM&P Electronics, Inc.


# 216828 30-Dec-2010 yongari

Add RDC Semiconductor R6040 10/100 PHY driver.


# 216781 28-Dec-2010 imp

Revert r216775, per jhb@


# 216775 28-Dec-2010 imp

Due to the automatic inclusion of DEFAULTS everywhere, and since it
has device mem in it almost everywhere, we get warnings about
duplicated device almost everywhere. Comment it out, with a note
about why, so that we don't get those warnings.


# 216466 15-Dec-2010 bz

Bring back (most of) NATM to avoid further bitrot after r186119.
Keep three lines disabled which I am unsure if they had been used at all.
This will allow us to seek testers and possibly bring it all back.

Discussed with: rwatson
MFC after: 7 weeks


# 215952 27-Nov-2010 mjacob

Add ISP_INTERNAL_TARGET as an option for isp(4).


# 213705 11-Oct-2010 thompsa

Add the XHCI USB controller to NOTES.

Reviewed by: hselasky


# 210865 05-Aug-2010 olli

Fix a bunch of errors (spelling and similar).

As des noted, the section on SCTP would benefit from
a rewrite by a native speaker (which I am not).
Any volunteers?

Approved by: des (mentor)
MFC after: 1 week


# 210564 28-Jul-2010 mdf

Add MALLOC_DEBUG_MAXZONES debug malloc(9) option to use multiple uma
zones for each malloc bucket size. The purpose is to isolate
different malloc types into hash classes, so that any buffer overruns
or use-after-free will usually only affect memory from malloc types in
that hash class. This is purely a debugging tool; by varying the hash
function and tracking which hash class was corrupted, the intersection
of the hash classes from each instance will point to a single malloc
type that is being misused. At this point inspection or memguard(9)
can be used to catch the offending code.

Add MALLOC_DEBUG_MAXZONES=8 to -current GENERIC configuration files.
The suggestion to have this on by default came from Kostik Belousov on
-arch.

This code is based on work by Ron Steinke at Isilon Systems.

Reviewed by: -arch (mostly silence)
Reviewed by: zml
Approved by: zml (mentor)


# 209313 18-Jun-2010 kib

Only enable kdtrace hook in the LINT on the architectures that implement it.


# 208947 09-Jun-2010 ae

Fix typo.

Approved by: mav (mentor)
MFC after: 1 month


# 208946 09-Jun-2010 ae

New netgraph node ng_patch(4). It performs data modification of packets
passing through. Modifications are restricted to a subset of C language
operations on unsigned integers of 8, 16, 32 or 64 bit size.
These are: set to new value (=), addition (+=), subtraction (-=),
multiplication (*=), division (/=), negation (= -), bitwise AND (&=),
bitwise OR (|=), bitwise eXclusive OR (^=), shift left (<<=),
shift right (>>=). Several operations are all applied to a packet
sequentially in order they were specified by user.

Submitted by: Maxim Ignatenko <gelraen.ua at gmail.com>
Vadim Goncharov <vadimnuclight at tpu.ru>
Discussed with: net@
Approved by: mav (mentor)
MFC after: 1 month


# 208554 25-May-2010 glebius

Add uep(4), driver for USB onscreen touch panel from eGalax.

The driver is stub. It just creates device entry and feeds
reassembled packets from hardware into it.

If in future we would port wsmouse(4) from NetBSD, or make
sysmouse(4) to support absolute motion events, then the driver
can be extended to act as system mouse. Meanwhile, it just
presents a /dev/uep0, that can be utilized by X driver, that
I am going to commit to ports tree soon.

The name for the driver is chosen to be the same as in NetBSD,
however, due to different USB stacks this driver isn't a port.


# 207536 02-May-2010 mav

Import mvs(4) - Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA controllers
driver for CAM ATA subsystem. This driver supports same hardware as
atamarvell, ataadaptec and atamvsata drivers from ata(4), but provides
many additional features, such as NCQ, PMP, etc.


# 207472 01-May-2010 imp

The Atheros AR71xx CPUs, when paired with the AR5212 parts, has a bug
that generates a fatal bus trap. Normally, the chips are setup to do
128 byte DMA bursts, but when on this CPU, they can only safely due
4-byte DMA bursts due to this bug. Details of the exact nature of the
bug are sketchy, but some can be found at
https://forum.openwrt.org/viewtopic.php?pid=70060 on pages 4, 5 and 6.
There's a small performance penalty associated with this workaround,
so it is only enabled when needed on the Atheros AR71xx platforms.

Unfortunately, this condition is impossible to detect at runtime
without MIPS specific ifdefs. Rather than cast an overly-broad net
like Linux/OpenWRT dues (which enables this workaround all the time on
MIPS32 platforms), we put this option in the kernel for just the
affected machines. Sam didn't like this aspect of the patch when he
reviewed it, and I'd love to hear sane proposals on how to fix it :)

Reviewed by: sam@


# 206625 14-Apr-2010 yongari

Add driver for Silicon Integrated Systems SiS190/191 Fast/Gigabit Ethernet.
This driver was written by Alexander Pohoyda and greatly enhanced
by Nikolay Denev. I don't have these hardwares but this driver was
tested by Nikolay Denev and xclin.

Because SiS didn't release data sheet for this controller, programming
information came from Linux driver and OpenSolaris. Unlike other open
source driver for SiS190/191, sge(4) takes full advantage of TX/RX
checksum offloading and does not require additional copy operation in
RX handler.
The controller seems to have advanced offloading features like VLAN
hardware tag insertion/stripping, TCP segmentation offload(TSO) as
well as jumbo frame support but these features are not available
yet. Special thanks to xclin <xclin<> cs dot nctu dot edu dot tw>
who sent fix for receiving VLAN oversized frames.


# 205841 29-Mar-2010 rpaulo

Add AR9285.

Sponsored by: iXsystems, inc


# 205384 20-Mar-2010 mav

Correct MAXPHYS and DFLTPHYS description.


# 204669 03-Mar-2010 weongyo

Adds bwn(4) to NOTES.


# 204594 02-Mar-2010 alfred

include COMPRESS_USER_CORES and gzio in NOTES.

Requested by: Niclas Zeising


# 203938 15-Feb-2010 attilio

Adjust style (following the already existing rules) for the newly
introduced option DEADLKRES.

Reported by: danfe, julian, avg


# 203685 08-Feb-2010 brucec

Document the usfs driver and the NO_SYSCTL_DESCR option, and update the comment for umass.
Don't include the sysctl description variables in aic7xxx when NO_SYSCTL_DESCR is used.

Approved by: rrs (mentor)


# 203620 07-Feb-2010 gavin

Document support for the D-Link DFE520-TX card (supported with the vr(4)
driver)

PR: kern/135989
Submitted by: "Rashid N. Achilov" citycat4 ngs.ru


# 203136 28-Jan-2010 thompsa

Add run(4) to NOTES.


# 202634 19-Jan-2010 jhb

Move the examples for the 'hints' and 'env' keywords from various GENERIC
kernel configs into NOTES.

Reviewed by: imp


# 202181 13-Jan-2010 thompsa

Add a driver by Fredrik Lindberg for Option HSDPA USB devices. These differ
from standard 3G wireless units by supplying a raw IP/IPv6 endpoint rather than
using PPP over serial. uhsoctl(1) is used to initiate and close the WAN
connection.

Obtained from: Fredrik Lindberg <fli@shapeshifter.se>


# 201879 08-Jan-2010 attilio

Introduce the new kernel thread called "deadlock resolver".
While the name is pretentious, a good explanation of its targets is
reported in this 17 months old presentation e-mail:
http://lists.freebsd.org/pipermail/freebsd-arch/2008-August/008452.html

In order to implement it, the sq_type in sleepqueues is mandatory and not
only compiled along with INVARIANTS option. Additively, a new sleepqueue
function, sleepq_type() is added, returning the type of the sleepqueue
linked to a wchan.
Three new sysctls are added in order to configure the thread:
debug.deadlkres.slptime_threshold
debug.deadlkres.blktime_threshold
debug.deadlkres.sleepfreq

rappresenting the thresholds for sleep and block time that will lead to
a deadlock matching (when exceeded), while the sleepfreq rappresents the
number of seconds between 2 consecutive thread runnings.
In order to enable the deadlock resolver thread recompile your kernel
with the option DEADLKRES.

Reviewed by: jeff
Tested by: pho, Giovanni Trematerra
Sponsored by: Nokia Incorporated, Sandvine Incorporated
MFC after: 2 weeks


# 201853 08-Jan-2010 brooks

Make options KGSSAPI build and add it to NOTES.

rpcsec_gss_prot.c:
Use kernel printf and headers.

vc_rpcsec_gss.c:
Use a local RPCAUTH_UNIXGIDS definition for 16 instead of using NGROUPS.


# 200670 18-Dec-2009 jhb

- Create a separate section in in the MI NOTES file for PCI wireless NIC
drivers and move bwi(4) there from the PCI Ethernet NIC section.
- Move ath(4) and ral(4) to the MI NOTES file.

Reviewed by: rpaulo


# 200605 16-Dec-2009 jhb

Add entries to NOTES for the modular phy support so that these options are
documented.

PR: docs/141358
Submitted by: Bruce Cran


# 200171 05-Dec-2009 mav

MFp4:
Introduce ATA_CAM kernel option, turning ata(4) controller drivers into
cam(4) interface modules. When enabled, this options deprecates all ata(4)
peripheral drivers (ad, acd, ...) and interfaces and allows cam(4) drivers
(ada, cd, ...) and interfaces to be natively used instead.

As side effect of this, ata(4) mode setting code was completely rewritten
to make controller API more strict and permit above change. While doing
this, SATA revision was separated from PATA mode. It allows DMA-incapable
SATA devices to operate and makes hw.ata.atapi_dma tunable work again.

Also allow ata(4) controller drivers (except some specific or broken ones)
to handle larger data transfers. Previous constraint of 64K was artificial
and is not really required by PCI ATA BM specification or hardware.

Submitted by: nwitehorn (powerpc part)


# 199250 13-Nov-2009 ed

Convert syscons on i386 to TERM=xterm.

TEKEN_XTERM is now gone. Because we always use xterm mode now, we only
need a TEKEN_CONS25 switch to go back to cons25.


# 199243 13-Nov-2009 ed

Switch the default terminal emulation style to xterm for most platforms.

Right now syscons(4) uses a cons25-style terminal emulator. The
disadvantages of that are:

- Little compatibility with embedded devices with serial interfaces.
- Bad bandwidth efficiency, mainly because of the lack of scrolling
regions.
- A very hard transition path to support for modern character sets like
UTF-8.

Our terminal emulation library, libteken, has been supporting
xterm-style terminal emulation for months, so flip the switch and make
everyone use an xterm-style console driver.

I still have to enable this on i386. Right now pc98 and i386 share the
same /etc/ttys file. I'm not going to switch pc98, because it uses its
own Kanji-capable cons25 emulator.

IMPORTANT: What to do if things go wrong (i.e. graphical artifacts):

- Run the application inside script(1), try to reduce the problem and
send me the log file.
- In the mean time, you can run `vidcontrol -T cons25' and `export
TERM=cons25' so you can run applications the same way you did before.
You can also build your kernel with `options TEKEN_CONS25' to make all
virtual terminals use the cons25 emulator by default.

Discussed on: current@


# 199177 11-Nov-2009 ru

Added option NETGRAPH_VLAN.

Submitted by: pluknet


# 199155 10-Nov-2009 jhb

Add ixgb(4) to NOTES.

Approved by: jfv


# 199050 08-Nov-2009 mav

Introduce define and kernel option ATA_REQUEST_TIMEOUT to control ATA(4)
command timeout.

Submitted by: keramida


# 198573 29-Oct-2009 ru

Update some comments regarding ktr(4).


# 198483 26-Oct-2009 mav

Document new modularised ATA kernel options.

PR: kern/133162
MFC after: 3 days


# 198320 21-Oct-2009 stas

- Introduce new option BCE_JUMBO_HDRSPLIT that allows user to enable header
splitting in bce(4) instead of (ab)using ZERO_COPY_SOCKETS that was not
propagated into if_bce.c anyway. It is disabled by default.

Approved by: davidch
MFC after: 3 days


# 197397 21-Sep-2009 delphij

Build x86bios only for i386/amd64 for now. More work is required
to make these functional on other architectures, and the current
code breaks sparc64 and powerpc.

Spotted by: tinderbox via des


# 197383 21-Sep-2009 delphij

Collapase interrupt supporting functions to a new module, and switch from
x86emu to this new module.

This changeset also brings a fix for bugs introduced with the initial
x86emu commit, which prevents the user from using some display mode or
cause instant reboots during mode switch.

Submitted by: paradox <ddkprog yahoo com>


# 197019 09-Sep-2009 delphij

- Port x86emu to FreeBSD.
- Connect x86emu to build.

Tested with: make universe
Submitted by: swell.k at gmail com


# 196636 28-Aug-2009 imp

Connect bwi up to the build. While there are some problems with this
driver still, it generally works well for most people most of the
time. It is still too green for GENERIC, however.

Submitted by: many (latest being kwm@)
MFC after: 2 days (before RC1 if possible)


# 195892 26-Jul-2009 bz

Update epair(4) to the new netisr implementation and polish
things a bit:
- use dpcpu data to track the ifps with packets queued up,
- per-cpu locking and driver flags
- along with .nh_drainedcpu and NETISR_POLICY_CPU.
- Put the mbufs in flight reference count, preventing interfaces
from going away, under INVARIANTS as this is a general problem
of the stack and should be solved in if.c/netisr but still good
to verify the internal queuing logic.
- Permit changing the MTU to virtually everythinkg like we do for loopback.

Hook epair(4) up to the build.

Approved by: re (kib)


# 195875 25-Jul-2009 mav

Add note, that ahci(4) and siis(4) supersede ata(4) drivers.

Approved by: re (implicitly)


# 195872 25-Jul-2009 mav

Add ahci and siis drivers to NOTES.

Approved by: re (implicitly)


# 195618 11-Jul-2009 rpaulo

Implementation of the upcoming Wireless Mesh standard, 802.11s, on the
net80211 wireless stack. This work is based on the March 2009 D3.0 draft
standard. This standard is expected to become final next year.
This includes two main net80211 modules, ieee80211_mesh.c
which deals with peer link management, link metric calculation,
routing table control and mesh configuration and ieee80211_hwmp.c
which deals with the actually routing process on the mesh network.
HWMP is the mandatory routing protocol on by the mesh standard, but
others, such as RA-OLSR, can be implemented.

Authentication and encryption are not implemented.

There are several scripts under tools/tools/net80211/scripts that can be
used to test different mesh network topologies and they also teach you
how to setup a mesh vap (for the impatient: ifconfig wlan0 create
wlandev ... wlanmode mesh).

A new build option is available: IEEE80211_SUPPORT_MESH and it's enabled
by default on GENERIC kernels for i386, amd64, sparc64 and pc98.

Drivers that support mesh networks right now are: ath, ral and mwl.

More information at: http://wiki.freebsd.org/WifiMesh

Please note that this work is experimental. Also, please note that
bridging a mesh vap with another network interface is not yet supported.

Many thanks to the FreeBSD Foundation for sponsoring this project and to
Sam Leffler for his support.
Also, I would like to thank Gateworks Corporation for sending me a
Cambria board which was used during the development of this project.

Reviewed by: sam
Approved by: re (kensmith)
Obtained from: projects/mesh11s


# 195064 26-Jun-2009 jhb

Note that as a result of the SYSV IPC changes, COMPAT_FREEBSD[456] now
require COMPAT_FREEBSD7. Also, explicitly note in NOTES that any version
of COMPAT_FREEBSD<n> effectively requires for newer binaries (i.e.
COMPAT_FREEBSD<n+1>, etc.). While this has been true in practice
previously, it used to compile ok before the commit earlier this week.

Discussed with: peter
Approved by: re (kensmith)


# 194683 23-Jun-2009 zec

Connect ng_pipe to the default build.

Approved by: julian (mentor)


# 194246 15-Jun-2009 marius

Add cas(4), a driver for Sun Cassini/Cassini+ and National Semiconductor
DP83065 Saturn Gigabit Ethernet controllers. These are the successors
of the Sun GEM controllers and still have a similar but extended transmit
logic. As such this driver is based on gem(4).
Thanks to marcel@ for providing a Sun Quad GigaSwift Ethernet UTP (QGE)
card which was vital for getting this driver to work on architectures
not using Open Firmware.

Approved by: re (kib)
MFC after: 2 weeks


# 194062 12-Jun-2009 vanhu

Added support for NAT-Traversal (RFC 3948) in IPsec stack.

Thanks to (no special order) Emmanuel Dreyfus (manu@netbsd.org), Larry
Baird (lab@gta.com), gnn, bz, and other FreeBSD devs, Julien Vanherzeele
(julien.vanherzeele@netasq.com, for years of bug reporting), the PFSense
team, and all people who used / tried the NAT-T patch for years and
reported bugs, patches, etc...

X-MFC: never

Reviewed by: bz
Approved by: gnn(mentor)
Obtained from: NETASQ


# 193880 10-Jun-2009 yongari

Add alc(4), a driver for Atheros AR8131/AR8132 PCIe ethernet
controller. These controllers are also known as L1C(AR8131) and
L2C(AR8132) respectively. These controllers resembles the first
generation controller L1 but usage of different descriptor format
and new register mappings over L1 register space requires a new
driver. There are a couple of registers I still don't understand
but the driver seems to have no critical issues for performance and
stability. Currently alc(4) supports the following hardware
features.
o MSI
o TCP Segmentation offload
o Hardware VLAN tag insertion/stripping
o Tx/Rx interrupt moderation
o Hardware statistics counters(dev.alc.%d.stats)
o Jumbo frame
o WOL
AR8131/AR8132 also supports Tx checksum offloading but I disabled
it due to stability issues. I'm not sure this comes from broken
sample boards or hardware bugs. If you know your controller works
without problems you can still enable it. The controller has a
silicon bug for Rx checksum offloading, so the feature was not
implemented.
I'd like to say big thanks to Atheros. Atheros kindly sent sample
boards to me and answered several questions I had.

HW donated by: Atheros Communications, Inc.


# 193683 08-Jun-2009 ariff

Add notes on various SND_* options.


# 193217 01-Jun-2009 pjd

- Rename IP_NONLOCALOK IP socket option to IP_BINDANY, to be more consistent
with OpenBSD (and BSD/OS originally). We can't easly do it SOL_SOCKET option
as there is no more space for more SOL_SOCKET options, but this option also
fits better as an IP socket option, it seems.
- Implement this functionality also for IPv6 and RAW IP sockets.
- Always compile it in (don't use additional kernel options).
- Remove sysctl to turn this functionality on and off.
- Introduce new privilege - PRIV_NETINET_BINDANY, which allows to use this
functionality (currently only unjail root can use it).

Discussed with: julian, adrian, jhb, rwatson, kmacy


# 193011 28-May-2009 attilio

Reverse the logic for ADAPTIVE_SX option and enable it by default.
Introduce for this operation the reverse NO_ADAPTIVE_SX option.
The flag SX_ADAPTIVESPIN to be passed to sx_init_flags(9) gets suppressed
and the new flag, offering the reversed logic, SX_NOADAPTIVE is added.

Additively implements adaptive spininning for sx held in shared mode.
The spinning limit can be handled through sysctls in order to be tuned
while the code doesn't reach the release, after which time they should
be dropped probabilly.

This change has made been necessary by recent benchmarks where it does
improve concurrency of workloads in presence of high contention
(ie. ZFS).

KPI breakage is documented by __FreeBSD_version bumping, manpage and
UPDATING updates.

Requested by: jeff, kmacy
Reviewed by: jeff
Tested by: pho


# 192991 28-May-2009 rmacklem

Add the kernel build glue for the experimental NFS subsystem that
includes support for NFSv4. The subsystem can optionally be linked
into the kernel using the two options:
NFSCL - the client
NFSD - the server
It is also built as three modules:
nfscl - the client
nfsd - the server
nfscommon - functions shared by the client and server

Approved by: kib (mentor)


# 192859 26-May-2009 sson

Add the ksyms(4) pseudo driver. The ksyms driver allows a process to
get a quick snapshot of the kernel's symbol table including the symbols
from any loaded modules (the symbols are all merged into one symbol
table). Unlike like other implementations, this ksyms driver maps
memory in the process memory space to store the snapshot at the time
/dev/ksyms is opened. It also checks to see if the process has already
a snapshot open and won't allow it to open /dev/ksyms it again until it
closes first. This prevents kernel and process memory from being
exhausted. Note that /dev/ksyms is used by the lockstat(1) command.

Reviewed by: gallatin kib (freebsd-arch)
Approved by: gnn (mentor)


# 192648 23-May-2009 bz

Add sysctls to toggle the behaviour of the (former) IPSEC_FILTERTUNNEL
kernel option.
This also permits tuning of the option per virtual network stack, as
well as separately per inet, inet6.

The kernel option is left for a transition period, marked deprecated,
and will be removed soon.

Initially requested by: phk (1 year 1 day ago)
MFC after: 4 weeks


# 191954 09-May-2009 kuriyama

- Use "device\t" and "options \t" for consistency.


# 191724 01-May-2009 sam

add uath; sort usb wireless drivers


# 191318 20-Apr-2009 antoine

vlan(4) no longer depends on miibus(4).

Reviewed by: jhb@
MFC after: 1 month


# 191255 18-Apr-2009 kmacy

- Import infrastructure for caching flows as a means of accelerating L3 and L2 lookups
as well as providing stateful load balancing when used with RADIX_MPATH.
- Currently compiled in to i386 and amd64 but disabled by default, it can be enabled at
runtime with 'sysctl net.inet.flowtable.enable=1'.

- Embedded users can remove it entirely from the kernel by adding 'nooption FLOWTABLE' to
their kernel config files.

- A minimal hookup will be added to ip_output in a subsequent commit. I would like to see
more review before bringing in changes that require more churn.

Supported by: Bitgravity Inc.


# 191130 15-Apr-2009 marcel

Add a compat option to the EBR scheme that controls the
naming of the partitions (GEOM_PART_EBR_COMPAT). When
compatibility is enabled, changes to the partitioning are
disallowed.

Remove the device name aliasing added previously to provide
backward compatibility, but which in practice doesn't give
us anything.

Enable compatibility on amd64 and i386.


# 190875 09-Apr-2009 jfv

Add additional file to ixgbe files list, and uncomment NOTES entry

MFC after: 2 weeks


# 190100 19-Mar-2009 thompsa

Remove the uscanner(4) driver, this follows the removal of the kernel scanner
driver in Linux 2.6. uscanner was just a simple wrapper around a fifo and
contained no logic, the default interface is now libusb (supported by sane).

Reviewed by: HPS


# 189851 15-Mar-2009 rwatson

Remove IFF_NEEDSGIANT, a compatibility infrastructure introduced
in FreeBSD 5.x to allow network device drivers to run with Giant
despite the network stack being Giant-free. This significantly
simplifies calls into ioctl() on network interfaces, especially
in the multicast code, as well as eliminates deferred invocation
of interface if_start routines.

Disable the build on device drivers still depending on
IFF_NEEDSGIANT as they no longer compile. They will be removed
in a few weeks if they haven't been made MPSAFE in that time.
Disabled drivers:

if_ar
if_axe
if_aue
if_cdce
if_cue
if_kue
if_ray
if_rue
if_rum
if_sr
if_udav
if_ural
if_zyd

Drivers that were already disabled because of tty changes:

if_ppp
if_sl

Discussed on: arch@


# 188961 23-Feb-2009 thompsa

- comment out slhci in NOTES for the moment
- rearrange the ucom entry so its recognised by config(8)


# 188960 23-Feb-2009 thompsa

Remove ugen from NOTES, its no longer an optional device.


# 188426 09-Feb-2009 marcel

Add option GEOM_PART_EBR by default on amd64 and i386.


# 188309 08-Feb-2009 wkoszek

Further NOTES cleanup -- following drivers didn't survive TTY-ng
and aren't included in NOTES anyway: cy(4), rc(4), rp(4).

si(4) doesn't belong to global NOTES.


# 188308 08-Feb-2009 wkoszek

Add missing pcfclock description.


# 188297 07-Feb-2009 wkoszek

Resort NOTES a bit to easily distinguish, which comments are actual and
refer to used options, and which comments are obseleted.

Reviewed by: imp


# 187459 20-Jan-2009 sobomax

Tone down warning about the quality of the NTFS VFS module. It appears that
not all developers share luigi opinion about quality of sysutils/fusefs-ntfs
compared to our kernel NTFS module.


# 187437 19-Jan-2009 sobomax

Mention the fact that the NTFS kernel support isn't
very well maintained and point user to sysutils/fusefs-ntfs, which
at the time of this writing seems to be a better alternative.

Suggested by: luigi
MFC after: 2 weeks


# 187367 17-Jan-2009 ed

Allow experimental libteken features to be tested without changing code.

The teken library already supports UTF-8 handling and xterm emulation,
but we have reasons to disable this right now. Because we should make it
easy and interesting for people to experiment with these features, allow
them to be set in kernel configuration files.

Before this commit we had a flag called `TEKEN_CONS25' to enable
cons25-style emulation. I'm calling it the opposite now, `TEKEN_XTERM',
because we want to enable it in kernel configuration files explicitly.

Requested by: kib


# 187050 11-Jan-2009 maxim

o Tweak comments a bit.


# 186955 09-Jan-2009 adrian

Implement a new IP option (not compiled/enabled by default) to allow
applications to specify a non-local IP address when bind()'ing a socket
to a local endpoint.

This allows applications to spoof the client IP address of connections
if (obviously!) they somehow are able to receive the traffic normally
destined to said clients.

This patch doesn't include any changes to ipfw or the bridging code to
redirect the client traffic through the PCB checks so TCP gets a shot
at it. The normal behaviour is that packets with a non-local destination
IP address are not handled locally. This can be dealth with some IPFW hackery;
modifications to IPFW to make this less hacky will occur in subsequent
commmits.

Thanks to Julian Elischer and others at Ironport. This work was approved
and donated before Cisco acquired them.

Obtained from: Julian Elischer and others
MFC after: 2 weeks


# 186851 07-Jan-2009 rafan

- Remove snd_au88x0 which seems never got compiled into kernel nor as a kernel
module. These files cause manual interaction when building
ports/audio/aureal-kmod which provides a usable i386-only driver (it requires
linking against some linux object files distributed by vendor which bankrupted
back in 2000).

MFC after: 1 week


# 186828 06-Jan-2009 mav

Add small hint that snd_ich is the AC'97 controller driver.


# 186119 15-Dec-2008 qingli

This main goals of this project are:
1. separating L2 tables (ARP, NDP) from the L3 routing tables
2. removing as much locking dependencies among these layers as
possible to allow for some parallelism in the search operations
3. simplify the logic in the routing code,

The most notable end result is the obsolescent of the route
cloning (RTF_CLONING) concept, which translated into code reduction
in both IPv4 ARP and IPv6 NDP related modules, and size reduction in
struct rtentry{}. The change in design obsoletes the semantics of
RTF_CLONING, RTF_WASCLONE and RTF_LLINFO routing flags. The userland
applications such as "arp" and "ndp" have been modified to reflect
those changes. The output from "netstat -r" shows only the routing
entries.

Quite a few developers have contributed to this project in the
past: Glebius Smirnoff, Luigi Rizzo, Alessandro Cerri, and
Andre Oppermann. And most recently:

- Kip Macy revised the locking code completely, thus completing
the last piece of the puzzle, Kip has also been conducting
active functional testing
- Sam Leffler has helped me improving/refactoring the code, and
provided valuable reviews
- Julian Elischer setup the perforce tree for me and has helped
me maintaining that branch before the svn conversion


# 184870 12-Nov-2008 yongari

Add ale(4), a driver for Atheros AR8121/AR8113/AR8114 PCIe ethernet
controller. The controller is also known as L1E(AR8121) and
L2E(AR8113/AR8114). Unlike its predecessor Attansic L1,
AR8121/AR8113/AR8114 uses completely different Rx logic such that
it requires separate driver. Datasheet for AR81xx is not available
to open source driver writers but it shares large part of Tx and
PHY logic of L1. I still don't understand some part of register
meaning and some MAC statistics counters but the driver seems to
have no critical issues for performance and stability.

The AR81xx requires copy operation to pass received frames to upper
stack such that ale(4) consumes a lot of CPU cycles than that of
other controller. A couple of silicon bugs also adds more CPU
cycles to address the known hardware bug. However, if you have fast
CPU you can still saturate the link.
Currently ale(4) supports the following hardware features.
- MSI.
- TCP Segmentation offload.
- Hardware VLAN tag insertion/stripping with checksum offload.
- Tx TCP/UDP checksum offload and Rx IP/TCP/UDP checksum offload.
- Tx/Rx interrupt moderation.
- Hardware statistics counters.
- Jumbo frame.
- WOL.

AR81xx PCIe ethernet controllers are mainly found on ASUS EeePC or
P5Q series of ASUS motherboards. Special thanks to Jeremy Chadwick
who sent the hardware to me. Without his donation writing a driver
for AR81xx would never have been possible. Big thanks to all people
who reported feedback or tested patches.

HW donated by: koitsu
Tested by: bsam, Joao Barros <joao.barros <> gmail DOT com >
Jan Henrik Sylvester <me <> janh DOT de >
Ivan Brawley < ivan <> brawley DOT id DOT au >,
CURRENT ML


# 184689 05-Nov-2008 ed

Reintroduce the snp(4) driver.

Because the TTY hooks interface was not finished when I imported the
MPSAFE TTY layer, I had to disconnect the snp(4) driver. This snp(4)
implementation has been sitting in my P4 branch for some time now.
Unfortunately it still doesn't use the same error handling as snp(4)
(returning codes through FIONREAD), but it should already be usable.

I'm committing this to SVN, hoping someone else could polish off its
rough edges. It's always better than having a broken driver sitting in
the tree.


# 184573 02-Nov-2008 scottl

Move the CAM passthrough code into a true module so that it doesn't have to be
compiled into the main AMR driver. It's code that is nice to have but not
required for normal operation, and it is reported to cause problems for some
people.


# 184566 02-Nov-2008 kib

Revert r184516. Option RL_TWISTER_ENABLE is no more after it became
loader tunable.

Pointy hat to: me


# 184516 31-Oct-2008 imp

Add RL_TWISTER_ENABLE.


# 184220 24-Oct-2008 n_hibma

Add U3G_DEBUG to LINT


# 184171 22-Oct-2008 obrien

Clarify the PREEMPTION description a little.


# 184138 21-Oct-2008 mav

Import sdhci (PCI SD Host Controller) driver.
Driver supports PCI devices with class 8 and subclass 5 according to
SD Host Controller Specification.

Update NOTES, enable module and static build.
Enable related mmc and mmcsd modules build.

Discussed on: mobile@, current@


# 183735 09-Oct-2008 n_hibma

Say hello to the u3g driver, implementing support for 3G modems.

This was located in the ubsa driver, but should be moved into a separate
driver:

- 3G modems provide multiple serial ports to allow AT commands while the PPP
connection is up.
- 3G modems do not provide baud rate or other serial port settings.
- Huawei cards need specific initialisation.
- ubsa is for Belkin adapters, an Linuxy choice for another device like 3G.

Speeds achieved here with a weak signal at best is ~40kb/s (UMTS). No spooky
STALLED messages as well.

Next: Move over all entries for Sierra and Novatel cards once I have found
testers, and implemented serial port enumeration for Sierra (or rather have
Andrea Guzzo do it). They list all endpoints in 1 iface instead of 4 ifaces.

Submitted by: aguzzo@anywi.com
MFC after: 3 weeks


# 183567 03-Oct-2008 stas

- Add driver for Attansic L2 FastEthernet controller found on
Asus EeePC and some Asus mainboards.

Reviewed by: yongari, rpaulo, jhb
Tested by: many
Approved by: kib (mentor)
MFC after: 1 week


# 182996 13-Sep-2008 bz

Turn on TCP_SIGNATURE for LINT builds. This should catch situations
we ran into in the past where places hidden by TCP_SIGNATURE were
missed.

It is possible to turn it on now that FAST_IPSEC (now know as IPSEC)
is enabled for LINT and the default and only IPsec implementation.


# 182870 08-Sep-2008 raj

ds133x: Introduce device_identify method; update NOTES.

Obtained from: Semihalf


# 181905 20-Aug-2008 ed

Integrate the new MPSAFE TTY layer to the FreeBSD operating system.

The last half year I've been working on a replacement TTY layer for the
FreeBSD kernel. The new TTY layer was designed to improve the following:

- Improved driver model:

The old TTY layer has a driver model that is not abstract enough to
make it friendly to use. A good example is the output path, where the
device drivers directly access the output buffers. This means that an
in-kernel PPP implementation must always convert network buffers into
TTY buffers.

If a PPP implementation would be built on top of the new TTY layer
(still needs a hooks layer, though), it would allow the PPP
implementation to directly hand the data to the TTY driver.

- Improved hotplugging:

With the old TTY layer, it isn't entirely safe to destroy TTY's from
the system. This implementation has a two-step destructing design,
where the driver first abandons the TTY. After all threads have left
the TTY, the TTY layer calls a routine in the driver, which can be
used to free resources (unit numbers, etc).

The pts(4) driver also implements this feature, which means
posix_openpt() will now return PTY's that are created on the fly.

- Improved performance:

One of the major improvements is the per-TTY mutex, which is expected
to improve scalability when compared to the old Giant locking.
Another change is the unbuffered copying to userspace, which is both
used on TTY device nodes and PTY masters.

Upgrading should be quite straightforward. Unlike previous versions,
existing kernel configuration files do not need to be changed, except
when they reference device drivers that are listed in UPDATING.

Obtained from: //depot/projects/mpsafetty/...
Approved by: philip (ex-mentor)
Discussed: on the lists, at BSDCan, at the DevSummit
Sponsored by: Snow B.V., the Netherlands
dcons(4) fixed by: kan


# 181233 03-Aug-2008 ed

Disconnect drivers that haven't been ported to MPSAFE TTY yet.

As clearly mentioned on the mailing lists, there is a list of drivers
that have not been ported to the MPSAFE TTY layer yet. Remove them from
the kernel configuration files. This means people can now still use
these drivers if they explicitly put them in their kernel configuration
file, which is good.

People should keep in mind that after August 10, these drivers will not
work anymore. Even though owners of the hardware are capable of getting
these drivers working again, I will see if I can at least get them to a
compilable state (if time permits).


# 180981 29-Jul-2008 yongari

Unbreak build.
Remove nfe(4). The driver applies to i386/amd64 only.


# 180946 28-Jul-2008 yongari

Add missing jme(4), msk(4), nfe(4), re(4) and stge(4) in NOTES and
ensure that LINT builds include these devices.

Reported by: Peter Jeremy


# 180942 28-Jul-2008 jhb

Re-enable em(4) and igb(4) in NOTES.

PR: conf/112081


# 180593 18-Jul-2008 dwmalone

Add an accept filter for TCP based DNS requests. It waits until the
whole first request is present before returning from accept.


# 180267 04-Jul-2008 jhb

Remove the sbsh(4) driver. No one responded to requests for testing the
MPSAFE patches on current@ and stable@. This driver also has a fundamental
issue in that it sleeps when sending commands to the card including in the
if_init/if_start routines (which can be called from interrupt context). As
such, the driver shouldn't be working reliably even on 4.x.


# 180261 04-Jul-2008 jhb

Remove the cnw(4) driver. No one responded to calls to test it on current@
and stable@. It also is a driver for an older non-802.11 wireless PC card
that is quite slow in comparison to say, wi(4). I know Warner wants this
driver axed as well.


# 180077 28-Jun-2008 philip

Remove stray "miibus0" reference from ancient kernel config file times.

MFC after: 1 day


# 179895 20-Jun-2008 delphij

Add et(4), a port of DragonFly's Agere ET1310 10/100/Gigabit
Ethernet device driver, written by sephe@

Obtained from: DragonFly
Sponsored by: iXsystems
MFC after: 2 weeks


# 179646 08-Jun-2008 marcel

Move bm(4) from the sys/conf/NOTES to sys/powerpc/conf/NOTES.
The driver applies to PowerPC only.


# 179645 07-Jun-2008 marcel

Add support for the Apple Big Mac (BMAC) Ethernet controller,
found on various Apple G3 models.

Submitted by: Nathan Whitehorn


# 179338 26-May-2008 yongari

Hook up jme(4) to the build.


# 179308 25-May-2008 rwatson

Remove netatm from HEAD as it is not MPSAFE and relies on the now removed
NET_NEEDS_GIANT. netatm has been disconnected from the build for ten
months in HEAD/RELENG_7. Specifics:

- netatm include files
- netatm command line management tools
- libatm
- ATM parts in rescue and sysinstall
- sample configuration files and documents
- kernel support as a module or in NOTES
- netgraph wrapper nodes for netatm
- ctags data for netatm.
- netatm-specific device drivers.

MFC after: 3 weeks
Reviewed by: bz
Discussed with: bms, bz, harti


# 179259 23-May-2008 jb

Add the KDTRACE_HOOKS option for DTrace support.


# 179212 22-May-2008 maxim

o Document two new ALT_BREAK_TO_DEBUGGER key sequences.


# 179101 18-May-2008 yongari

Hook up age(4) to the build.


# 179078 17-May-2008 remko

Resort the if_ti driver to match the PCI Network cards instead of placing
it under the mii devices list.

PR: kern/123147
Submitted by: gavin
Approved by: imp (mentor, implicit)
MFC after: 3 days


# 179040 16-May-2008 benno

Document BOOTP_BLOCKSIZE.


# 178888 09-May-2008 julian

Add code to allow the system to handle multiple routing tables.
This particular implementation is designed to be fully backwards compatible
and to be MFC-able to 7.x (and 6.x)

Currently the only protocol that can make use of the multiple tables is IPv4
Similar functionality exists in OpenBSD and Linux.

From my notes:

-----

One thing where FreeBSD has been falling behind, and which by chance I
have some time to work on is "policy based routing", which allows
different
packet streams to be routed by more than just the destination address.

Constraints:
------------

I want to make some form of this available in the 6.x tree
(and by extension 7.x) , but FreeBSD in general needs it so I might as
well do it in -current and back port the portions I need.

One of the ways that this can be done is to have the ability to
instantiate multiple kernel routing tables (which I will now
refer to as "Forwarding Information Bases" or "FIBs" for political
correctness reasons). Which FIB a particular packet uses to make
the next hop decision can be decided by a number of mechanisms.
The policies these mechanisms implement are the "Policies" referred
to in "Policy based routing".

One of the constraints I have if I try to back port this work to
6.x is that it must be implemented as a EXTENSION to the existing
ABIs in 6.x so that third party applications do not need to be
recompiled in timespan of the branch.

This first version will not have some of the bells and whistles that
will come with later versions. It will, for example, be limited to 16
tables in the first commit.
Implementation method, Compatible version. (part 1)
-------------------------------
For this reason I have implemented a "sufficient subset" of a
multiple routing table solution in Perforce, and back-ported it
to 6.x. (also in Perforce though not always caught up with what I
have done in -current/P4). The subset allows a number of FIBs
to be defined at compile time (8 is sufficient for my purposes in 6.x)
and implements the changes needed to allow IPV4 to use them. I have not
done the changes for ipv6 simply because I do not need it, and I do not
have enough knowledge of ipv6 (e.g. neighbor discovery) needed to do it.

Other protocol families are left untouched and should there be
users with proprietary protocol families, they should continue to work
and be oblivious to the existence of the extra FIBs.

To understand how this is done, one must know that the current FIB
code starts everything off with a single dimensional array of
pointers to FIB head structures (One per protocol family), each of
which in turn points to the trie of routes available to that family.

The basic change in the ABI compatible version of the change is to
extent that array to be a 2 dimensional array, so that
instead of protocol family X looking at rt_tables[X] for the
table it needs, it looks at rt_tables[Y][X] when for all
protocol families except ipv4 Y is always 0.
Code that is unaware of the change always just sees the first row
of the table, which of course looks just like the one dimensional
array that existed before.

The entry points rtrequest(), rtalloc(), rtalloc1(), rtalloc_ign()
are all maintained, but refer only to the first row of the array,
so that existing callers in proprietary protocols can continue to
do the "right thing".
Some new entry points are added, for the exclusive use of ipv4 code
called in_rtrequest(), in_rtalloc(), in_rtalloc1() and in_rtalloc_ign(),
which have an extra argument which refers the code to the correct row.

In addition, there are some new entry points (currently called
rtalloc_fib() and friends) that check the Address family being
looked up and call either rtalloc() (and friends) if the protocol
is not IPv4 forcing the action to row 0 or to the appropriate row
if it IS IPv4 (and that info is available). These are for calling
from code that is not specific to any particular protocol. The way
these are implemented would change in the non ABI preserving code
to be added later.

One feature of the first version of the code is that for ipv4,
the interface routes show up automatically on all the FIBs, so
that no matter what FIB you select you always have the basic
direct attached hosts available to you. (rtinit() does this
automatically).

You CAN delete an interface route from one FIB should you want
to but by default it's there. ARP information is also available
in each FIB. It's assumed that the same machine would have the
same MAC address, regardless of which FIB you are using to get
to it.

This brings us as to how the correct FIB is selected for an outgoing
IPV4 packet.

Firstly, all packets have a FIB associated with them. if nothing
has been done to change it, it will be FIB 0. The FIB is changed
in the following ways.

Packets fall into one of a number of classes.

1/ locally generated packets, coming from a socket/PCB.
Such packets select a FIB from a number associated with the
socket/PCB. This in turn is inherited from the process,
but can be changed by a socket option. The process in turn
inherits it on fork. I have written a utility call setfib
that acts a bit like nice..

setfib -3 ping target.example.com # will use fib 3 for ping.

It is an obvious extension to make it a property of a jail
but I have not done so. It can be achieved by combining the setfib and
jail commands.

2/ packets received on an interface for forwarding.
By default these packets would use table 0,
(or possibly a number settable in a sysctl(not yet)).
but prior to routing the firewall can inspect them (see below).
(possibly in the future you may be able to associate a FIB
with packets received on an interface.. An ifconfig arg, but not yet.)

3/ packets inspected by a packet classifier, which can arbitrarily
associate a fib with it on a packet by packet basis.
A fib assigned to a packet by a packet classifier
(such as ipfw) would over-ride a fib associated by
a more default source. (such as cases 1 or 2).

4/ a tcp listen socket associated with a fib will generate
accept sockets that are associated with that same fib.

5/ Packets generated in response to some other packet (e.g. reset
or icmp packets). These should use the FIB associated with the
packet being reponded to.

6/ Packets generated during encapsulation.
gif, tun and other tunnel interfaces will encapsulate using the FIB
that was in effect withthe proces that set up the tunnel.
thus setfib 1 ifconfig gif0 [tunnel instructions]
will set the fib for the tunnel to use to be fib 1.

Routing messages would be associated with their
process, and thus select one FIB or another.
messages from the kernel would be associated with the fib they
refer to and would only be received by a routing socket associated
with that fib. (not yet implemented)

In addition Netstat has been edited to be able to cope with the
fact that the array is now 2 dimensional. (It looks in system
memory using libkvm (!)). Old versions of netstat see only the first FIB.

In addition two sysctls are added to give:
a) the number of FIBs compiled in (active)
b) the default FIB of the calling process.

Early testing experience:
-------------------------

Basically our (IronPort's) appliance does this functionality already
using ipfw fwd but that method has some drawbacks.

For example,
It can't fully simulate a routing table because it can't influence the
socket's choice of local address when a connect() is done.

Testing during the generating of these changes has been
remarkably smooth so far. Multiple tables have co-existed
with no notable side effects, and packets have been routes
accordingly.

ipfw has grown 2 new keywords:

setfib N ip from anay to any
count ip from any to any fib N

In pf there seems to be a requirement to be able to give symbolic names to the
fibs but I do not have that capacity. I am not sure if it is required.

SCTP has interestingly enough built in support for this, called VRFs
in Cisco parlance. it will be interesting to see how that handles it
when it suddenly actually does something.

Where to next:
--------------------

After committing the ABI compatible version and MFCing it, I'd
like to proceed in a forward direction in -current. this will
result in some roto-tilling in the routing code.

Firstly: the current code's idea of having a separate tree per
protocol family, all of the same format, and pointed to by the
1 dimensional array is a bit silly. Especially when one considers that
there is code that makes assumptions about every protocol having the
same internal structures there. Some protocols don't WANT that
sort of structure. (for example the whole idea of a netmask is foreign
to appletalk). This needs to be made opaque to the external code.

My suggested first change is to add routing method pointers to the
'domain' structure, along with information pointing the data.
instead of having an array of pointers to uniform structures,
there would be an array pointing to the 'domain' structures
for each protocol address domain (protocol family),
and the methods this reached would be called. The methods would have
an argument that gives FIB number, but the protocol would be free
to ignore it.

When the ABI can be changed it raises the possibilty of the
addition of a fib entry into the "struct route". Currently,
the structure contains the sockaddr of the desination, and the resulting
fib entry. To make this work fully, one could add a fib number
so that given an address and a fib, one can find the third element, the
fib entry.

Interaction with the ARP layer/ LL layer would need to be
revisited as well. Qing Li has been working on this already.

This work was sponsored by Ironport Systems/Cisco

Reviewed by: several including rwatson, bz and mlair (parts each)
Obtained from: Ironport systems/Cisco


# 178815 06-May-2008 julian

Fix spelling in comment.


# 178742 03-May-2008 sam

enable IEEE80211_DEBUG and IEEE80211_AMPDU_AGE by default


# 178674 29-Apr-2008 julian

Add an option (compiled out by default)
to profile outoing packets for a number of mbuf chain
related parameters
e.g. number of mbufs, wasted space.
probably will do with further work later.

Reviewed by: various


# 178354 20-Apr-2008 sam

Multi-bss (aka vap) support for 802.11 devices.

Note this includes changes to all drivers and moves some device firmware
loading to use firmware(9) and a separate module (e.g. ral). Also there
no longer are separate wlan_scan* modules; this functionality is now
bundled into the wlan module.

Supported by: Hobnob and Marvell
Reviewed by: many
Obtained from: Atheros (some bits)


# 178352 20-Apr-2008 sam

move awi to the Attic; it will not make the jump to the new world order

Reviewed by: imp


# 177863 02-Apr-2008 imp

Add zyd, ural, and rum. They were missing.


# 177692 28-Mar-2008 marcel

Add support for PC-9800 partition tables.


# 177633 26-Mar-2008 dfr

Add the new kernel-mode NFS Lock Manager. To use it instead of the
user-mode lock manager, build a kernel with the NFSLOCKD option and
add '-k' to 'rpc_lockd_flags' in rc.conf.

Highlights include:

* Thread-safe kernel RPC client - many threads can use the same RPC
client handle safely with replies being de-multiplexed at the socket
upcall (typically driven directly by the NIC interrupt) and handed
off to whichever thread matches the reply. For UDP sockets, many RPC
clients can share the same socket. This allows the use of a single
privileged UDP port number to talk to an arbitrary number of remote
hosts.

* Single-threaded kernel RPC server. Adding support for multi-threaded
server would be relatively straightforward and would follow
approximately the Solaris KPI. A single thread should be sufficient
for the NLM since it should rarely block in normal operation.

* Kernel mode NLM server supporting cancel requests and granted
callbacks. I've tested the NLM server reasonably extensively - it
passes both my own tests and the NFS Connectathon locking tests
running on Solaris, Mac OS X and Ubuntu Linux.

* Userland NLM client supported. While the NLM server doesn't have
support for the local NFS client's locking needs, it does have to
field async replies and granted callbacks from remote NLMs that the
local client has contacted. We relay these replies to the userland
rpc.lockd over a local domain RPC socket.

* Robust deadlock detection for the local lock manager. In particular
it will detect deadlocks caused by a lock request that covers more
than one blocking request. As required by the NLM protocol, all
deadlock detection happens synchronously - a user is guaranteed that
if a lock request isn't rejected immediately, the lock will
eventually be granted. The old system allowed for a 'deferred
deadlock' condition where a blocked lock request could wake up and
find that some other deadlock-causing lock owner had beaten them to
the lock.

* Since both local and remote locks are managed by the same kernel
locking code, local and remote processes can safely use file locks
for mutual exclusion. Local processes have no fairness advantage
compared to remote processes when contending to lock a region that
has just been unlocked - the local lock manager enforces a strict
first-come first-served model for both local and remote lockers.

Sponsored by: Isilon Systems
PR: 95247 107555 115524 116679
MFC after: 2 weeks


# 177417 19-Mar-2008 jeff

- Add an option to compile in SCHED_STATS.
- Add some more information about SLEEPQUEUE_PROFILING to NOTES.


# 176975 09-Mar-2008 rwatson

HZ now defaults to 1000 on many architectures, so update NOTES to reflect
that.

MFC after: 3 days
PR: 113670
Submitted by: Ighighi <ighighi at gmail.com>


# 176868 06-Mar-2008 rink

Commit cmx(4), a driver for Omnikey CardMan 4040 PCMCIA smartcard readers.

PR: kern/114582
Submitted by: Daniel Roethlisberger <daniel@roe.ch>
Reviewed by: imp, myself
Tested by: johans, myself
MFC after: 2 weeks


# 176829 05-Mar-2008 rink

Import uslcom(4) from OpenBSD - this is a driver for Silicon Laboratories
CP2101/CP2102 based USB serial adapters.

Reviewed by: imp, emaste
Obtained from: OpenBSD
MFC after: 2 weeks


# 176726 02-Mar-2008 marcel

Add the SMI VTOC8 disk label option.


# 176678 29-Feb-2008 jfv

Temporarily comment out new entries due to build problems, to be resolved next week.


# 176677 29-Feb-2008 jfv

Add entries for em, igb, and ixgbe adapters.


# 176669 29-Feb-2008 piso

Move ipfw's nat code into its own kld: ipfw_nat.


# 176572 26-Feb-2008 kmacy

Move firmware in to separate module that can be compiled statically in to the kernel
Add utility for converting future firmware revs to a C header file


# 176418 20-Feb-2008 thompsa

Rename geom_lvm(4) to geom_linux_lvm(4).

Requested by: des, phk


# 176167 11-Feb-2008 thompsa

Hook geom_lvm(4) up to the build.


# 175147 07-Jan-2008 jhb

Add COMPAT_FREEBSD7 and enable it in configs that have COMPAT_FREEBSD6.


# 174949 27-Dec-2007 des

Unbreak LINT on non-i386/amd64 platforms.


# 174941 27-Dec-2007 rpaulo

Add asmc(4).

Approved by: njl (mentor)


# 174708 17-Dec-2007 kmacy

Make TCP offload work on HEAD (modulo negative interaction between sbcompress
and t3_push_frames).
- Import latest changes to cxgb_main.c and cxgb_sge.c from toestack p4 branch
- make driver local copy of tcp_subr.c and tcp_usrreq.c and override tcp_usrreqs so
TOE can also functions on versions with unmodified TCP

- add cxgb back to the build


# 174653 16-Dec-2007 kmacy

turn off building of cxgb properly ... sigh


# 174650 16-Dec-2007 kmacy

disable cxgb build to prevent tinderbox whining


# 174326 06-Dec-2007 marcel

Add a BSD disklabel backend to g_part:
o Disklabels can have between 8 and 20 partitions (inclusive).
o No device special file is created for the raw partition.
o Switch ia64 to use this backend.
o No support for boot code yet.


# 174271 04-Dec-2007 wkoszek

Remove obsolete comment on a way of getting kernel configuration file from
INCLUDE_CONFIG_FILE. Make a user to look at what config(8) actually does,
and how can one fetch actual configuration file.

Reported by: many
Reviewed by: cognet (mentor)
Approved by: cognet (mentor)


# 174195 02-Dec-2007 rwatson

Break out stack(9) from ddb(4):

- Introduce per-architecture stack_machdep.c to hold stack_save(9).
- Introduce per-architecture machine/stack.h to capture any common
definitions required between db_trace.c and stack_machdep.c.
- Add new kernel option "options STACK"; we will build in stack(9) if it is
defined, or also if "options DDB" is defined to provide compatibility
with existing users of stack(9).

Add new stack_save_td(9) function, which allows the capture of a stacktrace
of another thread rather than the current thread, which the existing
stack_save(9) was limited to. It requires that the thread be neither
swapped out nor running, which is the responsibility of the consumer to
enforce.

Update stack(9) man page.

Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v
Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson)


# 174005 28-Nov-2007 attilio

Make ADAPTIVE_GIANT as the default in the kernel and remove the option.
Currently, Giant is not too much contented so that it is ok to treact it
like any other mutexes.

Please don't forget to update your own custom config kernel files.

Approved by: cognet, marcel (maintainers of arches where option is
not enabled at the moment)


# 173380 06-Nov-2007 grog

Correct typo.

MFC after: 2 weeks


# 172334 26-Sep-2007 marius

o Revert the part of if_gem.c rev. 1.35 which added a call to gem_stop()
to gem_attach() as the former access softc members not yet initialized
at that time and gem_reset() actually is enough to stop the chip. [1]
o Revise the use of gem_bitwait(); add bus_barrier() calls before calling
gem_bitwait() to ensure the respective bit has been written before we
starting polling on it and poll for the right bits to change, f.e. even
though we only reset RX we have to actually wait for both GEM_RESET_RX
and GEM_RESET_TX to clear. Add some additional gem_bitwait() calls in
places we've been missing them according to the GEM documentation.
Along with this some excessive DELAYs, which probably only were added
because of bugs in gem_bitwait() and its use in the first place, as
well as as have of an gem_bitwait() reimplementation in gem_reset_tx()
were removed.
o Add gem_reset_rxdma() and use it to deal with GEM_MAC_RX_OVERFLOW errors
more gracefully as unlike gem_init_locked() it resets the RX DMA engine
only, causing no link loss and the FIFOs not to be cleared. Also use it
deal with GEM_INTR_RX_TAG_ERR errors, with previously were unhandled.
This was based on information obtained from the Linux GEM and OpenSolaris
ERI drivers.
o Turn on workarounds for silicon bugs in the Apple GMAC variants.
This was based on information obtained from the Darwin GMAC and Linux GEM
drivers.
o Turn on "infinite" (i.e. maximum 31 * 64 bytes in length) DMA bursts.
This greatly improves especially RX performance.
o Optimize the RX path, this consists of:
- kicking the receiver as soon as we've a spare descriptor in gem_rint()
again instead of just once after all the ready ones have been handled;
- kicking the receiver the right way, i.e. as outlined in the GEM
documentation in batches of 4 and by pointing it to the descriptor
after the last valid one;
- calling gem_rint() before gem_tint() in gem_intr() as gem_tint() may
take quite a while;
- doubling the size of the RX ring to 256 descriptors.
Overall the RX performance of a GEM in a 1GHz Sun Fire V210 was improved
from ~100Mbit/s to ~850Mbit/s.
o In gem_add_rxbuf() don't assign the newly allocated mbuf to rxs_mbuf
before calling bus_dmamap_load_mbuf_sg(), if bus_dmamap_load_mbuf_sg()
fails we'll free the newly allocated mbuf, unable to recycle the
previous one but a NULL pointer dereference instead.
o In gem_init_locked() honor the return value of gem_meminit().
o Simplify gem_ringsize() and dont' return garbage in the default case.
Based on OpenBSD.
o Don't turn on MAC control, MIF and PCS interrupts unless GEM_DEBUG is
defined as we don't need/use these interrupts for operation.
o In gem_start_locked() sync the DMA maps of the descriptor rings before
every kick of the transmitter and not just once after enqueuing all
packets as the NIC might instantly start transmitting after we kicked
it the first time.
o Keep state of the link state and use it to enable or disable the MAC
in gem_mii_statchg() accordingly as well as to return early from
gem_start_locked() in case the link is down. [3]
o Initialize the maximum frame size to a sane value.
o In gem_mii_statchg() enable carrier extension if appropriate.
o Increment if_ierrors in case of an GEM_MAC_RX_OVERFLOW error and in
gem_eint(). [3]
o Handle IFF_ALLMULTI correctly; don't set it if we've turned promiscuous
group mode on and don't clear the flag if we've disabled promiscuous
group mode (these were mostly NOPs though). [2]
o Let gem_eint() also report GEM_INTR_PERR errors.
o Move setting sc_variant from gem_pci_probe() to gem_pci_attach() as
device probe methods are not supposed to touch the softc.
o Collapse sc_inited and sc_pci into bits for sc_flags.
o Add CTASSERTs ensuring that GEM_NRXDESC and GEM_NTXDESC are set to
legal values.
o Correctly set up for 802.3x flow control, though #ifdef out the code
that actually enables it as this needs more testing and mainly a proper
framework to support it.
o Correct and add some conversions from hard-coded functions names to
__func__ which were borked or forgotten in if_gem.c rev. 1.42.
o Use PCIR_BAR instead of a homegrown macro.
o Replace sc_enaddr[6] with sc_enaddr[ETHER_ADDR_LEN].
o In gem_pci_attach() in case attaching fails release the resources in
the opposite order they were allocated.
o Make gem_reset() static to if_gem.c as it's not needed outside that
module.
o Remove the GEM_GIGABIT flag and the associated code; GEM_GIGABIT was
never set and the associated code was in the wrong place.
o Remove sc_mif_config; it was only used to cache the contents of the
respective register within gem_attach().
o Remove the #ifdef'ed out NetBSD/OpenBSD code for establishing a suspend
hook as it will never be used on FreeBSD.
o Also probe Apple Intrepid 2 GMAC and Apple Shasta GMAC, add support for
Apple K2 GMAC. Based on OpenBSD.
o Add support for Sun GBE/P cards, or in other words actually add support
for cards based on GEM to gem(4). This mainly consists of adding support
for the TBI of these chips. Along with this the PHY selection code was
rewritten to hardcode the PHY number for certain configurations as for
example the PHY of the on-board ERI of Blade 1000 shows up twice causing
no link as the second incarnation is isolated.
These changes were ported from OpenBSD with some additional improvements
and modulo some bugs.
o Add code to if_gem_pci.c allowing to read the MAC-address from the VPD on
systems without Open Firmware.
This is an improved version of my variant of the respective code in
if_hme_pci.c
o Now that gem(4) is MI enable it for all archs.

Pointed out by: yongari [1]
Suggested by: rwatson [2], yongari [3]
Tested on: i386 (GEM), powerpc (GMACs by marcel and yongari),
sparc64 (ERI and GEM)
Reviewed by: yongari
Approved by: re (kensmith)


# 172302 23-Sep-2007 pjd

Bring in the GEOM Virtualisation class, which allows to create huge GEOM
providers with limited physical storage and add physical storage as
needed.

Submitted by: Ivan Voras
Sponsored by: Google Summer of Code 2006
Approved by: re (kensmith)


# 172298 22-Sep-2007 mlaier

Remove PF_MPSAFE_UGID leftover.

Spotted by: bz
Approved by: re (gnn)


# 172249 19-Sep-2007 imp

Add mmc and mmcsd, and correct a couple of comments. They are
commented out until I can re-test them on all our architectures. I
had re@ approval to commit this a long time ago, but that's before we
were this close to the branch.

Approved by: re@


# 172150 12-Sep-2007 ariff

Update snd_emu10kx driver with recent perforce changes (and few
other changes too).

(without any real order)

1. Use device_get_nameunit for mutex naming
2. Add timer for low-latency playback
3. Move most mixer controls from sysctls to mixer(8) controls.
This is a largest part of this patch.
4. Add analog/digital switch (as a temporary sysctl)
5. Get back support for low-bitrate playback (with help of (2))
6. Change locking for exclusive I/O. Writing to non-PTR register
is almost safe and does not need to be ordered with PTR operations.
7. Disable MIDI until we get it to detach properly and fix memory
managment problems.
8. Enable multichannel playback by default. It is as stable as
single-channel mode. Multichannel recording is still an
experimental feature.
9. Multichannel options can be changed by loader tunables.
10. Add a way to disable card from a loader tunable.
11. Add new PCI IDs.
12. Debugger settings are loader tunables now.
14. Remove some unused variables.
15. Mark pcm sub-devices MPSAFE.
16. Partially revert (bus_setup_intr -> snd_setup_intr) since it need
to be done independently

Submitted by: Yuriy Tsibizov (driver maintainer)
Approved by: re (bmah)


# 171818 13-Aug-2007 emax

Make ng_h4(4) MPSAFE. Use similar to ng_tty(4) locking strategy.
Reconnect ng_h(4) back to the build.

Reviewed by: kensmith
Approved by: re (kensmith)
MFC after: 1 month


# 171732 05-Aug-2007 bz

Rename option IPSEC_FILTERGIF to IPSEC_FILTERTUNNEL.
Also rename the related functions in a similar way.
There are no functional changes.

For a packet coming in with IPsec tunnel mode, the default is
to only call into the firewall with the "outer" IP header and
payload.

With this option turned on, in addition to the "outer" parts,
the "inner" IP header and payload are passed to the
firewall too when going through ip_input() the second time.

The option was never only related to a gif(4) tunnel within
an IPsec tunnel and thus the name was very misleading.

Discussed at: BSDCan 2007
Best new name suggested by: rwatson
Reviewed by: rwatson
Approved by: re (bmah)


# 171568 24-Jul-2007 scottl

Introduce Danny Braniss' iSCSI initiator, version 2.0.99. Please read the
included man pages on how to use it. This code is still somewhat experimental
but has been successfully tested on a number of targets. Many thanks to
Danny for contributing this.

Approved by: re


# 171500 19-Jul-2007 gallatin

- Enable static building of mxge(4) and its firmware.

- Add custom .c wrappers for the firmware, rather than the standard
firmware(9) generated firmware objects to work around toolchain
problems on ia64 involving linking objects produced by
ld -b -binary into the kernel.

- Move from using Myricom's ".dat" firmware blobs to using Myricom's
zlib compressed ".h" firmware header files. This is done to
facilitate the custom wrappers, and saves a fair amount of wired
memory in the case where the firmware is built in, or preloaded.

- Fix two compile issues in mxge which only appear on non-i386/amd64.

Reviewed by: mlaier, mav (earlier version with just zlib support)
Glanced at by: sam
Approved by: re (kensmith)


# 171483 18-Jul-2007 jeff

- Update ULE note to remove warnings against production use.

Suggested by: Ben Kaduk <minimarmot@gmail.com>
Approved by: re


# 171453 14-Jul-2007 rwatson

Disconnect netatm from the build as it is not MPSAFE and relies on
NET_NEEDS_GIANT, which will shortly be removed. This is done in a
away that it may be easily reattached to the build before 7.1 if
appropriate locking is added. Specifics:

- Don't install netatm include files
- Disconnect netatm command line management tools
- Don't build libatm
- Don't include ATM parts in rescue or sysinstall
- Don't install sample configuration files and documents
- Don't build kernel support as a module or in NOTES
- Don't build netgraph wrapper nodes for netatm

This removes the last remaining consumer of NET_NEEDS_GIANT.

Reviewed by: harti
Discussed with: bz, bms
Approved by: re (kensmith)


# 171442 14-Jul-2007 rwatson

Remove "options SCTP_HIGH_SPEED" from NOTES as it has now been removed
from options.

Approved by: re (bmah)


# 171349 10-Jul-2007 emax

Mark ng_h4(4) as not MPSAFE and disconnect it from the LINT build for now.

Approved by: re (rwatson)


# 171258 05-Jul-2007 gnn

Added comments eplaining the requirement for device crypto with IPSEC

Approved by: re


# 171167 03-Jul-2007 gnn

Commit the change from FAST_IPSEC to IPSEC. The FAST_IPSEC
option is now deprecated, as well as the KAME IPsec code.
What was FAST_IPSEC is now IPSEC.

Approved by: re
Sponsored by: Secure Computing


# 171133 01-Jul-2007 gnn

Commit IPv6 support for FAST_IPSEC to the tree.
This commit includes only the kernel files, the rest of the files
will follow in a second commit.

Reviewed by: bz
Approved by: re
Supported by: Secure Computing


# 171095 29-Jun-2007 sam

Neterion Xframe 10GbE Server/Storage adapter driver.

The nxge driver provides support for Neterion Xframe-I and Xframe-II
adapters. The driver supports TCP Segmentation Offload (TSO/LSO),
Jumbo frames (5 buffer mode), Header separation (2 and 3 Receive
buffer modes), VLAN, and Promiscuous mode.

Submitted by: Neterion
Reviewed by: rwatson
Approved by: re (kensmith)


# 171059 27-Jun-2007 rafan

Force commit to note in rev. 1.1435 the correct discussion for
removing warning about nullfs is

http://docs.freebsd.org/cgi/mid.cgi?6eb82e0706182246q6563ba03x31038082125b50ae

Approved by: re (implicit)
Reminded by: des


# 171023 25-Jun-2007 rafan

- Remove UMAP filesystem. It was disconnected from build three years ago,
and it is seriously broken.

Discussed on: freebsd-arch@
Approved by: re (mux)


# 171005 23-Jun-2007 rafan

- Remove the warning about NULL filesystem. It is stable and safe to use in
both 6.x and 7.x. This is based on feedbacks on this thread

http://docs.freebsd.org/cgi/getmsg.cgi?fetch=81818+0+current/freebsd-stable

and my use it on 6.x.

MFC after: 3 days

- Update the warning about UNION filesystem. It is now actively maintained,
although there are still some issues being resolved.

Reviewed by: freebsd-stable@, kris, bmah
Approved by: re (bmah)


# 170816 16-Jun-2007 alc

Enable the new physical memory allocator.

This allocator uses a binary buddy system with a twist. First and
foremost, this allocator is required to support the implementation of
superpages. As a side effect, it enables a more robust implementation
of contigmalloc(9). Moreover, this reimplementation of
contigmalloc(9) eliminates the acquisition of Giant by
contigmalloc(..., M_NOWAIT, ...).

The twist is that this allocator tries to reduce the number of TLB
misses incurred by accesses through a direct map to small, UMA-managed
objects and page table pages. Roughly speaking, the physical pages
that are allocated for such purposes are clustered together in the
physical address space. The performance benefits vary. In the most
extreme case, a uniprocessor kernel running on an Opteron, I measured
an 18% reduction in system time during a buildworld.

This allocator does not implement page coloring. The reason is that
superpages have much the same effect. The contiguous physical memory
allocation necessary for a superpage is inherently colored.

Finally, the one caveat is that this allocator does not effectively
support prezeroed pages. I hope this is temporary. On i386, this is
a slight pessimization. However, on amd64, the beneficial effects of
the direct-map optimization outweigh the ill effects. I speculate
that this is true in general of machines with a direct map.

Approved by: re


# 170746 15-Jun-2007 rrs

- Oppps, forgot to update out the notes file for LINT builds- purge
old logging options that are no longer needed.


# 170664 13-Jun-2007 rwatson

Remove IPX over IP tunneling support, which allows IPX routing over IP
tunnels, and was not MPSAFE. The code can be easily restored in the
event that someone with an IPX over IP tunnel configuration can work
with me to test patches.

This removes one of five remaining consumers of NET_NEEDS_GIANT.

Approved by: re (kensmith)


# 170651 13-Jun-2007 marcel

Add the MBR partitioning scheme to g_part. This does not yet
support the ability to install boot code.


# 170530 11-Jun-2007 sam

Update 802.11 wireless support:
o major overhaul of the way channels are handled: channels are now
fully enumerated and uniquely identify the operating characteristics;
these changes are visible to user applications which require changes
o make scanning support independent of the state machine to enable
background scanning and roaming
o move scanning support into loadable modules based on the operating
mode to enable different policies and reduce the memory footprint
on systems w/ constrained resources
o add background scanning in station mode (no support for adhoc/ibss
mode yet)
o significantly speedup sta mode scanning with a variety of techniques
o add roaming support when background scanning is supported; for now
we use a simple algorithm to trigger a roam: we threshold the rssi
and tx rate, if either drops too low we try to roam to a new ap
o add tx fragmentation support
o add first cut at 802.11n support: this code works with forthcoming
drivers but is incomplete; it's included now to establish a baseline
for other drivers to be developed and for user applications
o adjust max_linkhdr et. al. to reflect 802.11 requirements; this eliminates
prepending mbufs for traffic generated locally
o add support for Atheros protocol extensions; mainly the fast frames
encapsulation (note this can be used with any card that can tx+rx
large frames correctly)
o add sta support for ap's that beacon both WPA1+2 support
o change all data types from bsd-style to posix-style
o propagate noise floor data from drivers to net80211 and on to user apps
o correct various issues in the sta mode state machine related to handling
authentication and association failures
o enable the addition of sta mode power save support for drivers that need
net80211 support (not in this commit)
o remove old WI compatibility ioctls (wicontrol is officially dead)
o change the data structures returned for get sta info and get scan
results so future additions will not break user apps
o fixed tx rate is now maintained internally as an ieee rate and not an
index into the rate set; this needs to be extended to deal with
multi-mode operation
o add extended channel specifications to radiotap to enable 11n sniffing

Drivers:
o ath: add support for bg scanning, tx fragmentation, fast frames,
dynamic turbo (lightly tested), 11n (sniffing only and needs
new hal)
o awi: compile tested only
o ndis: lightly tested
o ipw: lightly tested
o iwi: add support for bg scanning (well tested but may have some
rough edges)
o ral, ural, rum: add suppoort for bg scanning, calibrate rssi data
o wi: lightly tested

This work is based on contributions by Atheros, kmacy, sephe, thompsa,
mlaier, kevlo, and others. Much of the scanning work was supported by
Atheros. The 11n work was supported by Marvell.


# 170441 08-Jun-2007 attilio

Remove the MUTEX_WAKE_ALL option and make it the default behaviour for our
mutexes.
Currently we alredy force MUTEX_WAKE_ALL beacause of some problems with the
!MUTEX_WAKE_ALL case (unavioidable priority inversion).


# 170308 04-Jun-2007 jeff

- Remove sched_core.c. The maintainer has lost interest in pursuing this
and it has been neglected in the recent ksegrp removal as well as
the thread_lock() changes.

Discussed with: davidxu


# 169609 16-May-2007 scottl

Add the 'mfip' sub-driver for gaining SCSI-passthrough access to devices
on an MFI controller.


# 169582 15-May-2007 mav

A node that implements various traffic shaping and rate limiting algorithms (ng_car).

Approved by: glebius (mentor)


# 169437 10-May-2007 kevlo

Hook wlan_amrr up to the build.


# 169421 09-May-2007 scottl

It turns out that the hptiop driver isn't portable after all. Confine it to
amd64 and i386 for now.


# 169412 09-May-2007 scottl

Introduce a driver for the Highpoint RocketRAID 3xxx series of controllers.
The driver relies on CAM.

Many thanks to Highpoint for providing this driver.


# 168793 16-Apr-2007 thompsa

Rename the trunk(4) driver to lagg(4) as it is too similar to vlan trunking.

The name trunk is misused as the networking term trunk means carrying multiple
VLANs over a single connection. The IEEE standard for link aggregation (802.3
section 3) does not talk about 'trunk' at all while it is used throughout IEEE
802.1Q in describing vlans.

The lagg(4) driver provides link aggregation, failover and fault tolerance.

Discussed on: current@


# 168567 10-Apr-2007 thompsa

Fix build, trunk is a device not an option.


# 168563 09-Apr-2007 thompsa

Hook trunk(4) up to the build.


# 168477 07-Apr-2007 scottl

Add the CAM 'SG' peripheral device. This device implements a subset of the
Linux SCSI SG passthrough device API. The intention is to allow for both
running of Linux apps that want to talk to /dev/sg* nodes, and to facilitate
porting of apps from Linux to FreeBSD. As such, both native and linuxolator
entry points and definitions are provided.

Caveats:
- This does not support the procfs and sysfs nodes that the Linux SG
driver provides. Some Linux apps may rely on these for operation,
others may only use them for informational purposes.
- More ioctls need to be implemented.
- Linux uses a naming scheme of "sg[a-z]" for devices, while FreeBSD uses a
scheme of "sg[0-9]". Devfs aliasis (symlinks) are automatically created
to link the two together. However, tools like camcontrol only see the
native names.
- Some operations were originally designed to return byte counts or other
data directly as the syscall return value. The linuxolator doesn't appear
to support this well, so this driver just punts for these cases.

Now that the driver is in place, others are welcome to add missing
functionality. Thanks to Roman Divacky for pushing this work along.


# 168240 01-Apr-2007 mjacob

Temporarily desupport simultaneous target and initiator mode.

When the linux port changes were imported which split the
target command list to be separate from the initiator command
list and the handle format changed to encode a type in the handle
the implications to the function isp_handle_index (which only
the NetBSD/OpenBSD/FreeBSD ports use) were overlooked.

The fault is twofold: first, the index into the DMA maps
in isp_pci is wrong because a target command handle with
the type bit left in place caused a bad index (and panic)
into dma map. Secondly, the assumption of the array
of DMA maps in either PCS or SBUS attachment structures is
that there is a linear mapping between handle index and
DMA map index. This can no longer be true if there are
overlapping index spaces for initiator mode and target
mode commands.

These changes bandaid around the problem by forcing us
to not have simultaneous dual roles and doing the appropriate
masking to make sure things are indexed correctly. A longer
term fix is being devloped.


# 168191 31-Mar-2007 jhb

Optimize sx locks to use simple atomic operations for the common cases of
obtaining and releasing shared and exclusive locks. The algorithms for
manipulating the lock cookie are very similar to that rwlocks. This patch
also adds support for exclusive locks using the same algorithm as mutexes.

A new sx_init_flags() function has been added so that optional flags can be
specified to alter a given locks behavior. The flags include SX_DUPOK,
SX_NOWITNESS, SX_NOPROFILE, and SX_QUITE which are all identical in nature
to the similar flags for mutexes.

Adaptive spinning on select locks may be enabled by enabling the
ADAPTIVE_SX kernel option. Only locks initialized with the SX_ADAPTIVESPIN
flag via sx_init_flags() will adaptively spin.

The common cases for sx_slock(), sx_sunlock(), sx_xlock(), and sx_xunlock()
are now performed inline in non-debug kernels. As a result, <sys/sx.h> now
requires <sys/lock.h> to be included prior to <sys/sx.h>.

The new kernel option SX_NOINLINE can be used to disable the aforementioned
inlining in non-debug kernels.

The size of struct sx has changed, so the kernel ABI is probably greatly
disturbed.

MFC after: 1 month
Submitted by: attilio
Tested by: kris, pjd


# 167897 26-Mar-2007 yar

Fix some statements in disc(4) and about it:
- ifnet is no more embedded in softc;
- the interface name is `disc', not `ds'.


# 167891 26-Mar-2007 yar

Introduce a new toy interface, edsc(4). It's a discard interface
imitating an Ethernet device, so vlan(4) and if_bridge(4) can be
attached to it for testing and benchmarking purposes. Its source
can be an introduction to the anatomy of a network interface driver
due to its simplicity as well as to a bunch of comments in it.


# 167801 22-Mar-2007 jhb

- Simplify the #ifdef's for adaptive mutexes and rwlocks by conditionally
defining a macro earlier in the file.
- Add NO_ADAPTIVE_RWLOCKS option to disable adaptive spinning for rwlocks.


# 167774 21-Mar-2007 andre

Make TCP_DROP_SYNFIN a standard part of TCP. Disabled by default it
doesn't impede normal operation negatively and is only a few lines of
code. It's close relatives blackhole and log_in_vain aren't options
either.


# 167530 14-Mar-2007 kmacy

Add support for statically compiling cxgb into the kernel


# 167050 27-Feb-2007 mjacob

First cut at GEOM based multipath. This is an active/passive{/passive...}
arrangement that has no intrinsic internal knowledge of whether devices
it is given are truly multipath devices. As such, this is a simplistic
approach, but still a useful one.

The basic approach is to (at present- this will change soon) use camcontrol
to find likely identical devices and and label the trailing sector of the
first one. This label contains both a full UUID and a name. The name is
what is presented in /dev/multipath, but the UUID is used as a true
distinguishor at g_taste time, thus making sure we don't have chaos
on a shared SAN where everyone names their data multipath as "Fred".

The first of N identical devices (and N *may* be 1!) becomes the active
path until a BIO request is failed with EIO or ENXIO. When this occurs,
the active disk is ripped away and the next in a list is picked to
(retry and) continue with.

During g_taste events new disks that meet the match criteria for existing
multipath geoms get added to the tail end of the list.

Thus, this active/passive setup actually does work for devices which
go away and come back, as do (now) mpt(4) and isp(4) SAN based disks.

There is still a lot to do to improve this- like about 5 of the 12
recommendations I've received about it, but it's been functional enough
for a while that it deserves a broader test base.

Reviewed by: pjd
Sponsored by: IronPort Systems
MFC: 2 months


# 166622 10-Feb-2007 bms

Build PIM by default as part of the IPv4 multicast forwarding path.
Make PIM dynamically loadable by using encap_attach_func().
PIM may now be loaded into a GENERIC kernel.

Tested with: ports/net/pimdd && tcpreplay && wireshark
Reviewed by: Pavlin Radoslavov


# 166551 07-Feb-2007 marcel

Evolve the ctlreq interface added to geom_gpt into a generic
partitioning class that supports multiple schemes. Current
schemes supported are APM (Apple Partition Map) and GPT.
Change all GEOM_APPLE anf GEOM_GPT options into GEOM_PART_APM
and GEOM_PART_GPT (resp).

The ctlreq interface supports verbs to create and destroy
partitioning schemes on a disk; to add, delete and modify
partitions; and to commit or undo changes made.


# 166342 30-Jan-2007 rodrigc

Remove MSDOSFS_LARGE compile time option. It has been converted
to a run time "-o large" mount option.

PR: 105964
MFC after: 2 weeks


# 166306 28-Jan-2007 takawata

Add support for serial communication with Windows CE based Handheld Computer.

Obtained from: NetBSD


# 165926 10-Jan-2007 marius

Add missing SC_NO_MODE_CHANGE option. Disable it in the powerpc
NOTES though, as ofw_syscons(4) doesn't properly interface with
syscons(4) regarding loading the font specified with SC_DFLT_FONT,
causing a kernel with both options SC_OFWFB and SC_NO_MODE_CHANGE
to not link.


# 165750 03-Jan-2007 piso

Wrap ipfw nat support in a new kernel config option named
"IPFIREWALL_NAT": this way nat is turned off by default and
POLA is preserved.

Reviewed by: rwatson


# 165631 29-Dec-2006 mlaier

Work around a long standing LOR with user/group rules by doing the socket
lookup early. This has some performance implications and should not be
enabled by default, but might help greatly in certain setups. After some
more testing this could be turned into a sysctl.

Tested by: avatar
LOR ids: 17, 24, 32, 46, 191 (conceptual)
MFC after: 6 weeks


# 165629 29-Dec-2006 glebius

Build bits for ng_deflate(4) and ng_pred1(4).


# 165140 13-Dec-2006 yongari

Hook up msk(4) to the build.


# 165065 10-Dec-2006 mjacob

Make MAXPHYS and DFLTPHYS options (finally).


# 164295 15-Nov-2006 maxim

o Add uark(4), a driver for Arkmicro Technologies ARK3116 based serial
adapters.

Submitted by: Alex Rodin
Obtained from: OpenBSD
Reviewed by: -usb
MFC after: 6 weeks


# 164208 11-Nov-2006 ru

More MUTEX_PROFILING -> LOCK_PROFILING.


# 164160 11-Nov-2006 kmacy

fix tinderbox


# 163953 03-Nov-2006 rrs

Ok, here it is, we finally add SCTP to current. Note that this
work is not just mine, but it is also the works of Peter Lei
and Michael Tuexen. They both are my two key other developers
working on the project.. and they need ata-boy's too:
****
peterlei@cisco.com
tuexen@fh-muenster.de
****
I did do a make sysent which updated the
syscall's and sysproto.. I hope that is correct... without
it you don't build since we have new syscalls for SCTP :-0

So go out and look at the NOTES, add
option SCTP (make sure inet and inet6 are present too)
and play with SCTP.

I will see about comitting some test tools I have after I
figure out where I should place them. I also have a
lib (libsctp.a) that adds some of the missing socketapi
functions that I need to put into lib's.. I will talk
to George about this :-)

There may still be some 64 bit issues in here, none of
us have a 64 bit processor to test with yet.. Michael
may have a MAC but thats another beast too..

If you have a mac and want to use SCTP contact Michael
he maintains a web site with a loadable module with
this code :-)

Reviewed by: gnn
Approved by: gnn


# 163896 01-Nov-2006 mjacob

2nd and final commit that moves us to CAM_NEW_TRAN_CODE
as the default.

Reviewed by multitudes.


# 163851 31-Oct-2006 pjd

Hook up gjournal bits to the build.

Sponsored by: home.pl


# 163630 23-Oct-2006 ru

Move "device splash" back to MI NOTES and "files", it's MI.


# 163625 23-Oct-2006 des

Re-add screen savers, which I removed by mistake.

Noticed by: ru


# 163552 21-Oct-2006 scottl

Fix whitespace


# 163535 20-Oct-2006 des

Move more MD devices and options out of MI NOTES.


# 163531 20-Oct-2006 des

The VGA_DEBUG option only exists on {amd64,i386,ia64}.
Also remove 'device io' from amd64 NOTES; DEFAULTS takes care of it.


# 163330 13-Oct-2006 jb

Remove a nmdm comment which ru@ thinks was no longer required.


# 163296 13-Oct-2006 jb

Remove one of the duplicate 'device nmdm' lines.

Noticed in the sun4v tinderbox log.


# 163050 06-Oct-2006 ru

Added the GEOM_CACHE option.

Reminded by: pjd


# 163041 05-Oct-2006 simon

- Remove SCHED_ULE from GENERIC to better avoid foot-shooting by
unsuspecting users.
- Add a comment in NOTES about experimental status of SCHED_ULE.
- Make warning about experimental status in sched_ule(4) a bit
stronger.

Suggested and reviewed by: dougb
Discussed on: developers
MFC after: 3 days


# 162932 01-Oct-2006 ariff

Add notes and option for Intel High Definition Audio Controller
- snd_hda(4)


# 162888 30-Sep-2006 netchild

Add spicds, envy24ht and remove ak4*.


# 162658 26-Sep-2006 ru

Added COMPAT_FREEBSD6 option.


# 162620 25-Sep-2006 scottl

Add the mfi_debug.c file and MFI_DEBUG option.


# 162467 20-Sep-2006 rwatson

Remove MAC_DEBUG label counters, which were used to debug leaks and
other problems while labels were first being added to various kernel
objects. They have outlived their usefulness.

MFC after: 1 month
Suggested by: Christopher dot Vance at SPARTA dot com
Obtained from: TrustedBSD Project


# 161669 27-Aug-2006 marck

Resurrect reference to (contemporary) kern.ipc.nmbclusters.

Suggested by: ru

MFC after: 3 days


# 161567 24-Aug-2006 ru

Spellcheck.


# 161380 16-Aug-2006 julian

Remove the IPFIREWALL_FORWARD_EXTENDED option and make it on by default as it always was
in older versions of FreeBSD. This option is pointless as it is needed in just
about every interesting usage of forward that I have ever seen. It doesn't make
the system any safer and just wastes huge amounts of develper time
when the system doesn't behave as expected when code is moved from
4.x to 6.x It doesn't make
the system any safer and just wastes huge amounts of develper time
when the system doesn't behave as expected when code is moved from
4.x to 6.x or 7.x
Reviewed by: glebius
MFC after: 1 week


# 160813 29-Jul-2006 marcel

Remove sio(4) and related options from MI files to amd64, i386
and pc98 MD files. Remove nodevice and nooption lines specific
to sio(4) from ia64, powerpc and sparc64 NOTES. There were no
such lines for arm yet.
sio(4) is usable on less than half the platforms, not counting
a future mips platform. Its presence in MI files is therefore
increasingly becoming a burden.


# 160803 28-Jul-2006 netchild

Allow to configure a kernel with envy24 support as documented in the
manual page...


# 160642 24-Jul-2006 yongari

Hook up stge(4) to the build.


# 160425 17-Jul-2006 phk

Remove the NDEVFSINO and NDEVFSOVERFLOW options which no longer exists in
DEVFS.

Remove the opt_devfs.h file now that it is empty.


# 160422 17-Jul-2006 phk

Remove config(8)'s knowledge about NMBCLUSTERS, no code in /sys
knows about it any more.


# 160386 15-Jul-2006 netchild

- Connect the snd_emu10kx driver to the build. [1]
- Bump __FreeBSD_version, no need to build the port now.

Submitted by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru> [1]


# 160234 10-Jul-2006 thompsa

Add enc(4), it can still build with FAST_IPSEC commented out.


# 159979 27-Jun-2006 glebius

A netgraph node that can do different manipulations with
mbuf_tags(9) on packets.

Submitted by: Vadim Goncharov <vadimnuclight tpu.ru>
mdoc(7) reviewed by: ru


# 159964 26-Jun-2006 babkin

Backed out the change by request from rwatson.

PR: kern/14584


# 159927 25-Jun-2006 babkin

The common UID/GID space implementation. It has been discussed on -arch
in 1999, and there are changes to the sysctl names compared to PR,
according to that discussion. The description is in sys/conf/NOTES.
Lines in the GENERIC files are added in commented-out form.
I'll attach the test script I've used to PR.

PR: kern/14584
Submitted by: babkin


# 159780 19-Jun-2006 jhb

- Move the gigabit NICs that use miibus into the miibus section to match
GENERIC.
- Add bce(4) and bfe(4).


# 159570 13-Jun-2006 davidxu

Add scheduler CORE, the work I have done half a year ago, recent,
I picked it up again. The scheduler is forked from ULE, but the
algorithm to detect an interactive process is almost completely
different with ULE, it comes from Linux paper "Understanding the
Linux 2.6.8.1 CPU Scheduler", although I still use same word
"score" as a priority boost in ULE scheduler.

Briefly, the scheduler has following characteristic:
1. Timesharing process's nice value is seriously respected,
timeslice and interaction detecting algorithm are based
on nice value.
2. per-cpu scheduling queue and load balancing.
3. O(1) scheduling.
4. Some cpu affinity code in wakeup path.
5. Support POSIX SCHED_FIFO and SCHED_RR.
Unlike scheduler 4BSD and ULE which using fuzzy RQ_PPQ, the scheduler
uses 256 priority queues. Unlike ULE which using pull and push, the
scheduelr uses pull method, the main reason is to let relative idle
cpu do the work, but current the whole scheduler is protected by the
big sched_lock, so the benefit is not visible, it really can be worse
than nothing because all other cpu are locked out when we are doing
balancing work, which the 4BSD scheduelr does not have this problem.
The scheduler does not support hyperthreading very well, in fact,
the scheduler does not make the difference between physical CPU and
logical CPU, this should be improved in feature. The scheduler has
priority inversion problem on MP machine, it is not good for
realtime scheduling, it can cause realtime process starving.
As a result, it seems the MySQL super-smack runs better on my
Pentium-D machine when using libthr, despite on UP or SMP kernel.


# 159213 03-Jun-2006 kris

Note that KTR_ENTRIES must be a power of two.

MFC after: 1 week


# 158613 15-May-2006 marius

Update the description of pcn(4) from pcn(4) vs. lnc(4) to pcn(4) vs. le(4)
now that lnc(4) is removed and le(4) is going to replace it.


# 158551 14-May-2006 mat

Remove the ipfw6 config from NOTES

Forgotten by: mlaier
Approved by: mlaier
Pointy hat to: mlaier :-)


# 158472 12-May-2006 benno

Document VERBOSE_SYSINIT in NOTES.

Requested by: Niclas Zeising <lothrandil at n00b dot apagnu dot se>


# 158458 11-May-2006 jhb

First pass at removing Alpha kernel support.


# 158349 07-May-2006 netchild

- change the example of compiling only specific modules to not contain
the linux module, since it is not cross-platform
- move linprocfs from "files" and "options" to architecture specific files,
since it only makes sense to build this for those architectures, where we
also have a linuxolator
- disable the build of the linuxolator on our tier-2 architecture "Alpha":
* we don't have a linux_base port which supports Alpha and at the
same time is not outdated/obsoleted upstream/in a good condition/
currently working
* the upcomming new default linux base port is based upon Fedora
Core 3 (security support via http://www.fedoralegacy.org), which
isn't available for Alpha (like the current default linux base
port which is based upon Red Hat 8)
* nobody answered my request for testing it ~1 month ago on
current@ and alpha@ (it doesn't surprises me, see above)
* a SoC student wouldn't have to waste time on something which
nobody is willing to test

This does not remove the alpha specific MD files of the linuxolator yet.

Discussed on: arch (mostly silence)
Spiritual support by: scottl


# 158124 28-Apr-2006 marcel

Rewrite of puc(4). Significant changes are:
o Properly use rman(9) to manage resources. This eliminates the
need to puc-specific hacks to rman. It also allows devinfo(8)
to be used to find out the specific assignment of resources to
serial/parallel ports.
o Compress the PCI device "database" by optimizing for the common
case and to use a procedural interface to handle the exceptions.
The procedural interface also generalizes the need to setup the
hardware (program chipsets, program clock frequencies).
o Eliminate the need for PUC_FASTINTR. Serdev devices are fast by
default and non-serdev devices are handled by the bus.
o Use the serdev I/F to collect interrupt status and to handle
interrupts across ports in priority order.
o Sync the PCI device configuration to include devices found in
NetBSD and not yet merged to FreeBSD.
o Add support for Quatech 2, 4 and 8 port UARTs.
o Add support for a couple dozen Timedia serial cards as found
in Linux.


# 157858 18-Apr-2006 mjacob

Fxi tpyo.

Noticed by: maxim


# 157857 18-Apr-2006 mjacob

Add ISP_DEFAULT_ROLES as a config option.


# 157301 30-Mar-2006 marcel

o Add scc(4) to the build.
o Add the scc(4) manpage to the build.
o Update the uart(4) manpage to account for scc(4).
o Update the uart(4) module build to include support for scc(4).


# 157259 29-Mar-2006 scottl

Hook the MFI driver up to the build.


# 156326 05-Mar-2006 yar

Retire NETSMBCRYPTO as a kernel option and make its functionality
enabled by default in NETSMB and smbfs.ko.

With the most of modern SMB providers requiring encryption by
default, there is little sense left in keeping the crypto part
of NETSMB optional at the build time.

This will also return smbfs.ko to its former properties users
are rather accustomed to.

Discussed with: freebsd-stable, re (scottl)
Not objected by: bp, tjr (silence)
MFC after: 5 days


# 156220 02-Mar-2006 thompsa

The altq(4) code already handles SMP so clarify what ALTQ_NOPCC is needed for.


# 155332 05-Feb-2006 kensmith

Move asr driver from global NOTES to i386-specific NOTES. Requestor
reports it is neither endian-clean or 64-bit clean. :-)

Requested by: scottl


# 155260 03-Feb-2006 rwatson

Add AUDIT to NOTES, as it's probably ready to get regular build testing
by the tinderboxes.


# 155156 31-Jan-2006 jhb

Add RWLOCK_NOINLINE.


# 155151 31-Jan-2006 marius

Hook up le(4) to the build. For now it's only added to the sparc64 GENERIC
in order to support the on-board LANCE in Ultra 1 and to the MI NOTES as
it should work just fine with the AMD PCnet family of chips on all archs
but is not yet meant to replace lnc(4). If a kernel includes all of le(4),
lnc(4) and pcn(4) precedence is given to lnc(4)/pcn(4) for now.


# 155086 31-Jan-2006 pjd

Add buffer corruption protection (RedZone) for kernel's malloc(9).
It detects both: buffer underflows and buffer overflows bugs at runtime
(on free(9) and realloc(9)) and prints backtraces from where memory was
allocated and from where it was freed.

Tested by: kris


# 154974 29-Jan-2006 mlaier

firmware(9) is a subsystem to load binary data into the kernel via a
specially crafted module. There are several handrolled sollutions to this
problem in the tree already which will be replaced with this. They include
iwi(4), ipw(4), ispfw(4) and digi(4).

No objection from: arch
MFC after: 2 weeks
X-MFC after: some drivers have been converted


# 154362 14-Jan-2006 bz

The LinkSys EG1032 is supported by re(4) not nge(4) [1].
I couldn't find the ID for the EG1064 anywhere in our sources
so I removed the reference for now.

Pointed out by: Robert Huff <roberthuffi at rcn dot com> [1]
Reviewed by: simon


# 154356 14-Jan-2006 joel

- Add comments about snd_au88x0.
- Clarify that snd_audiocs is for sparc64 only.
- Expand snd_ich and snd_t4dwave comments.

Reviewed by: ariff


# 154170 10-Jan-2006 phk

Move the old BSD4.3 tty compatibility from (!BURN_BRIDGES && COMPAT_43)
to COMPAT_43TTY.

Add COMPAT_43TTY to NOTES and */conf/GENERIC

Compile tty_compat.c only under the new option.

Spit out
#warning "Old BSD tty API used, please upgrade."
if ioctl_compat.h gets #included from userland.


# 154028 04-Jan-2006 joel

Fix minor sorting issue.


# 154026 04-Jan-2006 joel

Remove references to snd_vortex1(4).

Approved by: tanimura, ariff


# 153940 31-Dec-2005 netchild

MI changes:
- provide an interface (macros) to the page coloring part of the VM system,
this allows to try different coloring algorithms without the need to
touch every file [1]
- make the page queue tuning values readable: sysctl vm.stats.pagequeue
- autotuning of the page coloring values based upon the cache size instead
of options in the kernel config (disabling of the page coloring as a
kernel option is still possible)

MD changes:
- detection of the cache size: only IA32 and AMD64 (untested) contains
cache size detection code, every other arch just comes with a dummy
function (this results in the use of default values like it was the
case without the autotuning of the page coloring)
- print some more info on Intel CPU's (like we do on AMD and Transmeta
CPU's)

Note to AMD owners (IA32 and AMD64): please run "sysctl vm.stats.pagequeue"
and report if the cache* values are zero (= bug in the cache detection code)
or not.

Based upon work by: Chad David <davidc@acns.ab.ca> [1]
Reviewed by: alc, arch (in 2004)
Discussed with: alc, Chad David, arch (in 2004)


# 153812 29-Dec-2005 jkoshy

Refer readers to the hwpmc(4) manual page where the additional
(architecture specific) kernel configuration options needed for
hwpmc are documented.

PR: kern/83738
MFC after: 3 days


# 153618 21-Dec-2005 ru

Drivers for AMD-8111 and NVIDIA nForce2/3/4 SMBus 2.0 controllers.


# 153581 20-Dec-2005 imp

Move device 'cs' into i386/pc98 specific NOTES. It is broken on ppc
because it uses i386 specific calls. Maybe it could be added to
amd64, but I'm not so sure it would work there so I've not added it
there.


# 153329 12-Dec-2005 rodrigc

Add read-only XFS to LINT.


# 153020 02-Dec-2005 davidxu

Add option P1003_1B_MQUEUE for POSIX message queue.


# 152915 29-Nov-2005 ariff

Add notes about ATI IXP audio controller.


# 151047 07-Oct-2005 joel

snd_ess needs snd_sbc, so add a note about that.


# 150849 03-Oct-2005 scottl

Reintroduce the lmc T1/E1/T3 WAN driver. This version is locked, supports
interface polling, compiles on 64-bit platforms, and compiles on NetBSD,
OpenBSD, BSD/OS, and Linux. Woo! Thanks to David Boggs for providing this
driver.

Altq, sppp, netgraph, and bpf are required for this driver to operate.
Userland tools and man pages will be committed next.

Submitted by: David Boggs


# 150654 28-Sep-2005 imp

Remove more OLDCARD references.


# 150636 27-Sep-2005 mlaier

Remove bridge(4) from the tree. if_bridge(4) is a full functional
replacement and has additional features which make it superior.

Discussed on: -arch
Reviewed by: thompsa
X-MFC-after: never (RELENG_6 as transition period)


# 150429 21-Sep-2005 kensmith

Add COMPAT_FREEBSD5 option. This should have been done back when I
added it to GENERIC...

Pointed out by: jhb
Pointy hat: kensmith


# 150158 15-Sep-2005 phk

Add tnt4882 driver to the build


# 148457 27-Jul-2005 pjd

Connect GEOM_ELI class to the build.

MFC after: 1 week


# 148384 25-Jul-2005 pjd

Connect GZERO to the build.

MFC after: 3 days


# 147993 14-Jul-2005 takawata

Add SL811 based host controller driver for CF usb host controller.
This is based on NetBSD slhci(4) driver for X68k amateur hardware.
For now, it will not work properly, but it can detect usb device
insertion.


# 147513 21-Jun-2005 dumbbell

Connect reiserfs build to every platforms, not only i386 and pc98.

Reviewed by: mux (mentor)
Approved by: re (dougb)


# 147378 14-Jun-2005 ups

Move IPI_PREEMPTION option from global NOTES file to i386+amd64 specific
NOTES files.

Approved by: re (scottl)


# 147232 10-Jun-2005 glebius

Attach ng_tcpmss to the build.


# 147186 09-Jun-2005 ups

Whitespace cleanup

Submitted by: nate@


# 147181 09-Jun-2005 ups

Add IPI support for preempting a thread on another CPU.

MFC after: 3 weeks


# 146987 05-Jun-2005 thompsa

Connect if_bridge to the build.

Approved by: mlaier (mentor)


# 146585 24-May-2005 mux

- Move the REISERFS option in the MD NOTES file for i386, it doesn't
exist on other architectures yet.
- While I'm here, fix the formatting of the options line. The keyword
"options" should be followed by a space and then a tab, not 2 tabs.


# 146565 24-May-2005 dumbbell

Connect the ReiserFS filesystem to the build (i386 only).

Approved by: mux (mentor)


# 146260 16-May-2005 glebius

Correct format is 'options<space><tab>'.

Submitted by: ru


# 146259 16-May-2005 glebius

Make NETGRAPH_DEBUG a kernel option, so that it can't be turned off
without hacking source.

In collaboration with: ru, julian


# 145965 06-May-2005 glebius

Attach ng_nat and libalias to build.


# 145631 28-Apr-2005 darrenr

Patches from Ruslan Ermilov to address problems compiling LINT


# 145496 25-Apr-2005 phk

retire the musycc E1/T1 driver.


# 145345 20-Apr-2005 marcel

Revert previous commit: The hwpmc(4) driver compiles on all platforms.


# 145307 19-Apr-2005 imp

Move this to the specific architectures that are supported. #ifdef foo
in sys/pmc.h precludes it from working on !i386, !amd64. When that changes,
it can be moved back into conf/NOTES.


# 145256 19-Apr-2005 jkoshy

Bring a working snapshot of hwpmc(4), its associated libraries, userland utilities
and documentation into -CURRENT.

Bump FreeBSD_version.

Reviewed by: alc, jhb (kernel changes)


# 145143 16-Apr-2005 rwatson

Add ALQ and KTR_ALQ to NOTES so that they are built into LINT.


# 144647 05-Apr-2005 scottl

Re-enable the atapicam driver in NOTES.


# 144360 31-Mar-2005 imp

atapicam is broken, so comment it out since it may take a while to fix it.


# 143985 22-Mar-2005 sobomax

Add USB Communication Device Class Ethernet driver. Originally written for
FreeBSD based on aue(4) it was picked by OpenBSD, then from OpenBSD ported
to NetBSD and finally NetBSD version merged with original one goes into
FreeBSD.

Obtained from: http://www.gank.org/freebsd/cdce/
NetBSD
OpenBSD


# 143809 18-Mar-2005 murray

Add a comment to note that pseudo-device bpf is required for DHCP.
This is mentioned in the Handbook but it is not as obvious to new
users why bpf is needed compared to the other largely self-explanatory
items in GENERIC.

PR: conf/40855
MFC after: 1 week


# 143594 14-Mar-2005 des

Add PSEUDOFS_TRACE option.


# 143203 07-Mar-2005 grog

Correct indentation style:

- "options" is followed by the characters \040\011, not \011\011.
Correct both my own sins and those of others.
- Comment blocks start and end with an empty line ^#$.
- Remove non-standard comments added in my last commit.

Requested by: njl
Correctness confirmed by: bde


# 143146 04-Mar-2005 grog

Add comments on setting resource limits.


# 142248 22-Feb-2005 andre

Bring back the full packet destination manipulation for 'ipfw fwd'
with the kernel compile time option:

options IPFIREWALL_FORWARD_EXTENDED

This option has to be specified in addition to IPFIRWALL_FORWARD.

With this option even packets targeted for an IP address local
to the host can be redirected. All restrictions to ensure proper
behaviour for locally generated packets are turned off. Firewall
rules have to be carefully crafted to make sure that things like
PMTU discovery do not break.

Document the two kernel options.

PR: kern/71910
PR: kern/73129
MFC after: 1 week


# 142221 22-Feb-2005 glebius

Add CARP to kernel build.


# 141490 07-Feb-2005 mlaier

Fix sloppy use of "manpage", bump .Dd where applicable and rename RED to
Random Early Detection (not ... Drop) in order to be consistent with other
documentation on ALTQ

Pointed out by: simon, ru, Brad Davis


# 141353 05-Feb-2005 glebius

Hook up ng_ipfw to kernel build.


# 141121 01-Feb-2005 phk

Add a IEEE488 driver for PCIIA compatible cards.

This driver implements "unaddressed listen only mode", which is what
printers and plotters commonly do on GP-IB busses.

This means that you can capture print/plot like output from your
instruments by configuring them as necessary (good luck!) and

cat -u /dev/gpib0l > /tmp/somefile

Since there is no way to know when no more output is comming you
will have to ctrl-C the cat process when it is done (that is why
the -u is important).


# 140587 21-Jan-2005 bmilekic

Bring in MemGuard, a very simple and small replacement allocator
designed to help detect tamper-after-free scenarios, a problem more
and more common and likely with multithreaded kernels where race
conditions are more prevalent.

Currently MemGuard can only take over malloc()/realloc()/free() for
particular (a) malloc type(s) and the code brought in with this
change manually instruments it to take over M_SUBPROC allocations
as an example. If you are planning to use it, for now you must:

1) Put "options DEBUG_MEMGUARD" in your kernel config.
2) Edit src/sys/kern/kern_malloc.c manually, look for
"XXX CHANGEME" and replace the M_SUBPROC comparison with
the appropriate malloc type (this might require additional
but small/simple code modification if, say, the malloc type
is declared out of scope).
3) Build and install your kernel. Tune vm.memguard_divisor
boot-time tunable which is used to scale how much of kmem_map
you want to allott for MemGuard's use. The default is 10,
so kmem_size/10.

ToDo:
1) Bring in a memguard(9) man page.
2) Better instrumentation (e.g., boot-time) of MemGuard taking
over malloc types.
3) Teach UMA about MemGuard to allow MemGuard to override zone
allocations too.
4) Improve MemGuard if necessary.

This work is partly based on some old patches from Ian Dowse.


# 140189 13-Jan-2005 jhb

Allow the dragon and snake screen savers to be statically compiled into a
kernel and add them to NOTES.

MFC after: 2 weeks


# 140075 11-Jan-2005 pjd

Connect SHSEC GEOM class to the build.


# 140033 11-Jan-2005 suz

KAME-IPSEC has already supports TCP_SIGNATURE(IPv4)


# 139742 05-Jan-2005 jhb

Typo.


# 139441 30-Dec-2004 rwatson

Enable NCP build in NOTES so that it is visible in LINT.


# 139055 20-Dec-2004 sam

add ancillary wlan modules and fixup comments

Requested by: silby


# 137922 20-Nov-2004 das

Update the comment about what NO_SWAPPING does.

Reviewed by: arch@


# 137624 12-Nov-2004 peter

Catch a few more autofs references.

Submitted by: obrien


# 137400 08-Nov-2004 phk

Remove the obsolete gx driver.

All the hardware is supported by the better maintained if_em driver.

Absentmindedly nodded vertical by: people on #that_channel


# 137137 02-Nov-2004 andre

Reduce annoying SCSI probing delay from 15 to 5 seconds in all GENRIC kernels.

Discussed on: -current


# 136999 27-Oct-2004 rwatson

Move the 'debug' sysctl tree under options SYSCTL_DEBUG. It generates
an inordinate amount of synchronous console output that is fairly
undesirable on slower serial console. It's easily hit by accident
when frobbing other sysctls late at night.


# 136970 26-Oct-2004 des

Uncomment DIRECTIO and NSWBUF_MIN. They are both positive options (i.e.
they enable rather than disable code), so they should be on in LINT.


# 136953 25-Oct-2004 andre

IPDIVERT is a module now and tell the other parts of the kernel about it.
IPDIVERT depends on IPFIREWALL being loaded or compiled into the kernel.


# 136944 25-Oct-2004 yongari

Device driver for onboard CS4231 audio controller which is found
on UltraSPARC workstations. The driver is based on OpenBSD's SBus
cs4231 driver and heavily modified to incorporate into sound(4)
infrastructure. Due to the lack of APCDMA documentation, the DMA
code of SBus cs4231 came from OpenBSD's driver.
The driver runs without Giant lock and supports both SBus and EBus
based CS4231 audio controller. Special thanks to marius for providing
feedbacks during the driver writing. His feedback made it possible
to write hiccup free playback code under high system loads.

Approved by: jake (mentor)
Reviewed by: marius (initial version)
Tested by: marius, kwm, Julian C. Dunn(jdunn AT opentrend DOT net)


# 136119 04-Oct-2004 yar

Add a more verbose description for `device vlan'
to the above comment block devoted to such descriptions.


# 136118 04-Oct-2004 yar

Hint a kernel builder that vlan needs miibus, which isn't obvious.


# 135611 23-Sep-2004 phk

Per recent HEADSUP: Disconnect (old)vinum from the kernel build.

Users should move to the new geom_vinum implementation instead.

The refcount logic which is being added to devices to enable safe module
unloading and the buf/vm work also in progress would require a major rework
of the (old)-vinum code to comply with the new semantics.

The actual source files will not be removed until I have coordinated with
the geomvinum people if they need any bits repo-copied etc.


# 135335 16-Sep-2004 glebius

Attach ng_netflow to kernel build.

Approved by: julian (mentor)


# 135099 12-Sep-2004 ceri

Typo fix.


# 134939 08-Sep-2004 ru

Fixed sound-related hints. (Yes, this is ambiguous but matches reality.)

Reviewed by: matk, cg (an earlier version)
MT5 after: 3 days


# 134684 03-Sep-2004 ru

Fixed more spacing bugs.


# 134664 02-Sep-2004 scottl

Fix whitespace from last commit.

Submitted by: ru


# 134657 02-Sep-2004 alfred

Hook autofs to the build.


# 134649 02-Sep-2004 scottl

Turn PREEMPTION into a kernel option. Make sure that it's defined if
FULL_PREEMPTION is defined. Add a runtime warning to ULE if PREEMPTION is
enabled (code inspired by the PREEMPTION warning in kern_switch.c). This
is a possible MT5 candidate.


# 134585 31-Aug-2004 brooks

General modernization of coda:
- Ditch NVCODA
- Don't use a static major
- Don't declare functions extern

Reviewed by: peter


# 134542 30-Aug-2004 peter

Kill count device support from config. I've changed the last few
remaining consumers to have the count passed as an option. This is
i4b, pc98/wdc, and coda.

Bump configvers.h from 500013 to 600000.

Remove heuristics that tried to parse "device ed5" as 5 units of the ed
device. This broke things like the snd_emu10k1 device, which required
quotes to make it parse right. The no-longer-needed quotes have been
removed from NOTES, GENERIC etc. eg, I've removed the quotes from:
device snd_maestro
device "snd_maestro3"
device snd_mss

I believe everything will still compile and work after this.


# 134488 29-Aug-2004 ru

Finish the removal of the HW_WDOG option.

Hopefully, we'll finally have the compilable LINT kernels again. ;)


# 134478 29-Aug-2004 des

Back out the two previous commits; ichwd is i386-only.


# 134451 28-Aug-2004 ru

Fixed untested change.


# 134446 28-Aug-2004 netchild

Add the Intel ICH watchdog timer driver.

Approved by: des


# 134386 27-Aug-2004 andre

Properly document and enable the IPFIREWALL_FORWARD option.


# 134383 27-Aug-2004 andre

Always compile PFIL_HOOKS into the kernel and remove the associated kernel
compile option. All FreeBSD packet filters now use the PFIL_HOOKS API and
thus it becomes a standard part of the network stack.

If no hooks are connected the entire packet filter hooks section and related
activities are jumped over. This removes any performance impact if no hooks
are active.

Both OpenBSD and DragonFlyBSD have integrated PFIL_HOOKS permanently as well.


# 134025 19-Aug-2004 andre

Add comment that IPFIREWALL now requires option PFIL_HOOKS.


# 133998 19-Aug-2004 jmg

add options MPROF_BUFFERS and MPROF_HASH_SIZE that adjust the sizes of
the mutex profiling buffers. Document them in the man page and in NOTES.
Ensure _HASH_SIZE is larger than _BUFFERS with a cpp error.


# 133812 16-Aug-2004 pjd

Connect RAID3 GEOM class to the build.


# 133732 14-Aug-2004 marius

Add hme(4) here now that it's MI.


# 133720 14-Aug-2004 dwmalone

Get rid of the RANDOM_IP_ID option and make it a sysctl. NetBSD
have already done this, so I have styled the patch on their work:

1) introduce a ip_newid() static inline function that checks
the sysctl and then decides if it should return a sequential
or random IP ID.

2) named the sysctl net.inet.ip.random_id

3) IPv6 flow IDs and fragment IDs are now always random.
Flow IDs and frag IDs are significantly less common in the
IPv6 world (ie. rarely generated per-packet), so there should
be smaller performance concerns.

The sysctl defaults to 0 (sequential IP IDs).

Reviewed by: andre, silby, mlaier, ume
Based on: NetBSD
MFC after: 2 months


# 133640 13-Aug-2004 fjoe

Add geom_uzip -- geom class that implements read-only compressed disks.
Currently supports cloop V2.0 disk compression format.
May support more formats in future.


# 133580 12-Aug-2004 harti

Allow the ATM call control module to be built into the kernel.


# 133510 11-Aug-2004 imp

Remove references to pcic for newcard from NOTES.


# 133470 11-Aug-2004 rwatson

Add 'axe' interface to NOTES so it is built with LINT as with other USB
network interface device drivers.


# 133087 03-Aug-2004 markm

Making a loadable null.ko for /dev/(null|zero) proved rather
unpopular, so remove this (mis)feature.

Encouragement provided by: jhb (and others)


# 132956 01-Aug-2004 markm

Break out the MI part of the /dev/[k]mem and /dev/io drivers into
their own directory and module, leaving the MD parts in the MD
area (the MD parts _are_ part of the modules). /dev/mem and /dev/io
are now loadable modules, thus taking us one step further towards
a kernel created entirely out of modules. Of course, there is nothing
preventing the kernel from having these statically compiled.


# 132905 30-Jul-2004 pjd

Connect GEOM_MIRROR class to the build.


# 132698 27-Jul-2004 rwatson

Add "options ADAPTIVE_GIANT" which causes Giant to also be treated in
an adaptive fashion when adaptive mutexes are enabled. The theory
behind non-adaptive Giant is that Giant will be held for long periods
of time, and therefore spinning waiting on it is wasteful. However,
in MySQL benchmarks which are relatively Giant-free, running Giant
adaptive makes an observable difference on SMP (5% transaction rate
improvement). As such, make adaptive behavior on Giant an option so
it can be more widely benchmarked.


# 132584 23-Jul-2004 rwatson

Reinforce discouragement of the use of FULL_PREEMPTION.


# 132447 20-Jul-2004 glebius

Add ng_device(4) to LINT.

Reviewed by: marks
Approved by: julian (mentor)


# 132353 18-Jul-2004 scottl

Enable ADAPTIVE_MUTEXES by default by changing the sense of the option to
NO_ADAPTIVE_MUTEXES. This option has been enabled by default on amd64 for
quite some time, and has been extensively tested on i386 and sparc64. It
shows measurable performance gains in many circumstances, and few negative
effects. It would be nice in t he future if adaptive mutexes actually went
to sleep after a certain amount of spinning, but that will require quite a
bit more testing.


# 132250 16-Jul-2004 tanimura

Sync the example of MODULES_OVERRIDE with the renamed sound drivers.

Pointed out by: Christoph Mallon <christoph.mallon@gmx.de>


# 132236 16-Jul-2004 tanimura

Rename the sound device drivers:

- `sound'
The generic sound driver, always required.

- `snd_*'
Device-dependent drivers, named after the sound module names.
Configure accordingly to your hardware.

In addition, rename the `snd_pcm' module to `sound' in order to sync
with the driver names.

Suggested by: cg


# 132196 15-Jul-2004 roam

A couple of grammar fixes in the bktr options section.

PR: 66828 (mostly)
Submitted by: Michel Lavondes <fox@vader.aacc.cc.md.us>
MFC after: 2 weeks


# 131958 10-Jul-2004 marcel

Update for the KDB framework:
o Rename WITNESS_DDB to WITNESS_KDB. In the new world order KDB is the
acronym to use for debugging related code. The DDB option is used
to enable the DDB debugger backend only.
o Likewise, rename DDB_TRACE to KDB_TRACE, rename DDB_UNATTENDED to
KDB_UNATTENDED and rename SC_HISTORY_DDBKEY to SC_HISTORY_KDBKEY.
o Remove DDB_NOKLDSYM. The new DDB backend supports pre-linker symbol
lookups as well as KLD symbol lookups at the same time.
o Remove GDB_REMOTE_CHAT. The GDB protocol hacks to allow this are
FreeBSD specific. At the same time, the GDB protocol has packets
for console output.


# 131840 08-Jul-2004 brian

Change the following environment variables to kernel options:

bootp -> BOOTP
bootp.nfsroot -> BOOTP_NFSROOT
bootp.nfsv3 -> BOOTP_NFSV3
bootp.compat -> BOOTP_COMPAT
bootp.wired_to -> BOOTP_WIRED_TO

- i.e. back out the previous commit. It's already possible to
pxeboot(8) with a GENERIC kernel.

Pointed out by: dwmalone


# 131814 08-Jul-2004 brian

Change the following kernel options to environment variables:

BOOTP -> bootp
BOOTP_NFSROOT -> bootp.nfsroot
BOOTP_NFSV3 -> bootp.nfsv3
BOOTP_COMPAT -> bootp.compat
BOOTP_WIRED_TO -> bootp.wired_to

This lets you PXE boot with a GENERIC kernel by putting this sort of thing
in loader.conf:

bootp="YES"
bootp.nfsroot="YES"
bootp.nfsv3="YES"
bootp.wired_to="bge1"

or even setting the variables manually from the OK prompt.


# 131523 03-Jul-2004 tjr

By popular request, add a workaround that allows large (>128GB or so)
FAT32 filesystems to be mounted, subject to some fairly serious limitations.

This works by extending the internal pseudo-inode-numbers generated from
the file's starting cluster number to 64-bits, then creating a table
mapping these into arbitrary 32-bit inode numbers, which can fit in
struct dirent's d_fileno and struct vattr's va_fileid fields. The mappings
do not persist across unmounts or reboots, so it's not possible to export
these filesystems through NFS. The mapping table may grow to be rather
large, and may grow large enough to exhaust kernel memory on filesystems
with millions of files.

Don't enable this option unless you understand the consequences.


# 131481 02-Jul-2004 jhb

Implement preemption of kernel threads natively in the scheduler rather
than as one-off hacks in various other parts of the kernel:
- Add a function maybe_preempt() that is called from sched_add() to
determine if a thread about to be added to a run queue should be
preempted to directly. If it is not safe to preempt or if the new
thread does not have a high enough priority, then the function returns
false and sched_add() adds the thread to the run queue. If the thread
should be preempted to but the current thread is in a nested critical
section, then the flag TDF_OWEPREEMPT is set and the thread is added
to the run queue. Otherwise, mi_switch() is called immediately and the
thread is never added to the run queue since it is switch to directly.
When exiting an outermost critical section, if TDF_OWEPREEMPT is set,
then clear it and call mi_switch() to perform the deferred preemption.
- Remove explicit preemption from ithread_schedule() as calling
setrunqueue() now does all the correct work. This also removes the
do_switch argument from ithread_schedule().
- Do not use the manual preemption code in mtx_unlock if the architecture
supports native preemption.
- Don't call mi_switch() in a loop during shutdown to give ithreads a
chance to run if the architecture supports native preemption since
the ithreads will just preempt DELAY().
- Don't call mi_switch() from the page zeroing idle thread for
architectures that support native preemption as it is unnecessary.
- Native preemption is enabled on the same archs that supported ithread
preemption, namely alpha, i386, and amd64.

This change should largely be a NOP for the default case as committed
except that we will do fewer context switches in a few cases and will
avoid the run queues completely when preempting.

Approved by: scottl (with his re@ hat)


# 131476 02-Jul-2004 pjd

Introduce GEOM_LABEL class.
This class is used for detecting volume labels on file systems:
UFS, MSDOSFS (FAT12, FAT16, FAT32) and ISO9660.
It also provide native labelization (there is no need for file system).

g_label_ufs.c is based on geom_vol_ffs from Gordon Tetlow.
g_label_msdos.c and g_label_iso9660.c are probably hacks, I just found
where volume labels are stored and I use those offsets here,
but with this class it should be easy to do it as it should be done by
someone who know how.
Implementing volume labels detection for other file systems also should
be trivial.

New providers are created in those directories:
/dev/ufs/ (UFS1, UFS2)
/dev/msdosfs/ (FAT12, FAT16, FAT32)
/dev/iso9660/ (ISO9660)
/dev/label/ (native labels, configured with glabel(8))

Manual page cleanups and some comments inside were submitted by
Simon L. Nielsen, who was, as always, very helpful. Thanks!


# 131298 29-Jun-2004 jhb

Document the MUTEX_WAKE_ALL option and turn it on in LINT.


# 131259 29-Jun-2004 jhb

Add two new kernel options to allow rudimentary profiling of the internal
hash tables used in the sleep queue and turnstile code. Each option adds
a sysctl tree under debug containing the maximum depth of any bucket in
the hash table as well as a separate node for each bucket (or chain)
containing the current depth and maximum depth for that bucket.


# 131165 27-Jun-2004 rwatson

Add options NETGRAPH_FEC to hook up ng_fec.c to the LINT build.


# 131164 27-Jun-2004 rwatson

Add options NETGRAPH_EIFACE, which causes ng_eiface.c to be built into
the kernel, similar to NETGRAPH_IFACE for ng_iface.c. It appears to
have been omitted when added to the kernel.


# 131146 26-Jun-2004 mpp

Spelling fixes.


# 130944 22-Jun-2004 bms

Correct a misleading comment regarding the IPSEC_FILTERGIF option.

PR: 57125
Requested by: Adrian Steinmann


# 130416 13-Jun-2004 mlaier

Link ALTQ to the build and break with ABI for struct ifnet. Please recompile
your (network) modules as well as any userland that might make sense of
sizeof(struct ifnet).
This does not change the queueing yet. These changes will follow in a
seperate commit. Same with the driver changes, which need case by case
evaluation.

__FreeBSD_version bump will follow.

Tested-by: (i386)LINT


# 130407 13-Jun-2004 dfr

Add a new driver to support IP over firewire. This driver is intended to
conform to the rfc2734 and rfc3146 standard for IP over firewire and
should eventually supercede the fwe driver. Right now the broadcast
channel number is hardwired and we don't support MCAP for multicast
channel allocation - more infrastructure is required in the firewire
code itself to fix these problems.


# 130344 11-Jun-2004 phk

Deorbit COMPAT_SUNOS.

We inherited this from the sparc32 port of BSD4.4-Lite1. We have neither
a sparc32 port nor a SunOS4.x compatibility desire these days.


# 130296 10-Jun-2004 scottl

Add esp(4) to NOTES.


# 130201 07-Jun-2004 netchild

Remove references to L1 in the comments, according to Alan they are
historical leftovers.

Approved by: alc


# 129925 01-Jun-2004 tanimura

Axe the old midi drivers and framework. matk has developed a new
module-friendly midi subsystem to be merged soon.


# 129477 20-May-2004 pjd

- Connect geom(8) and its libraries to the build.
- Connect geom_stripe and geom_nop modules to the build.
- Connect STRIPE and NOP classes to the LINT build.
- Disconnect gconcat(8) from the build.

Supported by: Wheel - Open Technologies - http://www.wheel.pl


# 128899 03-May-2004 ambrisko

Remove new options and my prevention of system freeze when the sio probe
returns okay when HW probe fails. This happens when comconsole flag is
set but VGA console is used instead.

Back out requested by: bde (He will be looking at other solutions from scratch)


# 128893 03-May-2004 pjd

Allow geom_concat and geom_gate to be compiled in kernel.


# 128781 30-Apr-2004 ambrisko

Some enhancements and bug fix.
- Define option FORCECONSPEED to force the serial console to
be CONSPEED. I've run into a lot of boards in which
the detect for prior speed doesn't work and ends up with
broken console since it is at the wrong speed.
- If a serial port is marked as a console, but console=vidconsole
and if the serial ports doesn't exist it will be probed and
attached at a 8250 chip. Then writes to that will freeze the
system.
- Add an option flags 0x400000 to mark this as a potential
comconsole in-case the one flaged with 0x10 does not exist
in the system.

This makes it easier to deploy on systems with one or two serial ports.

Obtained from: IronPort


# 128688 27-Apr-2004 emax

Address few style issues pointed out by bde

Reviewed by: bde, ru


# 128616 24-Apr-2004 rik

Connect ng_sppp to the build process.


# 128589 23-Apr-2004 emax

Make sure Bluetooth stuff can be statically compiled into kernel

Submitted by: ps
Reviewed by: imp (mentor), ru


# 128533 21-Apr-2004 scottl

garbage collect ASR_MEASURE_PERFORMANCE


# 128514 21-Apr-2004 bde

Deverbosified and uniformized references to man pages from wording
like "the foo(4) manual page" to "foo(4)". Uniformized the remaining
instances of "manual page" and "manpage" to "man page". Uniformized
some nearby sentence breaks. Reformatted the whole paragraph containing
these changes only for DUMMYNET.


# 128467 20-Apr-2004 bms

Braino. Point out that TCP_SIGNATURE requires FAST_IPSEC et al.


# 128465 20-Apr-2004 bms

Add TCP_SIGNATURE (TCP-MD5) to NOTES for -CURRENT.


# 128414 19-Apr-2004 njl

As promised a while ago, remove DA_OLD_QUIRKS and all quirks it was enabling.
These are no longer needed now that we don't send 6-byte commands to RBC
devices.


# 128149 12-Apr-2004 imp

Move sx to i386/NOTES for the moment. I missed the
enable/disable_intr() in the code.


# 128137 11-Apr-2004 imp

Add sx driver, since it looks like it should work on all
architectures.


# 127758 02-Apr-2004 vkashyap

Moved 3ware 9000 driver (twa) stuff from sys/conf/NOTES to /sys/i386/conf/NOTES.


# 127685 31-Mar-2004 vkashyap

Moved comments on 3ware 9000 series RAID controller driver options from
options to NOTES.


# 127662 31-Mar-2004 scottl

Give in to the oblique nagging and move AAC and AHC/AHD comments out of
/sys/conf/options and into /sys/conf/NOTES


# 127605 30-Mar-2004 bde

Fixed a style bug in previous commit (misformatted comment). Fixed
some nearby bugs (rotted and missing comments). Use similar wording
for describing broken options.


# 127592 29-Mar-2004 peter

Clean up the stub fake vnode locking implemenations. The main reason this
stuff was here (NFS) was fixed by Alfred in November. The only remaining
consumer of the stub functions was umapfs, which is horribly horribly
broken. It has missed out on about the last 5 years worth of maintenence
that was done on nullfs (from which umapfs is derived). It needs major
work to bring it up to date with the vnode locking protocol. umapfs really
needs to find a caretaker to bring it into the 21st century.

Functions GC'ed:
vop_noislocked, vop_nolock, vop_nounlock, vop_sharedlock.


# 127168 18-Mar-2004 brueffer

s/enable/enables/ in a comment


# 127066 16-Mar-2004 scottl

Remove RAIDFrame. It hasn't worked since GEOM replaced the old disk
mini-layer. I don't have time to bing it forward into the GEOM world, and
no one else has stepped forward to claim it. It'll be in the Attic for safe
keeping for now.


# 126756 08-Mar-2004 mlaier

Link pf to the build and install:
This adds the former ports registered groups: proxy and authpf as well as
the proxy user. Make sure to run mergemaster -p in oder to complete make
installworld without errors.

This also provides the passive OS fingerprints from OpenBSD (pf.os) and an
example pf.conf.

For those who want to go without pf; it provides a NO_PF knob to make.conf.

__FreeBSD_version will be bumped soon to reflect this and to be able to
change ports accordingly.

Approved by: bms(mentor)


# 126742 08-Mar-2004 benno

Add a netgraph node to handle ATM LLC encapsulation. This currently handles
ethernet (tested) and FDDI (not tested). The main use for this is on ADSL (or
other ATM) connections where bridged ethernet is used, PPPoE being a prime
example.

There is no manual page as yet, I will write one shortly.

Reviewed by: harti


# 126428 01-Mar-2004 bde

Fixed some insertion sort errors for usb devcies (mainly for serial ones).


# 126423 01-Mar-2004 ticso

add driver for BWCT console management serials


# 126383 28-Feb-2004 phk

Rename the WATCHDOG option to SW_WATCHDOG and make it use the
generic watchdoc(9) interface.

Make watchdogd(8) perform as watchdog(8) as well, and make it
possible to specify a check command to run, timeout and sleep
periods.

Update watchdog(4) to talk about the generic interface and add
new watchdog(8) page.


# 126334 27-Feb-2004 sanpei

add support DM9601(DAVICOM USB to Ethernet MAC Controller with Integrated 10/100 PHY)
- Corega FEther USB-TXC

PR: kern/62932
Submitted by: HASHI Hiroaki <hashiz@tomba.cskk-sv.co.jp>
Obtained from: NetBSD


# 126221 25-Feb-2004 bde

Fixed some style bugs in previous commit (unsorting of the DDB_* options,
misofrmatting, and English usage errors).


# 126204 24-Feb-2004 phk

Add DDB_NUMSYM option which in addition to the symbolic representation
also prints the actual numerical value of the symbol in question.

Users of addr2line(1) will be less proficient in hex arithmetic as a
consequence.

This amongst other things means that traceback lines change from:
siointr1(c4016800,c073bda0,0,c06b699c,69f) at siointr1+0xc5
to
siointr1(c4016800,c073bda0,0,c06b699c,69f) at 0xc062b0bd = siointr1+0xc5

I made this an option to avoid bikesheds.
~
~
~


# 125041 26-Jan-2004 ale

Add missing 'device ataraid' to support ATA software RAID.

Noticed by: Dario Freni <saturnero@gufi.org>
Approved by: blackend (mentor)
Reviewed by: sos


# 124969 25-Jan-2004 des

Remove trailing whitespace.


# 124968 25-Jan-2004 des

Replace description of the mutex profiling code with a reference to
the newly committed manual page.


# 124953 25-Jan-2004 jeff

- Compile 4BSD in LINT since ULE will be tested by GENERIC kernel builds.
- Fix the formatting on the ULE options line, I didn't notice that a space
was used normally.

Reported by: bde


# 124934 24-Jan-2004 jeff

- ULE is not exactly experimental anymore. Change some comments and enable
it in LINT.


# 123213 07-Dec-2003 imp

Remote meteor driver. It hasn't compiled in over 3 years. If someone
makes it compile again, and can test it, we can restore the driver to
the tree.


# 123210 07-Dec-2003 imp

Now that we have the en(4) driver, we no longer need the hea driver.

Approved by: harti@


# 123201 07-Dec-2003 imp

Continue to remove drivers that don't compile and haven't compiled in
a long time: lmc The LAN Media Corp PCI WAN driver based on tulip.
This driver hasn't compiled for 3 years since the PCI compat shims
were removed, and Lan Media appears to have gone out of business.
These cards appear to be rare (a recent search of ebay had no hits).

Should someone wish to revive this driver, submitting patches to make
it compile plus a testing report will bring it back.


# 122796 16-Nov-2003 akiyama

Make interrupt pipe interval time configurable.
- Add kernel options: {UPLCOM,UVSCOM}_INTR_INTERVAL
- Add sysctl variables: 'hw.usb.{uplcom,uvscom}.interval'

MFC after: 1 week


# 122660 14-Nov-2003 simokawa

Add sbp_targ(4).


# 122220 07-Nov-2003 harti

Allow the ng_uni node (NgATM signalling layer) to be built into the
kernel via options NGATM_UNI.


# 122118 05-Nov-2003 bde

Removed references to the garbage (and soon to be deleted) options
DPT_ALLOW_MEMIO, IPFIREWALL_FORWARD and NTIMECOUNTER


# 122117 05-Nov-2003 bde

Fixed misformatting of the options lines for CD9660_ICONV,
DA_OLD_QUIRKS, DCONS_BUF_SIZE, DCONS_FORCE_CONSOLE, DCONS_FORCE_GDB,
DCONS_POLL_HZ, DIRECTIO, HIFN_DEBUG, HIFN_RNDTEST, KSTACK_MAX_PAGES,
LIBMBPOOL, MBUF_STRESS_TEST, MSDOSFS_ICONV, NETGRAPH_ATM_ATMPIF,
NSWBUF_MIN, NTFS_ICONV, P1003_1B_SEMAPHORES, RAID_AUTOCONFIG,
SCHED_4BSD, SOCKBUF_DEBUG, UBSEC_DEBUG, UBSEC_RNDTEST, UDF_ICONV,
UVSCOM_DEFAULT_OPKTSIZE and WATCHDOG.


# 122100 05-Nov-2003 scottl

Hook the udf_iconv module up to the kernel build.

Submitted by: imura@ryu16.org


# 121628 28-Oct-2003 sam

speedup stream socket recv handling by tracking the tail of
the mbuf chain instead of walking the list for each append

Submitted by: ps/jayanth
Obtained from: netbsd (jason thorpe)


# 121613 27-Oct-2003 harti

Allow building the NgATM SAAL layer directly into the kernel.


# 121595 27-Oct-2003 njl

Fix style problems with new options.

Requested by: bde


# 121468 24-Oct-2003 simokawa

Add dumb console driver and related bits.

dcons(4): very simple console and gdb port driver
dcons_crom(4): FireWire attachment
dconschat(8): User interface to dcons

Tested with: i386, i386-PAE, and sparc64.


# 121375 22-Oct-2003 njl

Add the ACPICA_PEDANTIC option which is off by default. Enabling it will
enable strict checks of the AML. Our default behavior will be to relax
checks to work on as many platforms as possible. Also clean up and document
other ACPI options while I'm here.


# 120492 26-Sep-2003 fjoe

- Support for multibyte charsets in LIBICONV.
- CD9660_ICONV, NTFS_ICONV and MSDOSFS_ICONV kernel options
(with corresponding modules).
- kiconv(3) for loadable charset conversion tables support.

Submitted by: Ryuichiro Imura <imura@ryu16.org>


# 120437 25-Sep-2003 sam

indicate PFIL_HOOKS is now required by IPFILTER; it used to automagically
be defined in net/pfil.h


# 120238 19-Sep-2003 jhb

Document MUTEX_NOINLINE.

Reported by: sam


# 119996 11-Sep-2003 marcel

Add support for using uart(4) for pulse capturing for the Pulse Per
Second (PPS) timing interface. The support is non-optional and by
default uses the DCD line signal as the pulse input. A compile-time
option (UART_PPS_ON_CTS) can be used to have uart(4) use the CTS line
signal.

Include <sys/timepps.h> in uart_bus.h to avoid having to add the
inclusion of that header in all source files.

Reviewed by: phk


# 119860 07-Sep-2003 marcel

Improved English, proper spacing and capitalization for the serial
drivers. The shared 0x10 flag has been reworded to be more precise
and complete.

Submitted by: bde
Edited by: marcel


# 119832 07-Sep-2003 tjr

Add support for the Coda 6.x venus<->kernel interface. This extends
FIDs to be 128-bits wide and adds support for realms.

Add a new CODA_COMPAT_5 option, which requests support for the old
Coda 5.x interface instead of the new one.

Create a new coda5.ko module that supports the 5.x interface, and make
the existing coda.ko module use the new 6.x interface. These modules
cannot both be loaded at the same time.

Obtained from: Jan Harkes & the coda-6.0.2 distribution,
NetBSD (drochner) (CODA_COMPAT_5 option).


# 119820 07-Sep-2003 marcel

Add uart(4). Shuffle the information about sio(4) flags and options
so that it's clear whicfh flags/options are used by both sio(4) and
uart(4) and which flags/options are specific to sio(4).


# 119404 24-Aug-2003 sos

This is a major rework of the ATA driver (ATAng)

Restructure the way ATA/ATAPI commands are processed, use a common
ata_request structure for both. This centralises the way requests
are handled so locking is much easier to handle.

The driver is now layered much more cleanly to seperate the lowlevel
HW access so it can be tailored to specific controllers without touching
the upper layers. This is needed to support some of the newer
semi-intelligent ATA controllers showing up.

The top level drivers (disk, ATAPI devices) are more or less still
the same with just corrections to use the new interface.

Pull ATA out from under Gaint now that locking can be done in a sane way.

Add support for a the National Geode SC1100. Thanks to Soekris engineering
for sponsoring a Soekris 4801 to make this support.

Fixed alot of small bugs in the chipset code for various chips now
we are around in that corner anyways.


# 119218 21-Aug-2003 rwatson

Hook up mac_stub to the modules Makefile.
Hook up mac_stub in files and options.
Reference mac_stub in NOTES.


# 118819 12-Aug-2003 alex

Add a overhaul of the soundchip initialization for the MSP34xx chipsets
found only many tv-cards.

We currently use more ore less evil hacks (slow_msp_audio sysctl) to
configure the various variants of these chips in order to have
stereo autodetection work. Nevertheless, this doesn't always work
even though it _should_, according to the specs.
This is, for example, the case for some popular Hauppauge models sold
sold in Germany.

However, the Linux driver always worked for me and others. Looking at
the sourcecode you will find that the linux-driver uses a very much
enhanced approach to program the various msp34xx chipset variants,
which is also found in the specs for these chips.

This is a port of the Linux MSP34xx code, written by Gerd Knorr
<kraxel@bytesex.org>, who agreed to re-release his code under a
BSD license for this port.

A new config option "BKTR_NEW_MSP34XX_DRIVER" is added, which is required
to enable the new driver. Otherwise the old code is used.

The msp34xx.c file is diff-reduced to the linux-driver to make later
modifications easier, thus it doesn't follow style(9) in most cases.

Approved by: roger (committing this, no time to test/review),
keichii (code review)


# 118774 11-Aug-2003 harti

Add ng_atmpif: a HARP physical interface emulation. This allows one
to run the HARP ATM stack without real hardware.

Submitted by: Vincent Jardin <vjardin@wanadoo.fr>


# 118626 07-Aug-2003 hsu

Add support for "options PIM" in the kernel configuration file.

Submitted by: Pavlin Radoslavov <pavlin@icir.org>


# 118391 03-Aug-2003 phk

Remove the NSWAPDEV option, we have no upper limit on how many
swap devices we can have anymore.


# 118140 29-Jul-2003 njl

Deprecate USB and Firewire quirks. We should now never send 6 byte commands
to such devices. If a device fails due to this commit, add:
options DA_OLD_QUIRKS
to the kernel config and recompile. Then send the output of "camcontrol
inquiry da0" to scsi@freebsd.org so the quirk can be re-enabled.


# 117835 21-Jul-2003 harti

This is a pseudo physical interface for the HARP ATM stack. When loaded
it attaches to all existing NATM network interfaces in the system
and creates a HARP physical interface for each of them. This allows
us to use the same set of ATM drivers for all ATM stuff. It is
possible to use the same interface for HARP, NATM and netgraph at the
same time.


# 117632 15-Jul-2003 harti

This is a driver for IDT77252 based ATM interfaces. It has been tested
with a ProATM-155 and an IDT evaluation board and should also work
with a ProATM-25 (it seems to work at least, I cannot really measure
what the card emits). The driver has been tested on i386 and sparc64,
but should work an other archs also. It supports UBR, CBR, ABR and VBR;
AAL0, AAL5 and AALraw. As an additional feature VCI/VPI 0/0 can be
opened for receiving in AALraw mode and receives all cells not claimed
by other open VCs (even cells with invalid GFC, VPI and VCI fields and
OAM cells).

Thanks to Christian Bucari from ProSum for lending two cards and answering
my questions.


# 117624 15-Jul-2003 harti

Add a facility for devices, specifically network interfaces, that require
large to huge amounts of small or medium sized receive buffers. The problem
with these situations is that they eat up the available DMA address space
very quickly when using mbufs or even mbuf clusters. Additionally this
facility provides a direct mapping between 32-bit integers and these buffers.
This is needed for devices originally designed for 32-bit systems. Ususally
the virtual address of the buffer is used as a handle to find the buffer as
soon as it is returned by the card. This does not work for 64-bit machines
and hence this mapping is needed.


# 117317 07-Jul-2003 wollman

FreeBSD 2.0.5 is old hat. Also cross-reference GEOM_VOL from the discussion
of wiring SCSI devices, since it provides a non-SCSI-specific way of
accomplishing a similar task.


# 117316 07-Jul-2003 wollman

Fix wording: `irregardless' is a solecism.


# 117315 07-Jul-2003 wollman

Put NFSSERVER in the right list of filesystem stuff. Building a kernel
with only NFSSERVER won't get you anywhere.


# 117314 07-Jul-2003 wollman

Single-character style fix.


# 116945 28-Jun-2003 scottl

Announce umct to kernel build.


# 116874 26-Jun-2003 smkelly

- Add a software watchdog facility.

This commit has two pieces. One half is the watchdog kernel code which lives
primarily in hardclock() in sys/kern/kern_clock.c. The other half is a userland
daemon which, when run, will keep the watchdog from firing while the userland
is intact and functioning.

Approved by: jeff (mentor)


# 116809 25-Jun-2003 harti

Make the netgraph ATM node compilable into the kernel.


# 116735 23-Jun-2003 harti

This is a driver for Fore PCA200E cards that uses busdma and works on
little endian and big endian and with 32 and 64 bit pointers. It already
has the hooks to be used for HARP, NATM and ngATM.


# 116518 18-Jun-2003 phk

Add "GEOM_FOX", a class which detects and selects between multiple
redundant paths to the same device.

This class reacts to a label in the first sector of the device,
which is created the following way:

# "0123456789abcdef012345..."
# "<----magic-----><-id-...>
echo "GEOM::FOX someid" | dd of=/dev/da0 conv=sync

NB: Since the fact that multiple disk devices are in fact the same
device is not known to GEOM, the geom taste/spoil process cannot
fully catch all corner cases and this module can therefore be
confused if you do the right wrong things.

NB: The disk level drivers need to do the right thing for this to
be useful, and that is not by definition currently the case.


# 116491 17-Jun-2003 harti

This is a driver for Fore/Marconi HE155 and HE622 ATM cards. It is full
busdma and has extensively been tested on i386 and sparc64.


# 116294 13-Jun-2003 harti

Make the midway driver use the new ATM phy driver. This allows one to
toggle several media options (sonet/sdh, for example) with ifconfig and
to see the carrier state in ifconfig's output. It gives also read/write
access (given the right privilegs) to the S/Uni registers to user space
programs.


# 116096 09-Jun-2003 hmp

Add a comment to de-obfuscate the meaning of the PQ_CACHESIZE
kernel configuration option. This created confusion resulting
into a PR.

PR: docs/45294
Approved by: des (mentor)
Discussed with: bmilekic


# 115010 15-May-2003 jmallett

Clear up that COMPAT_43 may not do the same thing on every architecture
and clear up that COMPAT_SUNOS is similarly MI, and does something
relatively similar.

Approved by: re/rwatson


# 114756 05-May-2003 phk

Put descriptive comments on the GEOM_* options


# 114577 03-May-2003 akiyama

Add RealTek RTL8150 USB to fast Ethernet controller driver.
This driver now supports the Melco LUA-KTX and the GREEN HOUSE
GH-USB100B.

Reviewed by: imp
MFC after: 2 weeks


# 113473 14-Apr-2003 ticso

add EHCI (USB 2.0) controller support.

Approved by: joe
gallatin (mentor)
Obtained from: NetBSD


# 113429 13-Apr-2003 fjoe

Driver for Granch SBNI16 SHDSL modem

Submitted by: Denis I. Timofeev <timofeev@granch.ru>
MFC after: 1 week


# 113384 12-Apr-2003 silby

Rename MBUF_FRAG_TEST to MBUF_STRESS_TEST as it will be extended
to include more than just frag tests.


# 113365 11-Apr-2003 mike

Clarify NO_SWAPPING description.


# 112776 29-Mar-2003 silby

Add MBUF_FRAG_TEST to NOTES.

Submitted by: Hiten Pandya <hiten@unixdaemons.com>


# 112694 26-Mar-2003 tegge

Add support for reading directly from file to userland buffer when the
O_DIRECT descriptor status flag is set and both offset and length is a
multiple of the physical media sector size.


# 112498 22-Mar-2003 ru

Remove bitrot associated with `maxusers'.

Submitted by: bde


# 112124 11-Mar-2003 sam

o add crypto driver glue for using the new rndtest driver/module; this is
conditional in each driver on foo_RNDTEST being defined_
o bring HIFN_DEBUG and UBSEC_DEBUG out to be visible options; they control
the debugging printfs that are set with hw.foo.debug (e.g. hw.hifn.debug)


# 112103 11-Mar-2003 sam

FIPS 140-2 rng data tester for h/w crypto devices. This driver periodically
monitors the entropy data harvested by crypto drivers to verify it complies
with FIPS 140-2. If data fails any test then the driver discards it and
commences continuous testing of harvested data until it is deemed ok.
Results are collected in a statistics block and, optionally, reported on
the console. In normal use the overhead associated with this driver is
not noticeable.

Note that drivers must (currently) be compiled specially to enable use.

Obtained from: original code by Jason L. Wright


# 112041 09-Mar-2003 akiyama

Fix device freeze to reduce output packet size.
And make this value configurable by kernel config or sysctl.


# 111978 08-Mar-2003 tjr

Remove unimplemented IP-in-IPX encapsulation support (options IPTUNNEL).


# 111937 06-Mar-2003 alc

Remove ENABLE_VFS_IOOPT. It is a long unfinished work-in-progress.

Discussed on: arch@


# 111926 05-Mar-2003 peter

Finish driving a stake through the heart of netns and the associated
ifdefs scattered around the place - its dead Jim!

The SMB stuff had stolen AF_NS, make it official.


# 111899 05-Mar-2003 das

Make TTYHOG tunable.

Reviewed by: mike (mentor)


# 111771 02-Mar-2003 rwatson

A cute yet small MAC policy that provides a simple ACL mechanism to
permit users and groups to bind ports for TCP or UDP, and is intended
to be combined with the recently committed support for
net.inet.ip.portrange.reservedhigh. The policy is twiddled using
sysctl(8). To use this module, you will need to compile in MAC
support, and probably set reservedhigh to 0, then twiddle
security.mac.portacl.rules to set things as desired. This policy
module only restricts ports explicitly bound using bind(), not
implicitly bound ports where the port number is selected by the
IP stack. It appears to work properly in my local configuration,
but needs more broad testing.

A sample policy might be:

# sysctl security.mac.portacl.rules="uid:425:tcp:80,uid:425:tcp:79"

This permits uid 425 to bind TCP sockets to ports 79 and 80. Currently
no distinction is made for incoming vs. outgoing ports with TCP,
although that would probably be easy to add.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, Network Associates Laboratories


# 111500 25-Feb-2003 obrien

Move most everything back to a MI NOTES, and use "nodevice" in MD NOTES
Where needed. Use 'sed' for now in place of "nooptions". Add a sparc64
MD NOTES.

Reviewed by: arch@


# 111313 23-Feb-2003 nyan

Move MD devices to <machine>/conf/NOTES.


# 111275 22-Feb-2003 sam

Add a new config option IPSEC_FILTERGIF to control whether or not
packets coming out of a GIF tunnel are re-processed by ipfw, et. al.
By default they are not reprocessed. With the option they are.

This reverts 1.214. Prior to that change packets were not re-processed.
After they were which caused problems because packets do not have
distinguishing characteristics (like a special network if) that allows
them to be filtered specially.

This is really a stopgap measure designed for immediate MFC so that
4.8 has consistent handling to what was in 4.7.

PR: 48159
Reviewed by: Guido van Rooij <guido@gvr.org>
MFC after: 1 day


# 110833 13-Feb-2003 obrien

FB_INSTALL_CDEV not usable on Alpha.


# 110826 13-Feb-2003 obrien

Only i386 has npx device.


# 110539 08-Feb-2003 phk

Put makeoptions DESTDIR=/tmp in NOTES to protect people from
accidentally installing a LINT kernel on their system.


# 110293 03-Feb-2003 gordon

Add config glue to add an optional GEOM_VOL to add optional volume support.

Reviewed by: jake (mentor)


# 110150 31-Jan-2003 phk

Add a rudimentary class for slicing Apple partitioned disks.

More work is needed on this, stakeholders please contact me.

Not quite asked for by: rwatson


# 109966 28-Jan-2003 phk

Bang! Bang! Bang! etc etc.

Remove NODEVFS option.


# 109902 26-Jan-2003 keramida

Fix a typo and reword a bit the description of the new SCHED_xxx stuff.

Reviewed by: jeff


# 109867 26-Jan-2003 jeff

- Add entries for scheduler selection


# 109343 15-Jan-2003 sam

config glue for new wi driver and wlan module

Reviewed by: imp
Forgotten by: sam


# 108533 01-Jan-2003 schweikh

Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,
especially in troff files.


# 107696 09-Dec-2002 rwatson

Document that ENABLE_VFS_IOOPT is dangerous. Please don't use it.

Suggested by: alc
Approved by: re (murray)


# 107275 26-Nov-2002 rwatson

Hook up kernel options and build information for mac_lomac.

Approved by: re
Obtained from: TrustedBSD Project
Sponsored by: DARPA, Network Associates Laboratories


# 106658 08-Nov-2002 jhb

Make 3dfx i386-only. The memrange API it uses may be defined in an MI
header, but it is only implemented on i386.


# 106657 08-Nov-2002 jhb

Move rc(4) over to MI notes and enable it as a MI module.


# 106630 08-Nov-2002 jhb

Make xrpu(4) i386-only. Consumers of i386_btop() are not MI.


# 106577 07-Nov-2002 jhb

Move sr(4) over to i386-only as it is yet another user of kvtop().


# 106556 07-Nov-2002 jhb

Move firewire back to being MI.


# 106539 06-Nov-2002 jhb

lnc(4) uses kvtop() and is thus i386-only for now.


# 106534 06-Nov-2002 jhb

Make firewire i386-only for now. It doesn't quite handle machines with
64-bit address spaces yet. Pointy hat to myself for sticking it in the MI
NOTES file to begin with.


# 106532 06-Nov-2002 jhb

ed(4) uses kvtop() and is thus i386-only. It has several other warnings
related to sizeof(int) != sizeof(void *), but kvtop() is much harder to
fix.

Approved by: imp


# 106531 06-Nov-2002 jhb

Move the drm code to the i386 MD NOTES file. It can be added to other MD
NOTES files if desired, but this code is not MI on FreeBSD. The Alpha
support is Linux specific and does not compile on FreeBSD.


# 106525 06-Nov-2002 jhb

Move digi to the i386 MD NOTES until it stops using inb() and outb().
Please use bus_space functions instead.


# 106524 06-Nov-2002 jhb

- Move comments regarding flags for dgb(4) over to the MD NOTES file where
dgb(4) lives.
- Move dgb(4) back to where it used to be relative to other drives in the
old NOTES/LINT file.


# 106514 06-Nov-2002 jhb

Make the ar(4) driver i386-only for now. It has lots of sizeof(int) ==
sizeof(void *) assumptions and doesn't use busdma yet (it uses kvtop()
which is not an MI interface).

Recommended by: jake, mux


# 106449 05-Nov-2002 mdodd

- Convert to newbus, bus_space etc.
- Move to MI space.

Tested on: i386


# 105880 24-Oct-2002 rwatson

Provide kernel options for the various MAC policy modules so that
they may be statically linked into the kernel. Note that statically
linked modules, unlike dynamically linked modules, get INVARIANTS,
so if there are INVARIANTS failures, you'll bump into them rather
than not. Add the options to NOTES.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, Network Associates Laboratories


# 105503 20-Oct-2002 scottl

After much delay and anticipation, welcome RAIDFrame into the FreeBSD
world. This should be considered highly experimental.

Approved-by: re


# 105464 19-Oct-2002 phk

Add Geom Based Disk Encryption to the tree.

This is an encryption module designed for to secure denial of access
to the contents of "cold disks" with or without destruction activation.

Major features:

* Based on AES, MD5 and ARC4 algorithms.
* Four cryptographic barriers:
1) Pass-phrase encrypts the master key.
2) Pass-phrase + Lock data locates master key.
3) 128 bit key derived from 2048 bit master key protects sector key.
3) 128 bit random single-use sector keys protect data payload.
* Up to four different changeable pass-phrases.
* Blackening feature for provable destruction of master key material.
* Isotropic disk contents offers no information about sector contents.
* Configurable destination sector range allows steganographic deployment.

This commit adds the kernel part, separate commits will follow for the
userland utility and documentation.

This software was developed for the FreeBSD Project by Poul-Henning Kamp and
NAI Labs, the Security Research Division of Network Associates, Inc. under
DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS
research program.

Many thanks to Robert Watson, CBOSS Principal Investigator for making this
possible.

Sponsored by: DARPA & NAI Labs.


# 105330 17-Oct-2002 sobomax

my(4) requires miibus, so that move it into proper section and also add a
verbose description into comment area.


# 105326 17-Oct-2002 bde

Fixed the quoting of the value of SC_CUT_SEPCHARS. The double quotes
needed to be quoted (to get a C string literal), not the value itself.

Fixed the value of SC_CUT_SEPCHARS. Setting this value would have had no
effect even if it were used, since the value was the same as the default.

The above bugs had no effect except to set bad examples, since test
coverage of SC_CUT_SEPCHARS is broken by enabling a negative option.

Removed (unquoted) double quotes for all options. They were all bogus
since they had no effect except to make non-strings look like strings.
Most of the non-strings were expressions. The value of INIT_PATH is
a non-string since it is stringified later (unlike SC_CUT_SEPCHARS).

Fixed parenthesization errors inside bogus quotes (parenthesize values
if they have more than one token in them but don't parenthesize single
tokens).


# 105312 17-Oct-2002 iwasaki

Add new syscons option SC_NO_SUSPEND_VTYSWITCH.
This disables vty switch during suspend/resume.


# 105199 16-Oct-2002 sam

Tie new "Fast IPsec" code into the build. This involves the usual
configuration stuff as well as conditional code in the IPv4 and IPv6
areas. Everything is conditional on FAST_IPSEC which is mutually
exclusive with IPSEC (KAME IPsec implmentation).

As noted previously, don't use FAST_IPSEC with INET6 at the moment.

Reviewed by: KAME, rwatson
Approved by: silence
Supported by: Vernier Networks


# 105146 15-Oct-2002 mjacob

Enable mpt && ISP_TARGET_MODE in isp (for Lint purposes)


# 105116 14-Oct-2002 jhb

Allow firewire, sbp (SCSI over firewire), and fwe (non-standard raw
ethernet over firewire) to be statically compiled into the kernel as
devices.


# 105062 13-Oct-2002 cognet

Connect trm(4) to the build.

Reviewed by: mux (mentor)
Approved by: mux (mentor)


# 105054 13-Oct-2002 mike

Remove the P1003_1B kernel option; it is no longer used.


# 105047 13-Oct-2002 mike

Remove _KPOSIX_VERSION as a kernel option, nothing uses this any more.


# 104650 08-Oct-2002 kan

Add device driver for Belkin F5U103 and compatible USB-to-serial adapters.

Reviewed by: n_hibma
Approved by: obrien


# 104595 07-Oct-2002 alfred

warn about p1003_1b_semaphores


# 104519 05-Oct-2002 phk

NB: This commit does *NOT* make GEOM the default in FreeBSD
NB: But it will enable it in all kernels not having options "NO_GEOM"

Put the GEOM related options into the intended order.

Add "options NO_GEOM" to all kernel configs apart from NOTES.

In some order of controlled fashion, the NO_GEOM options will be
removed, architecture by architecture in the coming days.

There are currently three known issues which may force people to
need the NO_GEOM option:

boot0cfg/fdisk:
Tries to update the MBR while it is being used to control
slices. GEOM does not allow this as a direct operation.

SCSI floppy drives:
Appearantly the scsi-da driver return "EBUSY" if no media
is inserted. This is wrong, it should return ENXIO.

PC98:
It is unclear if GEOM correctly recognizes all variants of
PC98 disklabels. (Help Wanted! I have neither docs nor HW)

These issues are all being worked.

Sponsored by: DARPA & NAI Labs.


# 104487 04-Oct-2002 sam

hookup new crypto support to the config/build process


# 104445 04-Oct-2002 mdodd

newbus & bus_space the mcd(4) driver.


# 104354 02-Oct-2002 scottl

Some kernel threads try to do significant work, and the default KSTACK_PAGES
doesn't give them enough stack to do much before blowing away the pcb.
This adds MI and MD code to allow the allocation of an alternate kstack
who's size can be speficied when calling kthread_create. Passing the
value 0 prevents the alternate kstack from being created. Note that the
ia64 MD code is missing for now, and PowerPC was only partially written
due to the pmap.c being incomplete there.
Though this patch does not modify anything to make use of the alternate
kstack, acpi and usb are good candidates.

Reviewed by: jake, peter, jhb


# 104014 26-Sep-2002 scottl

Move the aac driver from MI to MD NOTES. It is a long way from being
64-bit clean.


# 103968 25-Sep-2002 scottl

Do away with AAC_COMPAT_LINUX option entirely. The functionality will
automatically be enabled if the kernel is compiled with COMPAT_LINUX.

Submitted by: jhb
MFC after: 3 days


# 103883 24-Sep-2002 imp

OLDCARD -> NEWCARD
pccbb -> cbb

PR: 43263


# 103764 21-Sep-2002 nsouch

Cleanup of amdpm(4).

Add of NVIDIA nForce (nfpm) smbus support.

Obtained from: Thomas D. Dean <tomdean@speakeasy.org>


# 103648 19-Sep-2002 jhb

Ahem, actually add the DDB_TRACE option and finish changing DDB_UNATTENDED
to use its own header.


# 103585 19-Sep-2002 peter

move wl (isa wavelan card, not "wi") to i386-only


# 103584 19-Sep-2002 peter

move "profile 2" to i386


# 103583 19-Sep-2002 peter

move ncv, nsp, stg to i386-only section (there is no pc98-specific version)


# 103582 19-Sep-2002 peter

Move dgb to the i386 section


# 103575 18-Sep-2002 alfred

Regen for added syscalls.


# 103214 11-Sep-2002 njl

Fix LINT build on alpha by completing move of cy and apm_saver to
i386/conf/NOTES rather than the global conf/NOTES.

Suggested by: bde


# 103121 09-Sep-2002 sobomax

Add `device gre'.

Reminded by: bde
MFC after: 28 days
(along with other if_gre stuff)


# 103109 09-Sep-2002 kuriyama

Use "options " rather than "options<tab>".


# 102948 05-Sep-2002 bde

Uncommented MAC options so that they get linted. This exposes brokenness
in kern_mac.c.


# 102909 03-Sep-2002 jhb

- Move $FreeBSD$ to the top of the file.
- Fix a few grammar bogons.
- Add a small style guide.

Reviewed by: bde (a while ago)


# 102862 02-Sep-2002 brooks

Make SCSI_DELAY setable at boot time and runtime via the
kern.cam.scsi_delay tunable/sysctl.

Reviewed by: mdodd, njl


# 102818 01-Sep-2002 scottl

Minor fixups


# 102772 01-Sep-2002 bde

Unbreak LINT a little by not attempting to configure the nonexist option
AHC_DEBUG_SEQUENCER.


# 102310 23-Aug-2002 murray

Add a belated entry for amdpm(4).

Submitted by: marius@alchemy.franken.de
MFC After: 1 day


# 102195 20-Aug-2002 archie

New L2TP netgraph node type.

Obtained from: Packet Design


# 102153 19-Aug-2002 peter

remove unit counts from atkbdc, pckbd, sc


# 101988 16-Aug-2002 rwatson

Wrap maintenance of varios nmac{objectname} counters in MAC_DEBUG so we
can avoid the cost of a large number of atomic operations if we're not
interested in the object count statistics.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs


# 101759 12-Aug-2002 joe

Update for recent changes in the usb code.


# 101606 09-Aug-2002 sos

Add the ability to use ATAPI devices via CAM.

The CAM<>ATAPI layer was submitted by "Thomas Quinot <thomas@cuivre.fr.eu.org>"
changes form the version on the net by me (formatting, ability to be used
alone without the ATAPI native device driver, proper speed reporting...)

See /sys/conf/NOTES for usage.

Submitted by: Thomas Quinot <thomas@cuivre.fr.eu.org>


# 101588 09-Aug-2002 brooks

Make ppp(4) devices clonable and unloadable.


# 100761 27-Jul-2002 rwatson

Kernel options for Mandatory Access Control (MAC).

MAC support will be merged into the main tree over the next week in
reasonable size chunks; much more to follow.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs


# 100469 21-Jul-2002 peter

Add unit count to 'card'


# 100462 21-Jul-2002 peter

The following devices do not take a static unit 'count' argument:
ar, fe, lnc, sr, wl, fpa, bktr, sbni


# 100189 16-Jul-2002 jhb

Various comment and minor style fixes. No actual content changes.

Inspired by: bde


# 100130 15-Jul-2002 jhb

KSTACK_PAGES is only an option on i386, so move it to the i386 NOTES file.


# 100129 15-Jul-2002 jhb

Whitespace fix.


# 100124 15-Jul-2002 jhb

The hardware bus configuration section is now empty, so axe it. The
architecture specific NOTES files define which hardware busses each
architecture supports.


# 100123 15-Jul-2002 jhb

Move NTIMECOUNTER and PPS_SYNC from the ISA bus section to the clock
options section.


# 100122 15-Jul-2002 jhb

The EISA_SLOTS option appears to be i386-only.


# 100119 15-Jul-2002 jhb

COMPAT_OLDISA is only used on i386.


# 100098 15-Jul-2002 jhb

Properly document NDGBPORTS and use a better value in NOTES. The normal
values for settings in NOTES is to use the default value + 1.


# 100096 15-Jul-2002 jhb

Remove SIMOS option from here. It will be moving to a new home shortly.


# 100095 15-Jul-2002 jhb

Adjust a comment, the vga device only supports VGA cards.


# 100087 15-Jul-2002 jhb

Move ACPI device and options from MI NOTES to the i386 MD NOTES file.


# 99915 13-Jul-2002 alfred

Move COMPAT_FREEBSD4 to arch-neutral sys/conf/NOTES.
Add COMPAT_FREEBSD4 to GENERIC for arches that existed in FreeBSD 4's time,
not just i386. (alpha and pc98)

Requested by: bde


# 99812 11-Jul-2002 bde

Fixed misspelling of "hint." as "hints." in the description of the "hint."
keyword and in the description of rp's hints.

Didn't fix rp's hints being mostly in comments so that they are harder to
use (they don't get linted either way because makeLINT.sh strips them and
there is no compile-time syntax checking of hints anyway).


# 99759 11-Jul-2002 ken

Move the MSIZE and MCLSHIFT options out of the undocumented section in
NOTES. Add some comments about the potential problems associated with NIC
driver modules and changing these options.

Fix sorting problems in sys/conf/options with the MSIZE and MCLSHIFT
options.

Reviewed by: bde


# 99617 08-Jul-2002 mp

Back out previous TCBHASHSIZE change. This should not be a kernel option.

Pointed out by: bde


# 99569 08-Jul-2002 mp

Document TCBHASHSIZE in NOTES and add it to the allowable kernel options.

PR: 32912
Submitted by: Carl Schmidt <carl@slackerbsd.org>
MFC after: 3 days


# 98849 26-Jun-2002 ken

At long last, commit the zero copy sockets code.

MAKEDEV: Add MAKEDEV glue for the ti(4) device nodes.

ti.4: Update the ti(4) man page to include information on the
TI_JUMBO_HDRSPLIT and TI_PRIVATE_JUMBOS kernel options,
and also include information about the new character
device interface and the associated ioctls.

man9/Makefile: Add jumbo.9 and zero_copy.9 man pages and associated
links.

jumbo.9: New man page describing the jumbo buffer allocator
interface and operation.

zero_copy.9: New man page describing the general characteristics of
the zero copy send and receive code, and what an
application author should do to take advantage of the
zero copy functionality.

NOTES: Add entries for ZERO_COPY_SOCKETS, TI_PRIVATE_JUMBOS,
TI_JUMBO_HDRSPLIT, MSIZE, and MCLSHIFT.

conf/files: Add uipc_jumbo.c and uipc_cow.c.

conf/options: Add the 5 options mentioned above.

kern_subr.c: Receive side zero copy implementation. This takes
"disposable" pages attached to an mbuf, gives them to
a user process, and then recycles the user's page.
This is only active when ZERO_COPY_SOCKETS is turned on
and the kern.ipc.zero_copy.receive sysctl variable is
set to 1.

uipc_cow.c: Send side zero copy functions. Takes a page written
by the user and maps it copy on write and assigns it
kernel virtual address space. Removes copy on write
mapping once the buffer has been freed by the network
stack.

uipc_jumbo.c: Jumbo disposable page allocator code. This allocates
(optionally) disposable pages for network drivers that
want to give the user the option of doing zero copy
receive.

uipc_socket.c: Add kern.ipc.zero_copy.{send,receive} sysctls that are
enabled if ZERO_COPY_SOCKETS is turned on.

Add zero copy send support to sosend() -- pages get
mapped into the kernel instead of getting copied if
they meet size and alignment restrictions.

uipc_syscalls.c:Un-staticize some of the sf* functions so that they
can be used elsewhere. (uipc_cow.c)

if_media.c: In the SIOCGIFMEDIA ioctl in ifmedia_ioctl(), avoid
calling malloc() with M_WAITOK. Return an error if
the M_NOWAIT malloc fails.

The ti(4) driver and the wi(4) driver, at least, call
this with a mutex held. This causes witness warnings
for 'ifconfig -a' with a wi(4) or ti(4) board in the
system. (I've only verified for ti(4)).

ip_output.c: Fragment large datagrams so that each segment contains
a multiple of PAGE_SIZE amount of data plus headers.
This allows the receiver to potentially do page
flipping on receives.

if_ti.c: Add zero copy receive support to the ti(4) driver. If
TI_PRIVATE_JUMBOS is not defined, it now uses the
jumbo(9) buffer allocator for jumbo receive buffers.

Add a new character device interface for the ti(4)
driver for the new debugging interface. This allows
(a patched version of) gdb to talk to the Tigon board
and debug the firmware. There are also a few additional
debugging ioctls available through this interface.

Add header splitting support to the ti(4) driver.

Tweak some of the default interrupt coalescing
parameters to more useful defaults.

Add hooks for supporting transmit flow control, but
leave it turned off with a comment describing why it
is turned off.

if_tireg.h: Change the firmware rev to 12.4.11, since we're really
at 12.4.11 plus fixes from 12.4.13.

Add defines needed for debugging.

Remove the ti_stats structure, it is now defined in
sys/tiio.h.

ti_fw.h: 12.4.11 firmware.

ti_fw2.h: 12.4.11 firmware, plus selected fixes from 12.4.13,
and my header splitting patches. Revision 12.4.13
doesn't handle 10/100 negotiation properly. (This
firmware is the same as what was in the tree previously,
with the addition of header splitting support.)

sys/jumbo.h: Jumbo buffer allocator interface.

sys/mbuf.h: Add a new external mbuf type, EXT_DISPOSABLE, to
indicate that the payload buffer can be thrown away /
flipped to a userland process.

socketvar.h: Add prototype for socow_setup.

tiio.h: ioctl interface to the character portion of the ti(4)
driver, plus associated structure/type definitions.

uio.h: Change prototype for uiomoveco() so that we'll know
whether the source page is disposable.

ufs_readwrite.c:Update for new prototype of uiomoveco().

vm_fault.c: In vm_fault(), check to see whether we need to do a page
based copy on write fault.

vm_object.c: Add a new function, vm_object_allocate_wait(). This
does the same thing that vm_object allocate does, except
that it gives the caller the opportunity to specify whether
it should wait on the uma_zalloc() of the object structre.

This allows vm objects to be allocated while holding a
mutex. (Without generating WITNESS warnings.)

vm_object_allocate() is implemented as a call to
vm_object_allocate_wait() with the malloc flag set to
M_WAITOK.

vm_object.h: Add prototype for vm_object_allocate_wait().

vm_page.c: Add page-based copy on write setup, clear and fault
routines.

vm_page.h: Add page based COW function prototypes and variable in
the vm_page structure.

Many thanks to Drew Gallatin, who wrote the zero copy send and receive
code, and to all the other folks who have tested and reviewed this code
over the years.


# 98586 21-Jun-2002 rwatson

Remove CAPABILITIES from NOTES


# 98099 10-Jun-2002 phk

Put geom_gpt.c under the GEOM option instead of having a special GEOM_GPT
option for it.


# 97993 07-Jun-2002 jhb

Overhaul the ktrace subsystem a bit. For the most part, the actual vnode
operations to dump a ktrace event out to an output file are now handled
asychronously by a ktrace worker thread. This enables most ktrace events
to not need Giant once p_tracep and p_traceflag are suitably protected by
the new ktrace_lock.

There is a single todo list of pending ktrace requests. The various
ktrace tracepoints allocate a ktrace request object and tack it onto the
end of the queue. The ktrace kernel thread grabs requests off the head of
the queue and processes them using the trace vnode and credentials of the
thread triggering the event.

Since we cannot assume that the user memory referenced when doing a
ktrgenio() will be valid and since we can't access it from the ktrace
worker thread without a bit of hassle anyways, ktrgenio() requests are
still handled synchronously. However, in order to ensure that the requests
from a given thread still maintain relative order to one another, when a
synchronous ktrace event (such as a genio event) is triggered, we still put
the request object on the todo list to synchronize with the worker thread.
The original thread blocks atomically with putting the item on the queue.
When the worker thread comes across an asynchronous request, it wakes up
the original thread and then blocks to ensure it doesn't manage to write a
later event before the original thread has a chance to write out the
synchronous event. When the original thread wakes up, it writes out the
synchronous using its own context and then finally wakes the worker thread
back up. Yuck. The sychronous events aren't pretty but they do work.

Since ktrace events can be triggered in fairly low-level areas (msleep()
and cv_wait() for example) the ktrace code is designed to use very few
locks when posting an event (currently just the ktrace_mtx lock and the
vnode interlock to bump the refcoun on the trace vnode). This also means
that we can't allocate a ktrace request object when an event is triggered.
Instead, ktrace request objects are allocated from a pre-allocated pool
and returned to the pool after a request is serviced.

The size of this pool defaults to 100 objects, which is about 13k on an
i386 kernel. The size of the pool can be adjusted at compile time via the
KTRACE_REQUEST_POOL kernel option, at boot time via the
kern.ktrace_request_pool loader tunable, or at runtime via the
kern.ktrace_request_pool sysctl.

If the pool of request objects is exhausted, then a warning message is
printed to the console. The message is rate-limited in that it is only
printed once until the size of the pool is adjusted via the sysctl.

I have tested all kernel traces but have not tested user traces submitted
by utrace(2), though they should work fine in theory.

Since a ktrace request has several properties (content of event, trace
vnode, details of originating process, credentials for I/O, etc.), I chose
to drop the first argument to the various ktrfoo() functions. Currently
the functions just assume the event is posted from curthread. If there is
a great desire to do so, I suppose I could instead put back the first
argument but this time make it a thread pointer instead of a vnode pointer.

Also, KTRPOINT() now takes a thread as its first argument instead of a
process. This is because the check for a recursive ktrace event is now
per-thread instead of process-wide.

Tested on: i386
Compiles on: sparc64, alpha


# 97983 07-Jun-2002 mdodd

'device hea' is no longer broken.
Add 'nowerror' to a few 'hea' files to ignore warnings on volatiles.


# 97937 06-Jun-2002 gibbs

Hook up the ahd driver.


# 97653 31-May-2002 brooks

The loop back device hasn't been a count device for a while so remove
the number of interfaces.


# 97392 28-May-2002 marcel

Add support to GEOM for GUID Partition Tables (GPTs). The support
is currently conditional on both the GEOM and GEOM_GPT options to
avoid getting GPT by default and having the MBR and GPT classes
clash.
The correct behaviour of the MBR class would be to back-off (reject)
a MBR if it's a Protective MBR (a MBR with a single partition of type
0xEE that spans the whole disk (as far as the MBR is concerned).
The correct behaviour if the GPT class would be to back-off (reject)
a GPT if there's a MBR that's not a Protective MBR.

At this stage it's inconvenient to destroy a good MBR when working
with GPTs that it's more convenient to have the MBR class back-off
when it detects the GPT signature on disk and have the GPT class
ignore the MBR.

In sys/gpt.h UUIDs (GUIDs) for the following FreeBSD partitions
have been defined:

GPT_ENT_TYPE_FREEBSD
FreeBSD slice with disklabel. This is the equivalent of
the well-known FreeBSD MBR partition type.
GPT_ENT_TYPE_FREEBSD_{SWAP|UFS|UFS2|VINUM}
FreeBSD partitions in the context of disklabel. This is
speculating on the idea to use the GPT to hold partitions
instead if slices and removing the fixed (and low) limits
we have on the number of partitions.

This commit lacks a GPT image for the regression suite.


# 97081 21-May-2002 jhb

Add code to make default mutexes adaptive if the ADAPTIVE_MUTEXES kernel
option is used (not on by default).

- In the case of trying to lock a mutex, if the MTX_CONTESTED flag is set,
then we can safely read the thread pointer from the mtx_lock member while
holding sched_lock. We then examine the thread to see if it is currently
executing on another CPU. If it is, then we keep looping instead of
blocking.
- In the case of trying to unlock a mutex, it is now possible for a mutex
to have MTX_CONTESTED set in mtx_lock but to not have any threads
actually blocked on it, so we need to handle that case. In that case,
we just release the lock as if MTX_CONTESTED was not set and return.
- We do not adaptively spin on Giant as Giant is held for long times and
it slows SMP systems down to a crawl (it was taking several minutes,
like 5-10 or so for my test alpha and sparc64 SMP boxes to boot up when
they adaptively spinned on Giant).
- We only compile in the code to do this for SMP kernels, it doesn't make
sense for UP kernels.

Tested on: i386, alpha, sparc64


# 96885 18-May-2002 rwatson

Remove IFS from 5.0-CURRENT. This facilitates introducing UFS2 as
IFS had its fingers deep in the belly of the UFS/FFS split. IFS
will be reimplemented by the maintainer at a later date.

Requested by: adrian (maintainer)


# 96755 16-May-2002 trhodes

More s/file system/filesystem/g


# 96155 07-May-2002 bde

Reconnect db_elf.c to the build (now under "options DDB_NOKLDSYM"). It
doesn't actually build yet.


# 95826 30-Apr-2002 scottl

Note that the aacp device requires CAM


# 95804 30-Apr-2002 julian

Add the myson controllers to LINT

MFC after: 2 weeks


# 95607 28-Apr-2002 anholt

Hook the DRM up to the build and add it to NOTES.

Approved by: des


# 95536 26-Apr-2002 scottl

Add a CAM interface to the aac driver. This is useful in case you should
ever connect a SCSI Cdrom/Tape/Jukebox/Scanner/Printer/kitty-litter-scooper
to your high-end RAID controller. The interface to the arrays is still
via the block interface; this merely provides a way to circumvent the
RAID functionality and access the SCSI buses directly. Note that for
somewhat obvious reasons, hard drives are not exposed to the da driver
through this interface, though you can still talk to them via the pass
driver. Be the first on your block to low-level format unsuspecting
drives that are part of an array!

To enable this, add the 'aacp' device to your kernel config.

MFC after: 3 days


# 95151 20-Apr-2002 mike

Reenable the newly unbroken hfa device.


# 95089 19-Apr-2002 mike

Comment out and mark broken the hea and hfa devices until someone has
time to fix them.


# 94979 18-Apr-2002 rwatson

Witness doesn't just track mutexes, so don't say mutexes specifically. It
also tracks sxlocks, etc.


# 94794 15-Apr-2002 des

Document WITNESS_PROFILING.

Submitted by: Hiten Pandya <hiten@uk.FreeBSD.org>


# 94658 14-Apr-2002 scottl

Add a filesystem driver for the Universal Disk Format. For more info,
see http://people.freebsd.org/~scottl/udf

MFC after: when asmodai gets the backport done
Prodded by: phk asmodai des


# 94368 10-Apr-2002 brian

Don't suggest that the digi firmware modules are normally loaded
dynamically, as this will only happen if you kldload digi after the
machine has booted or explicitly mention them in loader.conf.


# 94298 09-Apr-2002 jhb

Round 2 of munging the MI/MD split in NOTES. Put almost all the device
drivers with MI portions into the MI notes. Device drivers such as busses
like the isa, eisa, and pci devices are now in the MD NOTES section even
though they have some MI code. This will ensure that only the proper bits
of device drivers will be included due to the optional bits dependent on
the busses in sys/conf/files. This commit also takes the stance that since
hints are ignored in NOTES anyways, it is ok to include hints for a bus
that may not be present.

Advice from: bde


# 94275 09-Apr-2002 phk

GC various bits and pieces of USERCONFIG from all over the place.


# 93795 04-Apr-2002 brian

Mention that options BOOTP requires options NFSCLIENT and options NFS_ROOT


# 93731 03-Apr-2002 jhb

First round at trying to split up NOTES into MI and MD portions.
Unfortunately, this level doesn't really provide enough granularity. We
probably need several MI NOTES type files for things that are shared by
several architectures but not by all. For example, the PCI options could
live in a NOTES.pci.

This also updates the Makefile for i386 to generate LINT. The only changes
in the generated LINT are the order of various options.

Suggestions for improvement welcome.


# 93719 03-Apr-2002 ru

Dike out a highly insecure UCONSOLE option.
TIOCCONS must be able to VOP_ACCESS() /dev/console to succeed.

Obtained from: OpenBSD


# 93570 01-Apr-2002 jhb

Remove references to KTR_EXTEND.

Pointy-hat to: jake


# 93468 31-Mar-2002 phk

A couple of bits survived Dans nukage of CV_DEBUG in favour of INVARIANTS,
take them out with tacticals.


# 93241 26-Mar-2002 phk

Uncomment GEOM in LINT


# 93041 23-Mar-2002 nsouch

Forgot viapm in the NOTES. Fixed.


# 93023 23-Mar-2002 nsouch

Major rework of the iicbus/smbus framework:

- VIA chipset SMBus controllers added
- alpm driver updated
- Support for dynamic modules added
- bktr FreeBSD smbus updated but not tested
- cleanup


# 92603 18-Mar-2002 joe

Add a USB comm driver.

Ported from NetBSD by: akiyama


# 92517 17-Mar-2002 cjc

Spelling: s/guesst/guessed/


# 92078 11-Mar-2002 phk

Add commented out GEOM line to NOTES


# 91937 09-Mar-2002 luigi

Enable DEVICE_POLLING in LINT now that it is safe to compile it there.


# 91906 08-Mar-2002 rwatson

Note that several of the recently documented clock-related kernel options
are for debugging purposes only.

Suggested by: bde


# 91903 08-Mar-2002 rwatson

Apply a bit more of the patch from conf/35674: document the various
clock options in more detail.

PR: conf/35674
Submitted by: Hiten Pandya <hiten@uk.FreeBSD.org>


# 91902 08-Mar-2002 rwatson

Apply part of the patch from conf/35674 to move the PFIL_HOOKS option
to somewhere more useful, and improve documentation of it.

PR: conf/35674
Submitted by: Hiten Pandya <hiten@uk.FreeBSD.org>


# 91895 08-Mar-2002 rwatson

Synchronize NOTES with -STABLE LINT with respects to the placement
and commenting of NETSMB, NETWMBCRYPTO, and SMBFS. In NOTES, they
had all floated to the bottom of the file with the list of seemingly
random and unclassified kernel options. This change moves them back
up to the network protocol and file system areas, and also documents
the dependencies.


# 91609 04-Mar-2002 alfred

Support for USB fm radio.

Submitted by: David Yeske <dyeske@yahoo.com>


# 90855 18-Feb-2002 jedgar

Correct path to pucdata.c

Reviewed by: jhay


# 90731 16-Feb-2002 jhay

Add the puc (PCI "Universal" Communications) driver. The idea and some of
the structure definitions come from NetBSD to make it easier to share card
definitions. The driver only acts as a shim between the pci bus and the
sio driver. Later pci parallel ports could also be supported through this
driver. Support for most single and multiport pci serial cards should be
as simple as adding its definition to pucdata.c

Tested with the following pci cards:
Moxa Industio CP-114, 4 port RS-232,RS-422/485
Syba Tech Ltd. PCI-4S2P-550-ECP, 4 port RS-232 + 2 parallel ports
Netmos NM9835 PCI-2S-550, 2 port RS-232


# 90702 15-Feb-2002 bde

Garbage-collect options ACPI_NO_ENABLE_ON_BOOT, AML_DEBUG, BLEED,
DEVICE_SYSCTLS, KEY, LOUTB, NFS_MUIDHASHSIZ, NFS_UIDHASHSIZ, PCI_QUIET
and SIMPLELOCK_DEBUG.


# 90690 15-Feb-2002 bde

Garbage collect options AVM_A1_PCI, AVM_A1_PCMCIA, DEBUG_LINUX, DEV_APM,
GUS_DMA, GUS_DMA2, GUS_IRQ, OLTR_NO_BULLSEYE_MAC, OLTR_NO_HAWKEYE_MAC,
OLTR_NO_TMS_MAC and PCIC_RESUME_RESET.


# 90681 15-Feb-2002 bde

Added undocumented options AAC_DEBUG, ACD_DEBUG, ACPI_MAX_THREADS,
ACPI_NO_SEMAPHORES, ASR_MEASURE_PERFORMANCE, AST_DEBUG, ATAPI_DEBUG,
ATA_DEBUG, BKTR_ALLOC_PAGES, BROOKTREE_ALLOC_PAGES, CAPABILITIES,
COMPAT_SUNOS, CV_DEBUG, MAXFILES, METEOR_TEST_VIDEO, NDEVFSINO,
NDEVFSOVERFLOW, NETGRAPH_BRIDGE, NETSMB, NETSMBCRYPTO, PFIL_HOOKS,
SIMOS, SMBFS, VESA_DEBUG, VGA_DEBUG.

Start using #! to comment out negative options and ## to comment out
broken options.

atapi-all.c:
Fixed rotted bits that were hiding under ATAPI_DEBUG.

atapi-cd.c:
#include "opt_ata.h" so that ACD_DEBUG is actually visible.

ata/atapi-tape.c
#include "opt_ata.h" so that AST_DEBUG is actually visible.


# 90628 13-Feb-2002 pdeuskar

- Added support for receive in multiple
descriptors. This simplifies code for jumbo frames.
- Cleaned up coding conventions to make code more unix-like.
- Cleaned up code in if_em_fxhw.c and if_em_phy.c.
Added relevant comments.

MFC after: 1 week


# 90590 12-Feb-2002 dwmalone

Add an option CPU_ATHLON_SSE_HACK which attempts to enable the SSE
feature bit on newer Athlon CPUs if the BIOS has forgotten to enable
it.

This patch was constructed using some info made available by John
Clemens at http://www.deater.net/john/PavilionN5430.html

Reviewed by: -audit
MFC after: 3 weeks


# 89835 26-Jan-2002 jdp

Add support for the Netgear GA302T 10/100/1000 adapter. Given that
it's a 32-bit card, it's quite nice for $75.

MFC after: 3 days


# 89580 20-Jan-2002 msmith

Add the 'iir' driver, for the Intel Integrated RAID controllers and
prior ICP Vortex models. This driver was developed by Achim Leubner
of Intel (previously with ICP Vortex) and Boji Kannanthanam of Intel.

Submitted by: "Kannanthanam, Boji T" <boji.t.kannanthanam@intel.com>
MFC after: 2 weeks


# 89099 08-Jan-2002 fjoe

- generic Arcnet framework
- device driver for SMC COM90cx6 Arcnet network adapters

Obtained from: NetBSD


# 88754 01-Jan-2002 julian

Add the nullmodem device


# 88405 22-Dec-2001 gj

Add the ifpi2 driver.

MFC after: 4 weeks


# 88323 20-Dec-2001 pirzyk

Add support for the Intel 82443MX chipset

PR: kern/33032
MFC after: 1 month


# 88224 19-Dec-2001 phk

Comment out DEVICE_POLLING so that LINT compiles again.


# 87963 14-Dec-2001 luigi

Add description of DEVICE_POLLING option.


# 87962 14-Dec-2001 luigi

Clarify the comments related to DUMMYNET and HZ

MFC after: 3 days


# 87870 14-Dec-2001 rwatson

o Clarify the comments on AIO to note that yes, AIO really is unsuitable
for use on machines with untrusted local users, for security as well
as stability reasons.
o Lack of clarity pointed out by: David Rufino <dr@soniq.net> via bugtraq.


# 87830 13-Dec-2001 dillon

Add maxusers auto-sizing description to NOTES file for -current


# 87322 03-Dec-2001 des

PROCFS requires PSEUDOFS now.


# 87011 27-Nov-2001 msmith

Add the 'ciss' driver, which supports the Compaq SmartRAID 5* family of
RAID controllers (5300, 532, 5i, etc.)

Thanks to Compaq and Yahoo! for support during the development of this
driver.

MFC after: 1 week


# 86752 21-Nov-2001 fjoe

Add driver for Granch SBNI12-xx ISA and PCI network adapters.

MFC after: 1 week


# 86418 15-Nov-2001 asmodai

Document the atkbd flags of 0x03 and be explicit to mention this might
fit some dockingstation keyboard probing.

PR: 23681
Submitted by: yokota [PR issued by:
Claude Lefrancois <lmcclef@lmc.ericsson.se>]


# 86406 15-Nov-2001 jhb

Axe NFS_NOSERVER since it doesn't do anything anymore. Remove NFSSERVER
from your config file instead.


# 85878 02-Nov-2001 imp

The sound drivers live in sound/driver, not sound/drivers

submitted by: Alex Kapranoff <alex@kapran.bitmcnit.bryansk.su>


# 85483 25-Oct-2001 bde

Fixed misformatting of options line for COMPAQ_M610 and EICON_DIVA in
rev.1.974.

Fixed previous misformatting of options line for ACCEPT_FILTER_DATA,
ACCEPT_FILTER_HTTP, ACPI_DEBUG, COMPAT_SVR4, DEBUG_SVR4, ED_NO_MIIBUS,
IFS, PCFCLOCK_MAX_RETRIES, PCFCLOCK_VERBOSE, PECOFF_DEBUG, PECOFF_SUPPORT,
PPC_PROBE_CHIPSET, RANDOM_IP_ID, REGRESSION, SC_CUT_SEPCHARS,
SC_CUT_SPACES2TABS, SES_ENABLE_PASSTHROUGH, UFS_DIRHASH, UFS_EXTATTR
and UFS_EXTATTR_AUTOSTART.


# 85482 25-Oct-2001 bde

Fixed bugs in rev.1.973. Actually enable PCI_ENABLE_IO_MODES. It
defeats the point of LINT to comment out positive options.

Fixed style bugs in rev.1.973:
- disordering of PCI options list.
- missing space after "options".
- line longer than 80 characters.
- bogus quoting of "BIOS".


# 85479 25-Oct-2001 hm

add options line for Compaq Microcom 610 ISDN card.


# 85457 25-Oct-2001 jlemon

Add PCI_ENABLE_IO_MODES option, for BIOSen that neglect this.

Submitted by: Andrew R. Reiter arr@watson.org


# 85319 22-Oct-2001 imp

wx is an ex-parrot. wx doesn't exist any more, so remove it.


# 85255 20-Oct-2001 mjacob

Remove wx.


# 85133 19-Oct-2001 jlemon

Add entry for the PRO/1000.


# 85117 18-Oct-2001 imp

Add verbage for MODULES_OVERRIDE.


# 85043 17-Oct-2001 des

Back out previous revision. TCBHASHSIZE isn't an option, despite what I'd
been misled to believe by unknown parties. It probably *should* be an option,
but the runtime value is controlled by a tunable, which Ought To Be Enough.


# 85033 16-Oct-2001 des

Document TCBHASHSIZE.


# 84794 11-Oct-2001 cjc

Documentation nitpick. IPFIREWALL_VERBOSE logging really has nothing
to do with "dropped packets." Any packets matching rules with the
'log' directive are logged regardless of the action, drop, pass,
divert, pipe, etc.

MFC after: 1 day


# 84694 08-Oct-2001 mjacob

Note that this driver is soon to be deprecated and removed from FreeBSD.


# 84623 07-Oct-2001 iedowse

Mention that ed requires miibus.

Suggested by: Eugene Grosbein <eugen@grosbein.pp.ru>


# 84479 04-Oct-2001 mp

Add nmdm driver.

PR: 31027
Submitted by: Edwin Groothuis <edwin@mavetju.org>
MFC after: 1 day


# 84462 04-Oct-2001 jhb

Comment out RESTARTABLE_PANICS so that it is not defined in LINT. It
introduces many useless warnings obscuring the useful ones.


# 84151 29-Sep-2001 iedowse

Add an option ED_NO_MIIBUS, which causes the `ed' driver to be
built without support for miibus PHYs. Most ed cards don't need
miibus support, so it's useful to be able to avoid the bloat of
all the mii devices for small fixed-purpose kernels.


# 84059 27-Sep-2001 wpaul

Add device driver support for the Broadcom BCM570x family of gigabit
ethernet controllers. This adds support for the 3Com 3c996-T, the
SysKonnect SK-9D21 and SK-9D41, and the built-in gigE NICs on
Dell PowerEdge 2550 servers. The latter configuration hauls ass:
preliminary measurements show TCP speeds of over 900Mbps using
only normal size frames.

TCP/IP checksum offload, jumbo frames and VLAN tag insertion/stripping
are supported, as well as interrupt moderation.

Still need to fix autonegotiation support for 1000baseSX NICs, but
beyond that, driver is pretty solid.


# 84056 27-Sep-2001 brooks

Add the new ng_gif, ng_gif_demux, and ng_ip_input nodes to NOTES so they
get compiled with LINT.


# 84021 27-Sep-2001 murray

Update a comment to reflect the param.c -> subr_param.c move.

PR: kern/30766
Submitted by: Kevin Way <kevin.way@overtone.org>


# 83996 26-Sep-2001 brooks

The number of ccd(4) devices is no longer set at compile time so stop
trying to do it in the examples and config files.


# 83936 25-Sep-2001 brooks

The faith(4) device is no longer a count device so don't specify a count.


# 83791 21-Sep-2001 sobomax

Introduce new syscons(4) kernel options:
- SC_CUT_SPACES2TABS - when copying text into the cut buffer convert leading
spaces into the tabs;
- SC_CUT_SEPCHARS="XYZ" - treat supplied characters as possible words
separators when the driver searches for words boundaries when doing cut
operation.

Also unify cut code a bit to decrease amount of duplicated code. This fixes
line cut mode, so that it is no longer pads line with useless spaces.

Approved by: ru


# 83758 21-Sep-2001 peter

Add some comments about KVA_PAGES and a test.


# 83651 18-Sep-2001 peter

Cleanup and split of nfs client and server code.
This builds on the top of several repo-copies.


# 83449 14-Sep-2001 asmodai

Place CPU_UPGRADE_HW_CACHE in the right section.


# 83366 12-Sep-2001 julian

KSE Milestone 2
Note ALL MODULES MUST BE RECOMPILED
make the kernel aware that there are smaller units of scheduling than the
process. (but only allow one thread per process at this time).
This is functionally equivalent to teh previousl -current except
that there is a thread associated with each process.

Sorry john! (your next MFC will be a doosie!)

Reviewed by: peter@freebsd.org, dillon@freebsd.org

X-MFC after: ha ha ha ha


# 83117 05-Sep-2001 brooks

Don't specify the number of vlan interfaces any more, they are created
at runtime.


# 82791 02-Sep-2001 shiba

Always turned on 8bit access card support for the fe driver
both i386/pc98, so options FE_8BIT_SUPPORT was deleted.

Reviewed by: nyan


# 82690 31-Aug-2001 mjacob

note 2300/2312 support


# 82541 29-Aug-2001 msmith

Note that compiling ACPI into the kernel is deprecated for normal use.


# 82309 25-Aug-2001 peter

Optionize UPAGES for the i386. As part of this I split some of the low
level implementation stuff out of machine/globaldata.h to avoid exposing
UPAGES to lots more places. The end result is that we can double
the kernel stack size with 'options UPAGES=4' etc.

This is mainly being done for the benefit of a MFC to RELENG_4 at some
point. -current doesn't really need this so much since each interrupt
runs on its own kstack.


# 82223 23-Aug-2001 jhb

Add a new kernel option RESTARTABLE_PANICS. If this option is present,
then one can restart from a panic by resetting the panicstr variable to
NULL. This commit conditionalizes the previously committed functionality
on this variable. It also removes the __dead2 attribute from the panic()
function so that when one continues from a panic() the behavior will
be predictable.


# 81323 08-Aug-2001 peter

Add the screen savers for test coverage.


# 81206 06-Aug-2001 nate

-Finished cleanup of old 'ThinkPad' comments that are no longer useful.

Reminded by: bde


# 80306 24-Jul-2001 brooks

Allow ng_split to be compiled in staticly.

MFC after: 7 weeks


# 80219 23-Jul-2001 wpaul

You were knocked senseless by the Boomerang, spun around by the Cyclone,
blown over by the Hurricane and had a house dropped on you by the Tornado.
Now it's time to have your parade rained on by... the Typhoon!

This commit adds driver support for 3Com 3cR990 10/100 ethernet
adapters based on the Typhoon I and Typhoon II chipsets. This is actually
a port of the OpenBSD driver with many hacks by me.

No Virginia, there isn't any support for the hardware crypto yet. However
there is support for TCP/IP checksum offload and VLANs.

Special thanks go to Jason Wright, Aaron Campbell and Theo de Raadt for
squeezing enough info out of 3Com to get this written, and for doing
most of the hard work.

Manual page is included. Compiled as a module and included in GENERIC.


# 80164 22-Jul-2001 kris

Note that the umass device requires scbus and da


# 80053 20-Jul-2001 pirzyk

Put a knob in the kernel config files to tweak the user max stack size.

PR: kern/28925
Reviewed by: bakul@bitblocks.com and tlambert2@mindspring.com on -arch.
MFC after: 1 week


# 80052 20-Jul-2001 brooks

gif isn't a count device anymore so don't put a number after it.

Pointed out by: brian


# 79663 13-Jul-2001 dd

`pcn' supports AMD Am79C97x cards, not Am79C79x cards.

PR: 28946
Submitted by: Ryuichiro Imura <imura@ryu16.org>


# 79609 12-Jul-2001 peter

Activate SSE/SIMD. This is the extra context switching support that
we are required to do if we let user processes use the extra 128 bit
registers etc.

This is the base part of the diff I got from:
http://www.issei.org/issei/FreeBSD/sse.html
I believe this is by: Mr. SUZUKI Issei <issei@issei.org>
SMP support apparently by: Takekazu KATO <kato@chino.it.okayama-u.ac.jp>
Test code by: NAKAMURA Kazushi <kaz@kobe1995.net>, see
http://kobe1995.net/~kaz/FreeBSD/SSE.en.html

I have fixed a couple of style(9) deviations. I have some followup
commits to fix a couple of non-style things.


# 79595 11-Jul-2001 wpaul

Another NatSemi gigE card; the Netgear GA622T


# 79593 11-Jul-2001 wpaul

Document additional cards supported by the nge driver: LinkSys EG1032
anf EG1064, and the Surecom EP-320G-TX.

Also fix typo in nge.4 man page: Addrton -> Addtron.


# 79561 10-Jul-2001 iedowse

Bring in dirhash, a simple hash-based lookup optimisation for large
directories. When enabled via "options UFS_DIRHASH", in-core hash
arrays are maintained for large directories. These allow all
directory operations to take place quickly instead of requiring
long linear searches. For now anyway, dirhash is not enabled by
default.

The in-core hash arrays have a memory requirement that is approximately
half the size of the size of the on-disk directory file. A number
of new sysctl variables allow control over which directories get
hashed and over the maximum amount of memory that dirhash will use:

vfs.ufs.dirhash_minsize
The minimum on-disk directory size for which hashing should be
used. The default is 2560 (2.5k).

vfs.ufs.dirhash_maxmem
The system-wide maximum total memory to be used by dirhash data
structures. The default is 2097152 (2MB).

The current amount of memory being used by dirhash is visible
through the read-only sysctl variable vfs.ufs.dirhash_maxmem.
Finally, some extra sanity checks that are enabled by default, but
which may have an impact on performance, can be disabled by setting
vfs.ufs.dirhash_docheck to 0.

Discussed on: -fs, -hackers


# 79100 02-Jul-2001 mjacob

A slightly more complete change to timeouts:

1. Add SA_IO_TIMEOUT as an option (4 minutes default) to cover reads,
writes, wfm, test unit ready.

2. Add internal SCSIOP_TIMEOUT (e.g., for mode sense) at 1 minute. This
should not require an option, but is cleaner to parameterize.

MFC after: 1 week


# 78897 27-Jun-2001 brian

Remove dgm


# 78896 27-Jun-2001 brian

Spell digi right


# 78565 21-Jun-2001 dd

Don't set CONSPEED to the default and deobfuscate the comment.

PR: 28296
Submitted by: bde, Giorgos Keramidas <keramida@ceid.upatras.gr>


# 78473 19-Jun-2001 wollman

Actually document TCPDEBUG.


# 78472 19-Jun-2001 wollman

Fix punctuation in comment.


# 78135 12-Jun-2001 peter

Hints overhaul:
- Replace some very poorly thought out API hacks that should have been
fixed a long while ago.
- Provide some much more flexible search functions (resource_find_*())
- Use strings for storage instead of an outgrowth of the rather
inconvenient temporary ioconf table from config(). We already had a
fallback to using strings before malloc/vm was running anyway.


# 78062 11-Jun-2001 des

Add PSEUDOFS, and note that LINPROCFS depends on it.


# 77952 09-Jun-2001 dd

Document the PANIC_REBOOT_WAIT_TIME option.

PR: 22228
Submitted by: Keith Jones <keith@mithy.demon.co.uk>


# 77802 06-Jun-2001 bde

Fixed missing parentheses in the definition of KTR_COMPILE. KTR_COMPILE
is usually (always?) used in expressions like (KTR_COMPILE & KTR_FOO).
Defining it as KTR_INTR|KTR_PROC gave the wrong value in approximately
8497 places according to error output for compiling LINT.


# 77713 04-Jun-2001 jhb

Use bitmasks of the KTR_* constants instead of hexidecimal values for
the KTR_COMPILE and KTR_MASK examples.


# 77574 01-Jun-2001 kris

Add ``options RANDOM_IP_ID'' which randomizes the ID field of IP packets.
This closes a minor information leak which allows a remote observer to
determine the rate at which the machine is generating packets, since the
default behaviour is to increment a counter for each packet sent.

Reviewed by: -net
Obtained from: OpenBSD


# 77542 31-May-2001 wpaul

Add device driver support for the Level 1 LXT1001 NetCellerator
gigabit ethernet controller chip. This device is used on some
fiber optic gigE cards from SMC, D-Link and Addtron. Jumbograms and
TCP/IP checksum offload on receive are supported. Hardware VLAN
filtering is not, because it doesn't play well with our existing
VLAN code. Also add manual page.

There is a 4.x version of this driver available at
http://www.freebsd.org/~wpaul/Level1/4.x if anyone feels adventurous
and wants to test it. I still need to do performance testing and
tuning with this device.

(For my next trick, I will make the 3Com 3cR990 sit up and beg.)


# 77414 29-May-2001 phk

Remove MFS options from all example kernel configs.


# 77362 28-May-2001 phk

Clarify that the old CD-ROM drivers are only for non-ATAPI drives.

PR: 25369
Submitted by: Matt Emmerton matt@gsicomp.on.ca
MFC after: 1 week


# 77213 26-May-2001 dougb

Update reality in the strings comment


# 77164 25-May-2001 hm

Submitted by: Juha-Matti Liukkonen (Cubical Solutions Ltd) (jml@cubical.fi)

Add a CAPI (hardware independent) driver i4bcapi(4) and hardware driver
iavc (4) to support active CAPI-based BRI and PRI cards (currently AVM
B1 and T1 cards) to isdn4bsd.


# 77031 23-May-2001 ru

- FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file
systems were repo-copied from sys/miscfs to sys/fs.

- Renamed the following file systems and their modules:
fdesc -> fdescfs, portal -> portalfs, union -> unionfs.

- Renamed corresponding kernel options:
FDESC -> FDESCFS, PORTAL -> PORTALFS, UNION -> UNIONFS.

- Install header files for the above file systems.

- Removed bogus -I${.CURDIR}/../../sys CFLAGS from userland
Makefiles.


# 76554 13-May-2001 phk

Convert DEVFS from an "opt-in" to an "opt-out" option.

If for some reason DEVFS is undesired, the "NODEVFS" option is
needed now.

Pending any significant issues, DEVFS will be made mandatory in
-current on july 1st so that we can start reaping the full
benefits of having it.


# 76479 11-May-2001 wpaul

Add support for gigabit ethernet cards based on the NatSemi DP83820
and DP83821 gigabit ethernet MAC chips and the NatSemi DP83861 10/100/1000
copper PHY. There are a whole bunch of very low cost cards available with
this chipset selling for $150USD or less. This includes the SMC9462TX,
D-Link DGE-500T, Asante GigaNIX 1000TA and 1000TPC, and a couple cards
from Addtron.

This chip supports TCP/IP checksum offload, VLAN tagging/insertion.
2048-bit multicast filter, jumbograms and has 8K TX and 32K RX FIFOs.
I have not done serious performance testing with this driver. I know
it works, and I want it under CVS control so I can keep tabs on it.
Note that there's no serious mutex stuff in here yet either: I need
to talk more with jhb to figure out the right way to do this. That
said, I don't think there will be any problems.

This driver should also work on the alpha. It's not turned on in
GENERIC.


# 76414 09-May-2001 jhb

Add in commented out entries for NEWCARD so that they are at least
documented. They cannot be turned on by default due to conflicting
symbols at link time between OLDCARD and NEWCARD.

Approved by: imp


# 76195 01-May-2001 brian

Add a ``digi'' driver.

This driver supports PCI Xr-based and ISA Xem Digiboard cards.
dgm will go away soon if there are no problems reported. For now,
configuring dgm into your kernel warns that you should be using
digi. This driver is probably close to supporting Xi, Xe and Xeve
cards, but I wouldn't expect them to work properly (hardware
donations welcome).

The digi_* pseudo-drivers are not drivers themselves but contain
the BIOS and FEP/OS binaries for various digiboard cards and are
auto-loaded and auto-unloaded by the digi driver at initialisation
time. They *may* be configured into the kernel, but waste a lot
of space if they are. They're intended to be left as modules.

The digictl program is (mainly) used to re-initialise cards that
have external port modules attached such as the PC/Xem.


# 75733 20-Apr-2001 jesper

Say goodbye to TCP_COMPAT_42

Reviewed by: wollman
Requested by: wollman


# 75714 19-Apr-2001 jedgar

o Document UFS_ACL option
o Add link to src/sys/ufs/ufs/README.extattr for UFS_EXTATTR* options

Reviewed by: rwatson
Obtained from: TrustedBSD Project


# 75424 11-Apr-2001 rwatson

o Introduce "options REGRESSION", a kernel option which enables
interfaces and functionality intended for use during correctness and
regression testing. Features enabled by "options REGRESSION" may
in and of themselves introduce security or correctness problems if
used improperly, and so are not intended for use in production
systems, only in testing environments.

Obtained from: TrustedBSD Project


# 75332 09-Apr-2001 bp

Add function prototypes and base module for kernel side iconv library.
Add simple "xlat" converter which performs 8to8 table based conversion.
Unicode converter will be added in the near future.

Reviewed by: silence on arch@
Files placement reviewed by: bde
Obtained from: smbfs


# 74497 19-Mar-2001 rwatson

o Two changes made elsewhere relating to recent EA commits, but not
committed to NOTES:
- s/FFS_EXTATTR/UFS_EXTATTR/
- add UFS_EXTATTR_AUTOSTART

Submitted by: bde


# 74492 19-Mar-2001 des

Axe TCP_RESTRICT_RST. It was never a particularly good idea except for a few
very specific scenarios, and now that we have had net.inet.tcp.blackhole for
quite some time there is really no reason to use it any more.

(first of three commits)


# 74337 16-Mar-2001 sos

Remove the now defunct ATA_ENABLE* options

Spotted by: phk


# 74329 16-Mar-2001 imp

add cnw driver to notes/lint


# 74182 12-Mar-2001 jlemon

Move the fxp driver so it is under the miibus section.


# 74047 09-Mar-2001 phk

Make md(4) and mdconfig(8) take over the role of vn(4) and vnconfig(8)
entirely as previously advertised.

md(4) adopted all assets of vn(4) some time back and has proper devfs
support and cloning abilities to boot.


# 73386 03-Mar-2001 mjacob

Add some default hints for isp.


# 73316 02-Mar-2001 markm

Back out a removal that I was far to quick to apply. The root cause
has been fixed.


# 73278 01-Mar-2001 markm

No longer an option. Config(8) is whining over LINT.


# 73184 27-Feb-2001 mjacob

Update NOTES wrt hint for fxp.


# 73132 27-Feb-2001 peter

Add and document the LINPROCFS option, so that we can build linprocfs
(either as a module or in the kernel) after sys/modules/* dies.


# 73128 27-Feb-2001 peter

"Document" the COMPAT_LINUX and IBCS2 ABI emulation support together
rather than in silly places like "VFS Cluster debugging". People
should really be using COMPAT_LINUX instead of the linux module on
dynamic systems like -current.


# 73007 25-Feb-2001 peter

Drop the 'count' from the aha device specs


# 72989 24-Feb-2001 jhb

Add back in INVARIANT_SUPPORT and expand the comments in NOTES about it
to include the reasoning Eivind justifiably thwapped me over the head with.


# 72980 24-Feb-2001 bp

Introduce API for sequential reads/writes (build/dissect) of mbuf chains.

Reviewed by: Ian Dowse <iedowse@maths.tcd.ie>,
Bosko Milekic <bmilekic@technokratis.com>,
Julian Elischer <julian@elischer.org> and arch@/net@
Obtained from: smbfs


# 72930 22-Feb-2001 peter

Activate USER_LDT by default. The new thread libraries are going to
depend on this. The linux ABI emulator tries to use it for some linux
binaries too. VM86 had a bigger cost than this and it was made default
a while ago.

Reviewed by: jhb, imp


# 72871 22-Feb-2001 jhb

Now that zerror() and SPLASSERT() have been laid to rest, INVARIANT_SUPPORT
is no longer needed. R.I.P.


# 72135 07-Feb-2001 semenu

Reflect recently added support for SMC9432FTX cards.


# 72091 06-Feb-2001 asmodai

Fix typo: seperate -> separate.

Seperate does not exist in the english language.


# 72011 04-Feb-2001 peter

Clean up some leftovers from the root mount cleanup that was done some
time ago. FFS_ROOT and CD9660_ROOT are obsolete.


# 71997 04-Feb-2001 peter

'device agp' was missing


# 71990 04-Feb-2001 phk

Remove the LABPC driver.

Doesn't work, no maintainer, more promising code exists elsewhere.


# 71893 01-Feb-2001 bde

Unbreak test coverage of cy driver.


# 71861 31-Jan-2001 peter

Add hpfs and the config glue for it. It was being skipped from test
coverage.


# 71857 31-Jan-2001 tanimura

As the default MAXDSIZ and DFLDSIZ is 512MB, bump the example values
to 1GB. A box of mine is running with MAXDSIZ and DFLDSIZ increased
up to 1.5GB.

Wishlist: It would be nice to warn if MAXTSIZ + MAXDSIZ + MAXSSIZ
exceeds VM_MAXUSER_ADDRESS - VM_MINUSER_ADDRESS.


# 71805 29-Jan-2001 sos

Add text for option ATA_ENABLE_WC.


# 71741 28-Jan-2001 phk

Remove an outdated DEVFS non-description.


# 71676 26-Jan-2001 hm

Add experimental support for Eicon.Diehl DIVA 2.0 and 2.02 ISA PnP cards.


# 71617 25-Jan-2001 cokane

Add some description and clarification as to the use of the tdfx device.
Answers many questions I have recieved and has a short description of what
the driver actually does.


# 71611 24-Jan-2001 peter

Disable cy - it is now completely broken and needs non-trivial work.


# 71297 20-Jan-2001 asmodai

Document some more options.

Apologies to Bruce for not yet cleaning it up in sections. Coming
soon.


# 71254 19-Jan-2001 peter

Add missing twe (3ware) and ahb (adaptec 174x) devices (!)


# 71106 16-Jan-2001 des

Change NSWAPDEV to something else than the default value.


# 71098 16-Jan-2001 peter

Stop doing runtime checking on i386 cpus for cpu class. The cpu is
slow enough as it is, without having to constantly check that it really
is an i386 still. It was possible to compile out the conditionals for
faster cpus by leaving out 'I386_CPU', but it was not possible to
unconditionally compile for the i386. You got the runtime checking whether
you wanted it or not. This makes I386_CPU mutually exclusive with the
other cpu types, and tidies things up a little in the process.

Reviewed by: alfred, markm, phk, benno, jlemon, jhb, jake, grog, msmith,
jasone, dcs, des (and a bunch more people who encouraged it)


# 71052 15-Jan-2001 dillon

Make NSWAPDEV reasonable so people do not mistakenly use unreasonable
values when creating custom kernels from LINT.

Suggested-by: "Louis A. Mamakos" <louie@TransSys.COM>


# 71037 14-Jan-2001 markm

Remove NOBLOCKRANDOM as a compile-time option. Instead, provide
exactly the same functionality via a sysctl, making this feature
a run-time option.

The default is 1(ON), which means that /dev/random device will
NOT block at startup.

setting kern.random.sys.seeded to 0(OFF) will cause /dev/random
to block until the next reseed, at which stage the sysctl
will be changed back to 1(ON).

While I'm here, clean up the sysctls, and make them dynamic.
Reviewed by: des
Tested on Alpha by: obrien


# 70930 11-Jan-2001 hm

Add itjc ISDN hardware driver


# 70670 04-Jan-2001 peter

use 'profile 2' instead of 1, since it causes more code to be tested.


# 70622 03-Jan-2001 nsouch

Remove alpm numbering.


# 70485 29-Dec-2000 takawata

Remove the old acpi stuff entry.

Submitted by:kurinyma


# 70426 28-Dec-2000 des

Retire kernfs (kernel part).


# 70224 20-Dec-2000 takawata

Add PECOFF (WIN32 Execution file format) support.
To use it, some dll is needed. And currently, the dll is only for NetBSD.
So one more kernel module is needed.
For more infomation,
http://chiharu.haun.org/peace/ .

Reviewed by: bp


# 70060 15-Dec-2000 phk

Add the musycc driver to NOTES.

This is a driver for the LanMedia/SBE LMC150x E1/T1 family of cards.

The driver currently support unframed E1 (2048kbit/s) and framed
E1 (nx64).

These cards will provision E1/T1 lines for about 1/4 the cost of
a cisco router...


# 69952 12-Dec-2000 msmith

Remove the COMPAT_OLDPCI option, it's going away.

Turn 'lnc' off in GENERIC for the moment, pending its update to newbus.


# 69878 11-Dec-2000 mjacob

add comment about ispfw


# 69873 11-Dec-2000 nsayer

Add the spic driver, which is a simple first attempt at providing access
to the jog dial device.


# 69554 03-Dec-2000 alex

Add the NS DP83815 to the list of supported chips by the sis driver.

Inspired by: Oliver Fromme


# 68831 16-Nov-2000 archie

Add kernel option NETGRAPH_ONE2MANY.


# 68760 15-Nov-2000 imp

vx no longer uses pci compat shims and this doesn't need a count


# 68497 08-Nov-2000 asmodai

Document DISABLE_PSE.


# 68492 08-Nov-2000 asmodai

Document CLUSTERDEBUG, CPU_UPGRADE_HW_CACHE and LOCKF_DEBUG.


# 68487 08-Nov-2000 asmodai

Document the following options:
FB_DEBUG,
FB_INSTALL_CDEV,
FE_8BIT_SUPPORT,
IBCS2,
KEY,
LOUTB,
SPX_HACK


# 68484 08-Nov-2000 asmodai

Document XBONEHACK option.


# 68483 08-Nov-2000 asmodai

Document some AHC_* options.


# 68433 07-Nov-2000 kjc

newbusify the en atm driver.


# 68421 06-Nov-2000 jhb

Document the KTR_VERBOSE option.


# 68001 30-Oct-2000 phk

Comment out the (old) acpi stuff, it breaks LINT.


# 67843 29-Oct-2000 non

Add hints for ISA cards (such as TMC1610M) which use stg driver.
The values has been given by Arai Mikio <m-arai@sco.bekkoame.ne.jp>.


# 67764 28-Oct-2000 msmith

Add some verbiage about the new ACPICA code. Note that this probably
breaks building this config, as the old ACPI code will conflict. The
old code will be going away shortly, so this should not be an issue.


# 67705 27-Oct-2000 dougb

Expand on the reasons for and against defining NO_F00F_HACK. This is one of
those options that is frequently misunderstood, and ends up on -questions.

PR: 21852


# 67689 27-Oct-2000 markm

As the blocking model has seems to be troublesome for many, disable
it for now with an option.

This option is already deprecated, and will be removed when the
entropy-harvesting code is fast enough to warrant it.


# 67677 27-Oct-2000 jhb

Add and document the WITNESS_SKIPSPIN and WITNESS_DDB kernel options.


# 67562 25-Oct-2000 n_hibma

The USB scanner driver. To be used together with SANE.


# 67481 24-Oct-2000 babkin

Added lines for the wds driver.

Approved by: gibbs


# 67468 23-Oct-2000 non

Add PC-Card/ISA SCSI host adpater drivers from NetBSD/pc98
(a NetBSD port for NEC PC-98x1 machines). They are ncv for NCR 53C500,
nsp for Workbit Ninja SCSI-3, and stg for TMC 18C30 and 18C50.

I thank NetBSD/pc98 and bsd-nomads people.

Obtained from: NetBSD/pc98


# 67359 20-Oct-2000 jhb

Catch up to SMP_DEBUG -> MUTEX_DEBUG.


# 67283 18-Oct-2000 hm

Add ifpnp driver to list of i4b hardware drivers.


# 67111 14-Oct-2000 phk

Duh! LINT is called NOTES these days.

Make sure LINT checks profiling code as well.


# 67106 14-Oct-2000 adrian

Initial commit of IFS - a inode-namespaced FFS. Here is a short
description:

How it works:
--

Basically ifs is a copy of ffs, overriding some vfs/vnops. (Yes, hack.)
I didn't see the need in duplicating all of sys/ufs/ffs to get this
off the ground.

File creation is done through a special file - 'newfile' . When newfile
is called, the system allocates and returns an inode. Note that newfile
is done in a cloning fashion:

fd = open("newfile", O_CREAT|O_RDWR, 0644);
fstat(fd, &st);

printf("new file is %d\n", (int)st.st_ino);

Once you have created a file, you can open() and unlink() it by its returned
inode number retrieved from the stat call, ie:

fd = open("5", O_RDWR);

The creation permissions depend entirely if you have write access to the
root directory of the filesystem.

To get the list of currently allocated inodes, VOP_READDIR has been added
which returns a directory listing of those currently allocated.

--

What this entails:

* patching conf/files and conf/options to include IFS as a new compile
option (and since ifs depends upon FFS, include the FFS routines)

* An entry in i386/conf/NOTES indicating IFS exists and where to go for
an explanation

* Unstaticize a couple of routines in src/sys/ufs/ffs/ which the IFS
routines require (ffs_mount() and ffs_reload())

* a new bunch of routines in src/sys/ufs/ifs/ which implement the IFS
routines. IFS replaces some of the vfsops, and a handful of vnops -
most notably are VFS_VGET(), VOP_LOOKUP(), VOP_UNLINK() and VOP_READDIR().
Any other directory operation is marked as invalid.

What this results in:

* an IFS partition's create permissions are controlled by the perm/ownership of
the root mount point, just like a normal directory

* Each inode has perm and ownership too

* IFS does *NOT* mean an FFS partition can be opened per inode. This is a
completely seperate filesystem here

* Softupdates doesn't work with IFS, and really I don't think it needs it.
Besides, fsck's are FAST. (Try it :-)

* Inodes 0 and 1 aren't allocatable because they are special (dump/swap IIRC).
Inode 2 isn't allocatable since UFS/FFS locks all inodes in the system against
this particular inode, and unravelling THAT code isn't trivial. Therefore,
useful inodes start at 3.

Enjoy, and feedback is definitely appreciated!


# 67033 12-Oct-2000 archie

Add missing option NETGRAPH_ETHER.

PR: kern/20288


# 66934 10-Oct-2000 hm

correct "device iwic0" to "device iwic"


# 66884 09-Oct-2000 hm

update to i4b version 0.95.04


# 66859 09-Oct-2000 phk

A couple of negative options was not commented out in NOTES/LINT. This
obscured a #include bug in syscons.


# 66825 08-Oct-2000 bde

Unbreak detection of breakage in cy driver.


# 66783 07-Oct-2000 phk

Cy driver doesn't compile and nobody seems to care.


# 66703 05-Oct-2000 archie

Driver for the Intel 82801AA (ICH) SMBus controller and compatibles.

Obtained from: Whistle source tree


# 66594 03-Oct-2000 wpaul

Add the pcn device to NEWCARD and NOTES.


# 66587 03-Oct-2000 sos

Add ATA_ENABLE_TAGS options description


# 66522 02-Oct-2000 peter

Put on my nuclear-grade asbestos suit and cvs rm the old, broken, sound
drivers (again). These drivers have not compiled for 5-6 months.
Now that the new sound code supports MIDI, the major reason we had for
reviving it is gone. It is a far better investment polishing the new
midi code than trying to keep this on life support. Come 5.0-REL, if
there are major shortcomings in the pcm sound driver then maybe we can
rethink this, but until then we should focus on pcm.

Remember, these have not been compilable since ~April-May this year.


# 66502 01-Oct-2000 iwasaki

Remove ACPI_NO_OSDFUNC_INLINE option from kernel configuration. Now
that it's enabled in acpireg.h only if DIAGNOSTIC option is specified.
ACPICA OSD functions will be compiled in machine/acpi_machdep.c again
tentatively (if DIAGNOSTIC option is specified).
# Should we have acpica_osd.c ?


# 66385 26-Sep-2000 iwasaki

Document the pmtimer driver.

Pointed-out by: esu@yk.rim.or.jp (Shinya Esu)


# 66331 25-Sep-2000 iwasaki

Formatting fix on ACPI options. Sort them, comment out negative options.

Suggested by: bde


# 66277 22-Sep-2000 ps

Remove the NCPU, NAPIC, NBUS, NINTR config options. Make NAPIC,
NBUS, NINTR dynamic and set NCPU to a maximum of 16 under SMP.

Reviewed by: peter


# 66166 21-Sep-2000 iwasaki

Fix LINT breakage by options ACPI_NO_OSDFUNC_INLINE.
Also space/tab-fix in NOTE.
Grrr, my bad.

Pointed-out by: eivind


# 66158 21-Sep-2000 jhb

Add in and document two new debugging options used in the mutex code:
SMP_DEBUG and WITNESS.


# 66156 21-Sep-2000 jhb

Add in documentation and examples of the KTR kernel config options.

Prompted by: phk's kernel include script


# 66088 19-Sep-2000 msmith

Mention the AAC_COMPAT_LINUX option


# 66068 19-Sep-2000 eivind

Document ENABLE_VFS_IOOPT


# 65866 14-Sep-2000 iwasaki

Add pmtimer instance.


# 65793 13-Sep-2000 msmith

A new driver for PCI:SCSI RAID controllers based on the Adaptec FSA
design. This includes integrated Dell RAID controllers, the Dell
PERC 2/QC and the HP NetRAID-4M.


# 65776 12-Sep-2000 markm

Turn the /dev/random device into a (pseudo-)device, not an option.

(I didn't realise that it was this easy!)
Submitted by: jhb


# 65758 11-Sep-2000 semenu

Sign tx driver as using miibus code.


# 65639 09-Sep-2000 alex

Add a comment, that a LINT file can be produced from NOTES via
``make LINT''.

Reviewed by: nbm via IRC


# 65403 03-Sep-2000 groudier

Add device list supported by `sym'


# 65344 01-Sep-2000 nsayer

Document the tap driver


# 65312 01-Sep-2000 msmith

Add the 'asr' driver, supplied by Mark Salyzyn of Adaptec (nee DPT).
This provides support for the Adaptec SCSI RAID controller family,
as well as the DPT SmartRAID V and VI families.

The driver will be maintained by Mark and Adaptec, and any changes
should be referred to the MAINTAINER.


# 65292 31-Aug-2000 takawata

Merge rest piece of ACPI driver.To activate acpi driver ,add

device acpi

line. Merge finished. But still experimental phase.Need more hack!

Obtained from:ACPI for FreeBSD project


# 64989 23-Aug-2000 msmith

Add entries for the 'mly' driver. Re-group 'mly' and 'dpt' into a new
classification for RAID controllers that have CAM interfaces.


# 64607 13-Aug-2000 alex

Add PAO devices supported by drivers.


# 64389 08-Aug-2000 kbyanc

Fix the comments to properly document the PQ_MEDIUMCACHE and
PQ_NORMALCACHE options.

PR: 20409
Submitted by: Tony Finch <dot@dotat.at>


# 63890 26-Jul-2000 jhb

Document the SYSV IPC kernel options. Also, remove the SHM_PHYS_BACKED
option as it is no longer used.

PR: docs/20080
Submitted by: Michael Robinson <robinson@netrinsics.com>


# 63848 25-Jul-2000 asmodai

Document IPFILTER_DEFAULT_BLOCK.

PR: 20075
Submitted by: Arjan de Vet <Arjan.deVet@adv.iae.nl>


# 63792 24-Jul-2000 asmodai

Document device tdfx and options TDFX_LINUX.


# 63577 19-Jul-2000 kris

Temporary hack for the benefit of the X-Bone project
(http://www.isi.edu/xbone). I expect this to go away in due course.

Submitted by: Lars Eggert <larse@ISI.EDU>


# 63411 18-Jul-2000 n_hibma

Add the umodem driver.


# 63309 17-Jul-2000 sheldonh

Rename MDNSECT to MD_NSECT and declare it as something that isn't
default in NOTES.

Requested by: bde
Approved by: phk


# 63256 16-Jul-2000 itojun

s/IPSEC_IPV6FWD/IPSEC/. this avoids unexpected behavior on ipv6 fowarding.
(even if you ask for tunnel-mode encryption packets will go out in clear)
sync with kame.


# 63143 14-Jul-2000 sheldonh

Add options<sp><tab>MDNSECT=2000 .


# 62947 11-Jul-2000 tanimura

Finally merge newmidi.
(I had been busy for my own research activity until the last weekend)

Supported devices:

SB Midi Port (sbc + midi)
SB OPL3 (sbc + midi)
16550 UART (midi, needs a trick in your hint)
CS461x Midi Port (csa + midi)

OSS-compatible sequencer (seq)

Supported playing software:

playmidi (We definitely need more)

Notes:

/dev/midistat now reports installed midi drivers. /dev/sndstat reports
only pcm drivers. We need the new name(pcmstat?).

EMU8000(SB AWE) does not sound yet but does get probed so that the OPL3
synth on an AWE card works.

TODO:

MSS/PCI bridge drivers
Midi-tty interface to support general serial devices
Modules


# 62909 10-Jul-2000 mjacob

Beef up a bit descriptions of SCSI devices and what the drive.


# 62849 09-Jul-2000 alex

Add missing "a" in "Soft updates is technique".

PR: 19770
Submitted by: Udo Erdelhoff <ue@nathan.ruhr.de>


# 62844 09-Jul-2000 alex

Since this file is doc now, reorganize its structure.

Currently, many drivers support more than one bus of ISA, EISA, MCA,
PCI.

Before this commit, we had, for example, some SCSI devices listed more
than once, iirc, some up to three times (ISA/EISA, MCA, PCI).

Since now the "device" line is common for all of them and they only
differ for the hints stuff, I did the following:

First, list Busses: (E)ISA, MCA, PCI and explain, that only ISA
needs the hints stuff.

Move NIC/SCSI stuff, which were the only split sections, behind these
stuff. Describe all drivers only one time and list all supported
chips.

List all device (+ hints for ISA, if possible).

I've also added few additional supported chips to some drivers, xl for
example and some SCSI drivers.

Also, softupdates is no longer disabled by default, so the comment should
not say, it's not enabled by default due to license issues.

Approved by: asmodai

To come: include PAO devices (imp volunteered for help)


# 62809 08-Jul-2000 mjacob

Update SCSI device section, per Peter Wemm. I still
think the commented entries in GENERIC are the
right thing to do.


# 62591 04-Jul-2000 sumikawa

Add 'device stf', 6to4(one of IPv6 over IPv4 encapsulations) interface.


# 62568 04-Jul-2000 jhb

Replace the PQ_*CACHE options with a single PQ_CACHESIZE option that you
set equal to the number of kilobytes in your cache. The old options are
still supported for backwards compatibility.

Submitted by: Kelly Yancey <kbyanc@posi.net>


# 62468 03-Jul-2000 phk

Include SOFTUPDATES in NOTES/LINT by default.


# 62257 29-Jun-2000 alex

- MSDOSFS can do both FAT _and_ FAT32. Since the name "MSDOS" might be
confusing, explecitely mention this.
- softupdates' README is no longer in contrib/softupdates. Fix new location.


# 62114 26-Jun-2000 peter

Fix some fat-fingering of the isic lines. (argh!)
Fix some negative options that got turned on.

Submitted by: bde (mostly)


# 62058 25-Jun-2000 markm

Get the build bits right for the new Architecture Independant null- and
entropy drivers.
Reviewed by: dfr(mostly)


# 61837 19-Jun-2000 alfred

return of the accept filter part II

accept filters are now loadable as well as able to be compiled into
the kernel.

two accept filters are provided, one that returns sockets when data
arrives the other when an http request is completed (doesn't work
with 0.9 requests)

Reviewed by: jmg


# 61795 18-Jun-2000 mjacob

Remove all but ISP_TARGET_MODE options for isp and ispfw pseudo device.


# 61656 14-Jun-2000 peter

s/iomem/maddr/
s/iosiz/msize/


# 61649 14-Jun-2000 ps

Add option ALT_BREAK_TO_DEBUGGER.

Implement the Solaris way to break into DDB over a serial console
instead of sending a break. Sending the character sequence
CR ~ ^b will break the kernel into DDB (if DDB is enabled).

Reviewed by: peter


# 61640 13-Jun-2000 peter

Borrow phk's axe and apply the next stage of config(8)'s evolution.

Use Warner Losh's "hint" driver to decode ascii strings to fill the
resource table at boot time.

config(8) no longer generates an ioconf.c table - ie: the configuration
no longer has to be compiled into the kernel. You can reconfigure your
isa devices with the likes of this at loader(8) time:
set hint.ed.0.port=0x320

userconfig will be rewritten to use this style interface one day and will
move to /boot/userconfig.4th or something like that.

It is still possible to statically compile in a set of hints into a kernel
if you do not wish to use loader(8). See the "hints" directive in GENERIC
as an example.

All device wiring has been moved out of config(8). There is a set of
helper scripts (see i386/conf/gethints.pl, and the same for alpha and pc98)
that extract the 'at isa? port foo irq bar' from the old files and produces
a hints file. If you install this file as /boot/device.hints (and update
/boot/defaults/loader.conf - You can do a build/install in sys/boot) then
loader will load it automatically for you. You can also compile in the
hints directly with: hints "device.hints" as well.

There are a few things that I'm not too happy with yet. Under this scheme,
things like LINT would no longer be useful as "documentation" of settings.
I have renamed this file to 'NOTES' and stored the example hints strings
in it. However... this is not something that config(8) understands, so
there is a script that extracts the build-specific data from the
documentation file (NOTES) to produce a LINT that can be config'ed and
built. A stack of man4 pages will need updating. :-/

Also, since there is no longer a difference between 'device' and
'pseudo-device' I collapsed the two together, and the resulting 'device'
takes a 'number of units' for devices that still have it statically
allocated. eg: 'device fe 4' will compile the fe driver with NFE set
to 4. You can then set hints for 4 units (0 - 3). Also note that
'device fe0' will be interpreted as "zero units of 'fe'" which would be
bad, so there is a config warning for this. This is only needed for
old drivers that still have static limits on numbers of units.
All the statically limited drivers that I could find were marked.

Please exercise EXTREME CAUTION when transitioning!

Moral support by: phk, msmith, dfr, asmodai, imp, and others


# 61616 13-Jun-2000 kato

Added new options CPU_PPRO2CELERON and CPU_L2_LATENCY to support
Socket 8 to 370 converters. When (1) CPU_PPRO2CELERON option is
defined, (2) Intel CPU is found and (3) CPU ID is 0x66?, L2 cache is
enabled through MSR 0x11e. The L2 cache latency value can be
specified by CPU_L2_LATENCY option. Default value of L2 cache latency
is 5.

These options are useful if you use Socket 8 to Socket 370 converter
(e.g. Power Leap's PL-Pro/II.) Most PentiumPro BIOSs don't enable L2
cache of Mendocino Celeron CPUs because they don't know Celeron CPUs.
These options are needles if you use a Coppermine (FCPGA) Celeron or
PentiumIII, becuase the L2 cache enable bit is hard wired and L2 cache
is always enabled.


# 61467 09-Jun-2000 jhb

Document flags 0x100 in syscons.4, and document syscons' flags in LINT.

Reviewed by: yokota, obrien


# 61449 09-Jun-2000 alex

Since many people use LINT as "supported hardware" list, add
all supported cards to the description of the ep-driver.

Reviewed by: asmodai


# 61331 06-Jun-2000 joerg

Mention that i4bisppp requires sppp; too many people use LINT as a
configuration guide and then miss this one.


# 61132 31-May-2000 msmith

Bump the default NBUS value to 8.


# 61100 30-May-2000 green

Change sl(4) configuration lines to reflect its new dynamic nature.


# 60798 22-May-2000 dan

sysctl'ize ICMP_BANDLIM and ICMP_BANDLIM_SUPPRESS_OUTPUT.

Suggested by: des/nbm


# 60797 22-May-2000 dan

Add option ICMP_BANDLIM_SUPPRESS_OUTPUT to the mix. With this option,
badport_bandlim() will not muck up your console with printf() messages.


# 60758 21-May-2000 peter

Provide a temporary undocumented option: SHM_PHYS_BACKED. This will
become sysctl and/or flags controlled later. It's mainly here for an
easy place to test the physical memory backed objects.


# 60722 19-May-2000 msmith

Correct the syntax of ROOTDEVNAME and describe it somewhat better.


# 59877 01-May-2000 n_hibma

The USB double bulk pipe driver (Host to host cables). Currently there
are two supported chips, the NetChip 1080 (only prototypes available)
and the EzLink cable. Any other cable should be supported however as they
are all very much alike (there is a difference between them wrt
performance).

It uses Netgraph.

This driver was mostly written by Doug Ambrisko and Julian Elischer and
I would like to thank Whistle for yet another contribution. And my
aplogies to them for me sitting on the driver for so long (2 months).

Also, many thanks to Reid Augustin from NetChip for providing me with a
prototype of their 1080 chip.

Be aware of the fact that this driver is very immature and has only been
tested very lightly. If someone feels like learning about Netgraph however
this is an excellent driver to start playing with.


# 59661 26-Apr-2000 phk

Driver for DEC "Tulip" based WAN cards from LanMedia Corporation.

This driver should support both the SSI (V.35 etc) E1/T1 unchannelized,
DS3 and HSSI cards. Only tested on the SSI card.

More info at: http://www.lanmedia.com

Thanks to LanMedia for donating two LMC1000P cards.

if_de.c driver modified by: LanMedia
NetGraphification by: Stephen Kiernan <sk-ports@vegamuse.org>


# 59294 16-Apr-2000 msmith

Some more i386-only BIOS-friendliness:

- Add support for using the PCI BIOS functions for configuration space
accesses, and make this the default.

- Make PNPBIOS the default (obsoletes the PNPBIOS config option).

- Add two new boot-time tunables to disable each of the above.


# 59274 16-Apr-2000 phk

Add the scsi-target driver to LINT.


# 59241 15-Apr-2000 rwatson

Introduce extended attribute support for FFS, allowing arbitrary
(name, value) pairs to be associated with inodes. This support is
used for ACLs, MAC labels, and Capabilities in the TrustedBSD
security extensions, which are currently under development.

In this implementation, attributes are backed to data vnodes in the
style of the quota support in FFS. Support for FFS extended
attributes may be enabled using the FFS_EXTATTR kernel option
(disabled by default). Userland utilities and man pages will be
committed in the next batch. VFS interfaces and man pages have
been in the repo since 4.0-RELEASE and are unchanged.

o ufs/ufs/extattr.h: UFS-specific extattr defines
o ufs/ufs/ufs_extattr.c: bulk of support routines
o ufs/{ufs,ffs,mfs}/*.[ch]: hooks and extattr.h includes
o contrib/softupdates/ffs_softdep.c: extattr.h includes
o conf/options, conf/files, i386/conf/LINT: added FFS_EXTATTR

o coda/coda_vfsops.c: XXX required extattr.h due to ufsmount.h
(This should not be the case, and will be fixed in a future commit)

Currently attributes are not supported in MFS. This will be fixed.

Reviewed by: adrian, bp, freebsd-fs, other unthanked souls
Obtained from: TrustedBSD Project


# 59122 10-Apr-2000 asmodai

The ASUSCOM_IPAC isn't broken according to submitter.

PR: 17840
Submitted by: Ari Suutari <ari@suutari.iki.fi>


# 59112 09-Apr-2000 archie

Add new options NETGRAPH_MPPC_COMPRESSION and NETGRAPH_MPPC_ENCRYPTION.

(Note: NETGRAPH_MPPC_COMPRESSION is disabled until we find a non-proprietary
implementation of the MPPC compression algorithm.)


# 59085 07-Apr-2000 brian

Don't use ``grep | sed'' in the example for INCLUDE_CONFIG_FILE
when sed can do both.


# 59058 06-Apr-2000 imp

Awi driver, ported from NetBSD from Atsushi Once-san.

From the README:
Any IEEE 802.11 cards use AMD Am79C930 and Harris (Intersil) Chipset
with PCnetMobile firmware by AMD.
BayStack 650 1Mbps Frequency Hopping PCCARD adapter
BayStack 660 2Mbps Direct Sequence PCCARD adapter
Icom SL-200 2Mbps Direct Sequence PCCARD adapter
Melco WLI-PCM 2Mbps Direct Sequence PCCARD adapter
NEL SSMagic 2Mbps Direct Sequence PCCARD adapter
Netwave AirSurfer Plus
1Mbps Frequency Hopping PCCARD adapter
Netwave AirSurfer Pro
2Mbps Direct Sequence PCCARD adapter

Known Problems:
WEP is not supported.
Does not create IBSS itself.
Cannot configure the following on FreeBSD:
selection of infrastructure/adhoc mode
ESSID
...

Submitted by: Atsushi Onoe <onoe@sm.sony.co.jp>


# 58918 02-Apr-2000 green

One in a while, something happens so uncannily that you get knocked off
your feet. The conversion of the "snp" device to a dynamically growing
device driver was done just a few days ago by Brooks Davis! Shame on
me for not finding that PR :(

This is a forced commit of tty_snoop.c to give the submitter proper credit,
as most of the patch submitted is actually exactly the same code (by some
large amount of entropy). Brooks also submitted the change to LINT to
set the example of "snp" usage to not include a number, as that number is
now deprecated, so that is also in this commit.

PR: 17629
Submitted by: Brooks Davis <brooks@one-eyed-alien.net>


# 58858 31-Mar-2000 hm

Oops, PCVT_FREEBSD is useless too. Add new PCVT_GREENSAVER option.


# 58856 31-Mar-2000 hm

remove useless PCVT_EMU_MOUSE option.


# 58489 23-Mar-2000 asmodai

Document options HZ, place it in its own section `CLOCK OPTIONS' and
add the undocumented CLK_* options to that section as well.

Submitted by: Mike Tancsa <mike@sentex.ca> (partially)


# 58341 20-Mar-2000 peter

Argh, fix cut/paste mistake. This contributed to LINT not building.


# 58288 19-Mar-2000 peter

Document and supply COMPAT_OLDPCI and COMPAT_OLDISA so 'make release'
still works.


# 58281 19-Mar-2000 asmodai

Add device isic to the ASUSCOM_IPAC entry.

Remove quotes around some i4b options to be consistent with the rest.


# 58245 18-Mar-2000 asmodai

Put ASUSCOM_IPAC in the section where it belongs, namely i4b.


# 58241 18-Mar-2000 asmodai

Put the undocumented options back at the bottom as per old
practice.

Place the debug options above the undocumented options.


# 58236 18-Mar-2000 asmodai

Document three debug options: npx, bus and vfs locks debugging.


# 58133 16-Mar-2000 n_hibma

Please welcome the URio driver. Written by
Iwasa Kazmi <kzmi\@ca2.so-net.ne.jp>


# 58064 14-Mar-2000 sos

Fix the spelling, and some minor tweaks on the ata device...


# 58056 14-Mar-2000 asmodai

Remove wd entries.

Reviewed by: sos
Approved by: sos, phk, peter


# 57979 13-Mar-2000 ru

Remove option MD5, it has been standardized almost two years ago.


# 57863 09-Mar-2000 jlemon

Add Compaq `ida' driver to GENERIC, update it's LINT entry.

Approved by: jordan


# 57794 07-Mar-2000 nik

Document the discard device appearing as 'ds0', 'ds1', etc.

PR: docs/16994
Submitted by: Giorgos Keramidas <keramida@ceid.upatras.gr>


# 57495 26-Feb-2000 mdodd

MCA is supported to some extent. Modify a comment that claims otherwise.

Approved by: jkh


# 57395 23-Feb-2000 jasone

Add the VFS_AIO config option and leave it off by default. Unless the
VFS_AIO option is specified, all aio-related syscalls return ENOSYS.

The aio code is very fragile right now, and is unsuitable for default
inclusion in a production shell box.

Approved by: jkh


# 57251 16-Feb-2000 yokota

Make it clear that 'options XSERVER' is for pcvt and not for syscons.

Submitted by: Doug Barton <Doug@gorean.org>
Approved by: jkh


# 57218 14-Feb-2000 mjacob

Add comments about 12160 options.
Approved: jkh


# 57178 13-Feb-2000 peter

Clean up some loose ends in the network code, including the X.25 and ISO
#ifdefs. Clean out unused netisr's and leftover netisr linker set gunk.
Tested on x86 and alpha, including world.

Approved by: jkh


# 56867 29-Jan-2000 peter

Remove 'conflicts' token - it has been effectively doing absolutely
nothing for quite some time. The only thing that cared was userconfig,
but it was for one invisible device so we never saw it's effects.


# 56864 29-Jan-2000 peter

Add some more comments about sound card bridge devices and their
relationship with pcm and other things like newmidi.


# 56862 29-Jan-2000 peter

Allow the pnp and pci cards to be attached with just a 'device pcm' in
the user's config file. Based on an idea/suggestion from Cameron (cg).

Change LINT to build newpcm instead of the old Voxware derived stuff.
That's much more useful in the longer term.


# 56849 29-Jan-2000 peter

Remove (commented out and marked as broken) pseudo-device tb. This was
added in rev 1.205 (october 1995).


# 56815 29-Jan-2000 shin

Add ip6fw.
Yes it is almost code freeze, but as the result of many thought, now I
think this should be added before 4.0...

make world check, kernel build check is done.

Reviewed by: green
Obtained from: KAME project


# 56688 27-Jan-2000 asmodai

Completely remove ATA_16BIT_ONLY, since this is done automatically
by the ata driver nowadays.

OK'd by: sos,peter


# 56683 27-Jan-2000 asmodai

Removed ATA_STATIC_ID and ATA_16BIT_ONLY from the undocumented
options section, since they are documented higher up in the
file.

Probably forgotten by: sos


# 56604 25-Jan-2000 peter

Fix left over references to things like 'ata0' in comments.

Submitted by: Jim Bloom <bloom@acm.org>


# 56540 24-Jan-2000 peter

Copy i386/isa/atapi-cd.[ch] to a new name so that it doesn't have the
same object file (atapi-cd.o) as the ata drivers. I'd have called it
wcd.[ch], but there's already one of those in the Attic that we can't
clobber - the good names are taken.
Fix building so that it can be compiled into LINT alongside ata.

Requested by: bde


# 56514 24-Jan-2000 peter

Remove a bunch of no-op "port ?" and "irq ?" declarations.


# 56456 23-Jan-2000 peter

Drop 'at ppbus?' and the trailing '0' from the ppbus children.


# 56454 23-Jan-2000 peter

I missed some trailing digits in a comment.

Submitted by: asmodai


# 56441 23-Jan-2000 peter

Update GENERIC/LINT to leave out the useless digit at the end of pci
or other unwired devices.


# 56424 23-Jan-2000 bp

Allow if_ef driver to be compiled into kernel.


# 56292 19-Jan-2000 jkh

Import simple driver for a parallel port radio clock which receives
the German legal time (commonly available in Europe).

Submitted by: Sascha Schumann <sascha@schumann.cx>


# 56100 16-Jan-2000 asmodai

Convert last examples of `controller' to `device'.


# 56032 15-Jan-2000 mjacob

Add reference to SES device (it won't be in GENERIC unless folks clamor
for it). Document it's only option.


# 55992 14-Jan-2000 wpaul

Add driver support for the Aironet 4500/4800 series wireless 802.11
NICs. (Finally!) The PCMCIA, ISA and PCI varieties are all supported,
though only the ISA and PCI ones will work on the alpha for now.
PCCARD, ISA and PCI attachments are all provided. Also provided an
ancontrol(8) utility for configuring the NIC, man pages, and updated
pccard.conf.sample. ISA cards are supported in both ISA PnP and hard-wired
mode, although you must configure the kernel explicitly to support the
hardwired mode since you have to know the I/O address and port ahead
of time.

Special thanks to Doug Ambrisko for doing the initial newbus hackery
and getting it to work in infrastructure mode.


# 55958 14-Jan-2000 peter

Add back the 'at ppbus?' for the lpt etc drivers. Now it's used.


# 55944 14-Jan-2000 wpaul

Add device driver support for USB ethernet adapters based on the CATC
USB-EL1202A chipset. Between this and the other two drivers, we should
have support for pretty much every USB ethernet adapter on the market.
The only other USB chip that I know of is the SMC USB97C196, and right
now I don't know of any adapters that use it (including the ones made
by SMC :/ ).

Note that the CATC chip supports a nifty feature: read and write combining.
This allows multiple ethernet packets to be transfered in a single USB
bulk in/out transaction. However I'm again having trouble with large
bulk in transfers like I did with the ADMtek chip, which leads me to
believe that our USB stack needs some work before we can really make
use of this feature. When/if things improve, I intend to revisit the
aue and cue drivers. For now, I've lost enough sanity points.


# 55939 13-Jan-2000 nsouch

Port of ppbus standalone framework to the newbus system.

Note1: the correct interrupt level is invoked correctly for each driver.
For this purpose, drivers request the bus before being able to
call BUS_SETUP_INTR and BUS_TEARDOWN_INTR call is forced by the ppbus
core when drivers release it. Thus, when BUS_SETUP_INTR is called
at ppbus driver level, ppbus checks that the caller owns the
bus and stores the interrupt handler cookie (in order to unregister
it later).

Printing is impossible while plip link is up is still TRUE.
vpo (ZIP driver) and lpt are make in such a way that
using the ZIP and printing concurrently is permitted is also TRUE.

Note2: specific chipset detection is not done by default. PPC_PROBE_CHIPSET
is now needed to force chipset detection. If set, the flags 0x40
still avoid detection at boot.

Port of the pcf(4) driver to the newbus system (was previously directly
connected to the rootbus and attached by a bogus pcf_isa_probe function).


# 55884 13-Jan-2000 mdodd

Remove the 'at isa? ...' bits for ex0.

Remove the confusing text about pccard and unit numbers for ep0.


# 55757 10-Jan-2000 phk

Remove controller miibus, there already were a device miibus.


# 55693 09-Jan-2000 obrien

* Add `sym' SCSI driver options.
* bring in NIC comments from GENERIC
* slightly reorder a few things in an feable attempt at making the
organization of LINT more logical.


# 55667 09-Jan-2000 bde

Removed defunct options EXTRA_SIO and KEY_DEBUG.


# 55619 08-Jan-2000 peter

config(8) doesn't know anything about scsi devices like it used to, remove
the misleading comments to that effect.
Prune bogus 'at foo?' (smbus, iicbus, ppbus) appendages on things that
they are meaningless for. It was just eye candy and wasn't used by
anything in the tree. The interconnects were defined by the drivers
themselves and auto discovery.
(The new ppbus code may change this if it uses the resource_get_*() calls
to find it's configured children if self discovery isn't possible)


# 55607 08-Jan-2000 peter

s/controller/device/ as per config(8)


# 55579 07-Jan-2000 wpaul

Add the vendor and device IDs for a whole bunch of additional USB
ethernet adapters that are supported by the aue and kue drivers.
There are actually a couple more out there from Accton, Asante and
EXP Computer, however I was not able to find any Windows device
drivers for these on their servers, and hence could not harvest
their vendor/device ID info. If somebody has one of these things
and can look in the .inf file that comes with the Windows driver,
I'd appreciate knowing what it says for 'VID' and 'PID.'

Additional adapters include: the D-Link DSB-650 and DSB-650TX, the
SMC 2102USB, 2104USB and 2202USB, the ATen UC10T, and the Netgear EA101.
These are all mentioned in the man pages, relnotes and LINT.

Also correct the date in the kue(4) man page. I wrote this thing
on Jan, 4 2000, not 1999.


# 55570 07-Jan-2000 newton

Changes as suggested by bde

Submitted by: bde


# 55516 06-Jan-2000 imp

FDC_YE has been removed as a valid option.

Noticed by: bde


# 55485 05-Jan-2000 newton

Add documentation for SVR4 options in LINT.


# 55429 05-Jan-2000 wpaul

Add device driver support for USB ethernet adapters based on the
Kawasaki LSI KL5KUSB101B chip, including the LinkSys USB10T, the
Entrega NET-USB-E45, the Peracom USB Ethernet Adapter, the 3Com
3c19250 and the ADS Technologies USB-10BT. This device is 10mbs
half-duplex only, so there's miibus or ifmedia support. This device
also requires firmware to be loaded into it, however KLSI allows
redistribution of the firmware images (I specifically asked about
this; they said it was ok).

Special thanks to Annelise Anderson for getting me in touch with
KLSI (eventually) and thanks to KLSI for providing the necessary
programming info.

Highlights:
- Add driver files to /sys/dev/usb
- update usbdevs and regenerate attendate files
- update usb_quirks.c
- Update HARDWARE.TXT and RELNOTES.TXT for i386 and alpha
- Update LINT, GENERIC and others for i386, alpha and pc98
- Add man page
- Add module
- Update sysinstall and userconfig.c


# 55421 04-Jan-2000 dillon

Update some of the network driver documentation in the LINT file, which
is where most people look to match drivers up with cards.

Reviewed by: wpaul


# 55411 04-Jan-2000 mjacob

add wx0 driver


# 55376 03-Jan-2000 mjacob

Add in ISP_TARGET_MODE description.


# 55356 03-Jan-2000 newton

Add options for COMPAT_SVR4 and DEBUG_SVR4 for completeness.


# 55162 28-Dec-1999 wpaul

This commit adds device driver support for the ADMtek AN986 Pegasus
USB ethernet chip. Adapters that use this chip include the LinkSys
USB100TX. There are a few others, but I'm not certain of their
availability in the U.S. I used an ADMtek eval board for development.
Note that while the ADMtek chip is a 100Mbps device, you can't really
get 100Mbps speeds over USB. Regardless, this driver uses miibus to
allow speed and duplex mode selection as well as autonegotiation.
Building and kldloading the driver as a module is also supported.

Note that in order to make this driver work, I had to make what some
may consider an ugly hack to sys/dev/usb/usbdi.c. The usbd_transfer()
function will use tsleep() for synchronous transfers that don't complete
right away. This is a problem since there are times when we need to
do sync transfers from an interrupt context (i.e. when reading registers
from the MAC via the control endpoint), where tsleep() us a no-no.
My hack allows the driver to have the code poll for transfer completion
subject to the xfer->timeout timeout rather that calling tsleep().
This hack is controlled by a quirk entry and is only enabled for the
ADMtek device.

Now, I'm sure there are a few of you out there ready to jump on me
and suggest some other approach that doesn't involve a busy wait. The
only solution that might work is to handle the interrupts in a kernel
thread, where you may have something resembling a process context that
makes it okay to tsleep(). This is lovely, except we don't have any
mechanism like that now, and I'm not about to implement such a thing
myself since it's beyond the scope of driver development. (Translation:
I'll be damned if I know how to do it.) If FreeBSD ever aquires such
a mechanism, I'll be glad to revisit the driver to take advantage of
it. In the meantime, I settled for what I perceived to be the solution
that involved the least amount of code changes. In general, the hit
is pretty light.

Also note that my only USB test box has a UHCI controller: I haven't
I don't have a machine with an OHCI controller available.

Highlights:

- Updated usb_quirks.* to add UQ_NO_TSLEEP quirk for ADMtek part.
- Updated usbdevs and regenerated generated files
- Updated HARDWARE.TXT and RELNOTES.TXT files
- Updated sysinstall/device.c and userconfig.c
- Updated kernel configs -- device aue0 is commented out by default
- Updated /sys/conf/files
- Added new kld module directory


# 55009 22-Dec-1999 shin

IPSEC support in the kernel.
pr_input() routines prototype is also changed to support IPSEC and IPV6
chained protocol headers.

Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project


# 54963 21-Dec-1999 tanimura

Correct the spelling and description of sbc.


# 54804 19-Dec-1999 green

Allow LINT to build again.

The wd(4) family had to be disabled; wd(4) and ata(4) are mutually
exclusive, even at link level.


# 54775 18-Dec-1999 imp

Remove vestiages of now obsolete zp and ze drivers.

Forgotten by: phk


# 54773 18-Dec-1999 imp

Driver for the smc91xx series of ethernet chips. Ported from PAO to
3.3R and then to -current. The pccard support has been left in the
driver, but is presently non-functional because we are using the
isa_compat layer for the moment.

Obtained From: PAO
Sponsored by: Timing Solutions


# 54719 17-Dec-1999 tanimura

newpcm no longer requires 'controller pnp'. (And some other drivers?)

Noticed by: julian


# 54639 15-Dec-1999 hm

update to isdn4bsd beta release 0.90: make LINT compile again, at least
one "device isic0 ..." line has to be uncommented.


# 54629 15-Dec-1999 yokota

- Add the device resume method. It supercedes the existing resume
routine which hooks the apm driver.
- Rename the PSM_HOOKAPM option to PSM_HOOKRESUME.
- Delete unnecessary #include.


# 54623 15-Dec-1999 tanimura

Add the description and example of sbc for non-PnP cards.

Noticed by: Kentaro Inagaki <inagaki@tg.rim.or.jp>


# 54609 14-Dec-1999 hm

update to isdn4bsd beta release 0.90
drivers which are likely to be ported to newbus are commented out for now


# 54391 10-Dec-1999 phk

Remove the if_ze and if_zp drivers.

These drivers were cloned from the ed and ep drivers back in 1994
when PCMCIA cards were a very new thing and we had no other support
for such devices. They treated the PCIC (the chip which controls the
PCCARD slot) as part of their device and generally hacked their way
to success. They have significantly bit-rotted relative to their
ancestor drivers (ed & ep) and they were a dead-end on the evolution
path to proper PCCARD support in FreeBSD.

They have been terminally broken since August 18 where mdodd forgot
them and nobody seems to have missed them enough to fix them since.

I found no outstanding PRs against these drivers.


# 54331 08-Dec-1999 archie

New netgraph node type 'pptpgre': this performs GRE encapsulation
for the PPTP protocol as specified in RFC 2637.


# 54263 07-Dec-1999 shin

udp IPv6 support, IPv6/IPv4 tunneling support in kernel,
packet divert at kernel for IPv6/IPv4 translater daemon

This includes queue related patch submitted by jburkhol@home.com.

Submitted by: queue related patch from jburkhol@home.com
Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project


# 54208 06-Dec-1999 peter

Fold the pnp code into the base isa system to pave the way for PNPBIOS.

Reviewed by: dfr (a few weeks ago)


# 54134 04-Dec-1999 wpaul

Add the if_dc driver and remove all of the al, ax, dm, pn and mx drivers
which it replaces. The new driver supports all of the chips supported
by the ones it replaces, as well as many DEC/Intel 21143 10/100 cards.

This also completes my quest to convert things to miibus and add
Alpha support.


# 54097 03-Dec-1999 archie

New netgraph node type, ng_bpf(8). This node type allows you to
apply bpf(4) filters to data travelling through a netgraph network.


# 54027 02-Dec-1999 mdodd

Remove the "MCA not supported" from RELNOTES.TXT and add
mention of the various devices that are supported.

Add some text and entry to LINT for 'controller mca0'.

I'd like to turn this option on in GENERIC as well as it
isn't impacting and has a small footprint.


# 54017 02-Dec-1999 jlemon

Remove code to select APM version with flags to the apm0 device. This
code has been disabled for the last 4 months.

Prodded into action by: n_hibma


# 54016 02-Dec-1999 billf

Grammar nit.


# 53992 01-Dec-1999 sheldonh

Cosmetic changes to comments:

* Bring source file references in line with the style used in
GENERIC (i.e. src/sys/...).
* Update outdated source file references.
* Use proper URL syntax for URLs.
* Update outdated URLs.

PR: 15194
Submitted by: jedgar@fxp.org (Chris D. Faulhaber)


# 53804 27-Nov-1999 obrien

/sys adjustments to add the `sym' controler driver.

This is commented out in GENERIC as you cannot mix `sym' with `ncr' right now.
Note that LINT is no more broken by this commit.


# 53788 27-Nov-1999 obrien

options should be formatted as "#options ^IFOO".

Spammed by: sos, mjacob, and phk


# 53722 26-Nov-1999 phk

Retire MFS_ROOT and MFS_ROOT_SIZE options from the MFS implementation.

Add MD_ROOT and MD_ROOT_SIZE options to the md driver.

Make the md driver handle MFS_ROOT and MFS_ROOT_SIZE options for compatibility.

Add md driver to GENERIC, PCCARD and LINT.

This is a cleanup which removes the need for some of the worse hacks in
MFS: We really want to have a rootvnode but MFS on a preloaded image
doesn't really have one. md is a true device, so it is less trouble.

This has been tested with make release, and if people remember to add
the "md" pseudo-device to their kernels, PicoBSD should be just fine
as well. If people have no other use for MFS, it can be removed from
the kernel.


# 53702 25-Nov-1999 wpaul

Update the WaveLAN/IEEE driver:

- Convert to new bus attachment scheme. Thanks to Blaz Zupan for doing
the initial work here. One thing I changed was to have the attach
and detach routines work like the PCI drivers, which means that in
theory you should be able to load and unload the driver like the PCI
NIC drivers, however the pccard support for this hasn't settled down
yet so it doesn't quite work. Once the pccard work is done, I'll have
to revisit this.

- Add device wi0 to PCCARD. If we're lucky, people should be able to
install via their WaveLAN cards now.

- Add support for signal strength caching. The wicontrol utility has
also been updated to allow zeroing and displaying the signal strength
cache.

- Add a /sys/modules/wi directory and fix a Makefile to builf if_wi.ko.
Currently this module is only built for the i386 platform, though once
the pccard stuff is done it should be able to work on the alpha too.
(Theoretically you should be able to plug one of the WaveLAN/IEEE ISA
cards into an alpha with an ISA slot, but we'll see how that turns out.

- Update LINT to use only device wi0. There is no true ISA version of
the WaveLAN/IEEE so we'll never use an ISA attachment.

- Update files.i386 so that if_wi is dependent on card.


# 53683 24-Nov-1999 tanimura

Add the description for the configuration of GUS non-PnP bridge driver.

Submitted by: Pascal Hofstee <daeron@shadowmere.student.utwente.nl>


# 53642 23-Nov-1999 guido

Add kernel parts of revived ipfilter (3.3.3.)


# 53580 22-Nov-1999 shin

move INET6 option from GENERIC to LINT.

Thanks for Brian Fundakowski Feldman and Dag-Erling Smorgrav,
to give me the comment and the patch.

Submitted by:Dag-Erling Smorgrav


# 53555 22-Nov-1999 tanimura

Add the descriptions of the bridge drivers for Sound Blaster, GUS
and Crystal Semiconductor CS461x/428x.


# 53491 21-Nov-1999 mjacob

document new ISP config options


# 53250 16-Nov-1999 archie

Add option NETGRAPH_KSOCKET.


# 53044 08-Nov-1999 yokota

Cosmetic change: correct formatting error in my previous commit.
"Options" should be:

options<ascii space><tab>OPTION_NAME

Pointed out by: obrien


# 53018 08-Nov-1999 yokota

- Document SC_TWOBUTTON_MOUSE, SC_NORM_ATTR, SC_NORM_REV_ATTR,
SC_KERNEL_CONS_ATTR and SC_KERNEL_CONS_REV_ATTR.

Nudged by eivind


# 53008 08-Nov-1999 yokota

- Removed SC_VIDEO_DEBUG. It is broken and useless now.


# 52964 07-Nov-1999 sos

Add the ata driver to the compiled in targets.
Document the options available for the ata driver.

Disconnect the atapi devices from the old wd driver to avoid conflicts
(they will go away at some point anyways)


# 52944 06-Nov-1999 eivind

Options cleanup.
* GC unused options
* Move options that exist on all architectures to conf/options
* Add missing options to LINT
* Sort undocumented options list in LINT

Reviewed by: green


# 52910 05-Nov-1999 obrien

Style lint LINT.
mostly this was fixing options to be "options<sp>^IOPTION", along with
many <sp> replaced by ^I to be consistant.


# 52909 05-Nov-1999 obrien

Change some wdX entries from "disk" to "device". These got missed in the
rev 1.665 commit.


# 52811 02-Nov-1999 archie

Add new options NETGRAPH_PPP and NETGRAPH_PPPOE, plus NETGRAPH_SOCKET which
was missing from before.


# 52801 02-Nov-1999 phk

Add mn0 in the netgraph section.


# 52773 01-Nov-1999 eivind

Elminiate the (unused) TUNE_1542 option.


# 52730 01-Nov-1999 peter

Update examples using 'disk' and 'tape' - they used to have magic meaning
to config(8) for static device tables that have not existed for quite
some time. They have been aliases for 'device' for a while, and "tape"
went away entirely as it wasn't used anywhere (except in an example
in LINT.. "fixed").


# 52550 27-Oct-1999 mdodd

Modify the entries regarding the 'ep' driver to take into account
my recent changes to that driver.


# 52470 25-Oct-1999 imp

Massive rewrite of pccard to convert it to newbus.
o Gut the compatibility interface, you now must attach with newbus.
o Unit numbers from pccardd are now ignored. This may change the units
assigned to a card. It now uses the first available unit.
o kill old skeleton code that is now obsolete.
o Use newbus attachment code.
o cleanup interfile dependencies some.
o kill list of devices per slot. we use the device tree for what we need.
o Remove now obsolete code.
o The ep driver (and maybe ed) may need some config file tweaks to
allow it to attach. See config files that were committed for examples
on how to do this.

Drivers to be commited shortly.

This is an interrum fix until the new pccard. ed, ep and sio will be
supported by me with this release, although others are welcome to try
to support other devices before new pccard is working.

I plan on doing minimal further work on this code base. Be careful
when upgrading, since this code is known to work on my laptop and
those of a couple others as well, but your milage may vary.

BUGS TO BE FIXED:

o system memory isn't allocated yet, it will be soon.
o No devices actually have a pccard newbus attach in the tree.

BUGS THAT MIGHT BE FIXED:

o card removal, including suspend, usually hangs the system.

Many thanks to Peter Wemm and Doug Rabson for helping me to fill in
the missing bits of New Bus understanding at FreeBSD Con '99.


# 52441 23-Oct-1999 julian

Now that Netgraph is in the system there are some cleanups we can do.
Also save a slightly closer to completion version of the PPPOE code.

Submitted by: Archie Cobbs <archie@freebsd.org>


# 52420 21-Oct-1999 luoqi

Resurrect the aic driver.


# 52419 21-Oct-1999 julian

Whistle's Netgraph link-layer (sometimes more) networking infrastructure.
Been in production for 3 years now. Gives Instant Frame relay to if_sr
and if_ar drivers, and PPPOE support soon. See:
ftp://ftp.whistle.com/pub/archie/netgraph/index.html
for on-line manual pages.

Reviewed by: Doug Rabson (dfr@freebsd.org)
Obtained from: Whistle CVS tree


# 52260 15-Oct-1999 imp

Reorganize the attachement point for pcic (it was unattached and
floating before). Attach pccard devices to pcic, one per slot
(although this may change to one per pcic). pcic is now attached to
isa (to act as a bridge) and pccard is attached to pcic, cbb and
pc98ic (the last two are card bus bridge and the pc98ic version of
pcic, neither of which are in the tree yet). Move pccard compat code
into pccard/pccard_compat.c.

THIS REQUIRES A CONFIG FILE CHANGE. You must change your pcic/card
entries to be:
# PCCARD (PCMCIA) support
controller pcic0 at isa?
controller pcic1 at isa?
controller card0

The old system was upside down and this corrects that problem. It
will make it easier to add support for YENTA pccard/card bus bridges.

Much more cleanup needs to happen before newbus devices can have
pccard attachments. My previous commit's comments were premature.


# 52093 10-Oct-1999 peter

Don't try and build IPFILTER in LINT.


# 51975 07-Oct-1999 msmith

Connect the 'amr' and 'mlx' drivers. They can be built as modules or
integrated into a static kernel as the user wishes.


# 51898 03-Oct-1999 bde

Fixed "misspelling" of bcmp as memcmp. memcmp doesn't exist in the
kernel, but gcc provides a pessimal builtin for it.

Makefile.i386:
Added a variable (CONF_CFLAGS) for configuration-specific compiler flags.

LINT:
Use CONF_CFLAGS to inhibit use of gcc builtins.


# 51877 02-Oct-1999 mjacob

Document SA_1FM_AT_EOD option.


# 51853 02-Oct-1999 bp

ncplib continued: add appropriate options to LINT.


# 51717 27-Sep-1999 billf

Spell 'timecounter' correctly.


# 51645 25-Sep-1999 phk

Oops! I enabled SOFTUPDATES by accident.

Pointed out by: eivind


# 51589 23-Sep-1999 jkh

MFS: firewall -> firewall_type


# 51557 22-Sep-1999 wpaul

Mention in the documentation that the AOpen/Acer ALN-320 is a supported
ethernet card (PCI, VIA Rhine II chipset).


# 51532 22-Sep-1999 dillon

Back out a portion of the last commit. DFLTPHYS and MAXPHYS cannot
be set by a kernel conf option due to the struct buf structural
dependancy (sizing of b_pages[]) creating a conflict with modules
(which are not compiled with kernel config options overrides).

We'll be able to sysctl these two later on when the buffer subsystem
is revamped.


# 51530 22-Sep-1999 wpaul

Spruce up the ADMtek driver: conver to newbus, miibus and add support
for the AN985 "Centaur" chip, which is apparently the next genetation
of the "Comet." The AN985 is also a tulip clone and is similar to the
AL981 except that it uses a 99C66 EEPROM and a serial MII interface
(instead of direct access to the PHY registers).

Also updated various documentation to mention the AN985 and created
a loadable module.

I don't think there are any cards that use this chip on the market yet:
the datasheet I got from ADMtek has boxes with big X's in them where the
diagrams should be, and the sample boards I got have chips without any
artwork on them.


# 51528 22-Sep-1999 dillon

Change default block size for user VBLK device access from 2K to PAGE_SIZE
(4K on an i386, 8K on an alpha).

Make BLKDEV_IOSIZE, DFLTPHYS, and MAXPHYS kernel-configurable.


# 51502 21-Sep-1999 phk

Add md driver to LINT


# 51224 13-Sep-1999 des

Fix disordering introduced in my previous commit.

Pointed out by: bde


# 51221 13-Sep-1999 des

"\t\t" -> " \t" as per rev. 1.611 (mangled in the previous commit)

Pointed out by: bde


# 51209 12-Sep-1999 des

Add the net.inet.tcp.restrict_rst and net.inet.tcp.drop_synfin sysctl
variables, conditional on the TCP_RESTRICT_RST and TCP_DROP_SYNFIN kernel
options, respectively. See the comments in LINT for details.


# 51165 11-Sep-1999 gibbs

Add the AMD driver.


# 51103 08-Sep-1999 peter

Zap EXPORTMFS, it's no longer an option. (mfs_vfsops.c rev 1.58)


# 51040 06-Sep-1999 dfr

Update for newpcm.


# 50986 06-Sep-1999 wpaul

This commit adds driver support for PCI fast ethernet NICs based on
the Davicom DM9100 and DM9102 chipsets, including the Jaton Corporation
XPressNet. Datasheet is available from www.davicom8.com.

The DM910x chips are still more tulip clones. The API is reproduced
pretty faithfully, unfortunately the performance is pretty bad. The
transmitter seems to have a lot of problems DMAing multi-fragment
packets. The only way to make it work reliably is to coalesce transmitted
packets into a single contiguous buffer. The Linux driver (written by
Davicom) actually does something similar to this. I can't recomment this
NIC as anything more than a "connectivity solution."

This driver uses newbus and miibus and is supported on both i386
and alpha platforms.


# 50974 05-Sep-1999 wpaul

This commit adds driver support for the Silicon Integrated Systems
SiS 900 and SiS 7016 PCI fast ethernet chipsets. Full manuals for the
SiS chips can be found at www.sis.com.tw.

This is a fairly simple chipset. The receiver uses a 128-bit multicast
hash table and single perfect entry for the station address. Transmit and
receive DMA and FIFO thresholds are easily tuneable. Documentation is
pretty decent and performance is not bad, even on my crufty 486. This
driver uses newbus and miibus and is supported on both the i386 and
alpha architectures.


# 50893 04-Sep-1999 bde

Removed defunct option NULLFS_DIAGNOSTIC.


# 50830 03-Sep-1999 julian

Revert a bunch of contraversial changes by PHK. After
a quick think and discussion among various people some form of some of
these changes will probably be recommitted.

The reversion requested was requested by dg while discussions proceed.
PHK has indicated that he can live with this, and it has been agreed
that some form of some of these changes may return shortly after further
discussion.


# 50714 31-Aug-1999 phk

Make buffered acces to bdevs from userland controllable with
a sysctl vfs.bdev_access.


# 50623 30-Aug-1999 phk

Make bdev userland access work like cdev userland access unless
the highly non-recommended option ALLOW_BDEV_ACCESS is used.

(bdev access is evil because you don't get write errors reported.)

Kill si_bsize_best before it kills Matt :-)

Use the specfs routines rather having cloned copies in devfs.


# 50616 30-Aug-1999 bde

Converted the silly SAFTEY option into a new-style option by renaming it to
DIAGNOSTIC.

Fixed an English style bug in the panic messages controlled by SAFETY.


# 50555 29-Aug-1999 bde

Removed dysfunctional/defunct options KERNFS_DIAGNOSTIC,
UMAPFS_DIAGNOSTIC and UNION_DIAGNOSTIC. Uncommented NULLFS_DIAGNOSTIC.
It is as bogus as the above three but since it is already a new-style
option it is easier to use it than to fix it.


# 50477 27-Aug-1999 peter

$Id$ -> $FreeBSD$


# 50128 21-Aug-1999 wpaul

This commit adds device driver support for the Sundance Technologies ST201
PCI fast ethernet controller. Currently, the only card I know that uses
this chip is the D-Link DFE-550TX. (Don't ask me where to buy these: the
only cards I have are samples sent to me by D-Link.)

This driver is the first to make use of the miibus code once I'm sure
it all works together nicely, I'll start converting the other drivers.

The Sundance chip is a clone of the 3Com 3c90x Etherlink XL design
only with its own register layout. Support is provided for ifmedia,
hardware multicast filtering, bridging and promiscuous mode.


# 50120 21-Aug-1999 wpaul

This commit adds support for the NetBSD MII abstraction layer and
MII-compliant PHY drivers. Many 10/100 ethernet NICs available today
either use an MII transceiver or have built-in transceivers that can
be programmed using an MII interface. It makes sense then to separate
this support out into common code instead of duplicating it in all
of the NIC drivers. The mii code also handles all of the media
detection, selection and reporting via the ifmedia interface.

This is basically the same code from NetBSD's /sys/dev/mii, except
it's been adapted to FreeBSD's bus architecture. The advantage to this
is that it automatically allows everything to be turned into a
loadable module. There are some common functions for use in drivers
once an miibus has been attached (mii_mediachg(), mii_pollstat(),
mii_tick()) as well as individual PHY drivers. There is also a
generic driver for all PHYs that aren't handled by a specific driver.
It's possible to do this because all 10/100 PHYs implement the same
general register set in addition to their vendor-specific register
sets, so for the most part you can use one driver for pretty much
any PHY. There are a couple of oddball exceptions though, hence
the need to have specific drivers.

There are two layers: the generic "miibus" layer and the PHY driver
layer. The drivers are child devices of "miibus" and the "miibus" is
a child of a given NIC driver. The "miibus" code and the PHY drivers
can actually be compiled and kldoaded as completely separate modules
or compiled together into one module. For the moment I'm using the
latter approach since the code is relatively small.

Currently there are only three PHY drivers here: the generic driver,
the built-in 3Com XL driver and the NS DP83840 driver. I'll be adding
others later as I convert various NIC drivers to use this code.

I realize that I'm cvs adding this stuff instead of importing it
onto a separate vendor branch, but in my opinion the import approach
doesn't really offer any significant advantage: I'm going to be
maintaining this stuff and writing my own PHY drivers one way or
the other.


# 50073 20-Aug-1999 ken

Fix short timeout problems with the pt(4) driver:

- increase the default timeout from 10 seconds to 60 seconds
- add a new kernel option, SCSI_PT_DEFAULT_TIMEOUT, that lets users specify
the default timeout for the pt driver to use
- add two new ioctls, one to get the timeout for a given pt device, the
other to set the timeout for a given pt device. The idea is that
userland applications using the device can set the timeout to suit their
purposes. The ioctls are defined in a new header file, sys/ptio.h

PR: 10266
Reviewed by: gibbs, joerg


# 49829 15-Aug-1999 phk

Give if_tun the "almost clone" makeover.


# 49827 15-Aug-1999 phk

Give BPF the "almost-clone" update. If you need more of them, make
more entries in /dev and be happy you don't need to recompile your
kernel.


# 49536 08-Aug-1999 phk

Make the pty driver as close to a cloning device as we can get for now,
we create the pty on the fly when it is first opened.

If you run out of ptys now, just MAKEDEV some more.

This also demonstrate the use of dev_t->si_tty_tty and dev_t->si_drv1
in a device driver.


# 49529 08-Aug-1999 chris

Fix a reference to `st' by replacing it with `sa'.


# 49467 06-Aug-1999 phk

Add driver support for M-systems DiskOnChip Products.

Sponsored by: M-systems Inc. http://www.m-sys.com


# 49460 06-Aug-1999 hm

updating isdn4bsd to beta version 0.83


# 49410 04-Aug-1999 green

Correction: "ans" -> "and."


# 49098 26-Jul-1999 cracauer

Various formatting fixes on my FPE trapcode commit.

Submitted by: BDE


# 49081 25-Jul-1999 cracauer

On FPU exceptions, pass a useful error code (one of the FPE_...
macros) to the signal handler, for old-style BSD signal handlers as
the second (int) argument, for SA_SIGINFO signal handlers as
siginfo_t->si_code. This is source-compatible with Solaris, except
that we have no <siginfo.h> (which isn't even mentioned in POSIX
1003.1b).

An rather complete example program is at
http://www3.cons.org/cracauer/freebsd-signal.c
This will be added to the regression tests in src/.

This commit also adds code to disable the (hardware) FPU from
userconfig, so that you can use a software FP emulator on a machine
that has hardware floating point. See LINT.


# 49076 25-Jul-1999 wpaul

This commit adds device driver support for Adaptec Duralink PCI fast
ethernet controllers based on the AIC-6915 "Starfire" controller chip.
There are single port, dual port and quad port cards, plus one 100baseFX
card. All are 64-bit PCI devices, except one single port model.

The Starfire would be a very nice chip were it not for the fact that
receive buffers have to be longword aligned. This requires buffer
copying in order to achieve proper payload alignment on the alpha.
Payload alignment is enforced on both the alpha and x86 platforms.
The Starfire has several different DMA descriptor formats and transfer
mechanisms. This driver uses frame descriptors for transmission which
can address up to 14 packet fragments, and a single fragment descriptor
for receive. It also uses the producer/consumer model and completion
queues for both transmit and receive. The transmit ring has 128
descriptors and the receive ring has 256.

This driver supports both FreeBSD/i386 and FreeBSD/alpha, and uses newbus
so that it can be compiled as a loadable kernel module. Support for BPF
and hardware multicast filtering is included.


# 48693 09-Jul-1999 wpaul

This commit adds driver support for the SysKonnect SK-984x series
gigabit ethernet adapters. This includes two single port cards
(single mode and multimode fiber) and two dual port cards (also single
mode and multimode fiber). SysKonnect is currently the only
vendor with a dual port gigabit ethernet NIC.

The ports on dual port adapters are treated as separate network
interfaces. Thus, if you have an SK-9844 dual port SX card, you
should have both sk0 and sk1 interfaces attached. Dual port cards
are implemented using two XMAC II chips connected to a single
SysKonnect GEnesis controller. Hence, dual port cards are really
one PCI device, as opposed to two separate PCI devices connected
through a PCI to PCI bridge. Note that SysKonnect's drivers use
the two ports for failover purposes rather that as two separate
interfaces, plus they don't support jumbo frames. This applies to
their Linux driver too. :)

Support is provided for hardware multicast filtering, BPF and
jumbo frames. The SysKonnect cards support TCP checksum offload
however this feature is not currently enabled (hopefully it will
be once we get checksum offload support).

There are still a few things that need to be implemeted, like
the ability to communicate with the on-board LM80 voltage/temperature
monitor, but I wanted to get the driver under CVS control and into
-current so people could bang on it.

A big thanks for SysKonnect for making all their programming info
for these cards (and for their FDDI and token ring cards) available
without NDA (see www.syskonnect.com).


# 48645 06-Jul-1999 des

Rename bpfilter to bpf.


# 48535 03-Jul-1999 jdp

Update comment for new location of soft-updates sources.


# 48406 01-Jul-1999 jkh

Remove the now-bogus comment about using iosiz with npx0 for memory
sizing - environment does this properly now. Thanks, Peter!


# 48353 29-Jun-1999 peter

Drop old-scsi drivers (was commented out) od0 and (not commented) sctarg0


# 48347 29-Jun-1999 mph

Correct spelling of NMBCLUSTERS in a comment.

Submitted by: Peter Radcliffe <pir@pir.net>


# 48346 29-Jun-1999 peter

With asbestos suit on, make the options indenting a little more consistant
so that it doesn't screw up the alignment when commenting out an entry.
Also dequote two entries that do not need it.


# 48284 27-Jun-1999 mjacob

add description of Qlogic ISP FC Full Duplex option


# 48161 24-Jun-1999 jlemon

Add ida/id lines


# 48104 22-Jun-1999 yokota

The second phase of syscons reorganization.

- Split syscons source code into manageable chunks and reorganize
some of complicated functions.

- Many static variables are moved to the softc structure.

- Added a new key function, PREV. When this key is pressed, the vty
immediately before the current vty will become foreground. Analogue
to PREV, which is usually assigned to the PrntScrn key.
PR: kern/10113
Submitted by: Christian Weisgerber <naddy@mips.rhein-neckar.de>

- Modified the kernel console input function sccngetc() so that it
handles function keys properly.

- Reorganized the screen update routine.

- VT switching code is reorganized. It now should be slightly more
robust than before.

- Added the DEVICE_RESUME function so that syscons no longer hooks the
APM resume event directly.

- New kernel configuration options: SC_NO_CUTPASTE, SC_NO_FONT_LOADING,
SC_NO_HISTORY and SC_NO_SYSMOUSE.
Various parts of syscons can be omitted so that the kernel size is
reduced.

SC_PIXEL_MODE
Made the VESA 800x600 mode an option, rather than a standard part of
syscons.

SC_DISABLE_DDBKEY
Disables the `debug' key combination.

SC_ALT_MOUSE_IMAGE
Inverse the character cell at the mouse cursor position in the text
console, rather than drawing an arrow on the screen.
Submitted by: Nick Hibma (n_hibma@FreeBSD.ORG)

SC_DFLT_FONT
makeoptions "SC_DFLT_FONT=_font_name_"
Include the named font as the default font of syscons. 16-line,
14-line and 8-line font data will be compiled in. This option replaces
the existing STD8X16FONT option, which loads 16-line font data only.

- The VGA driver is split into /sys/dev/fb/vga.c and /sys/isa/vga_isa.c.

- The video driver provides a set of ioctl commands to manipulate the
frame buffer.

- New kernel configuration option: VGA_WIDTH90
Enables 90 column modes: 90x25, 90x30, 90x43, 90x50, 90x60. These
modes are mot always supported by the video card.
PR: i386/7510
Submitted by: kbyanc@freedomnet.com and alexv@sui.gda.itesm.mx.

- The header file machine/console.h is reorganized; its contents is now
split into sys/fbio.h, sys/kbio.h (a new file) and sys/consio.h
(another new file). machine/console.h is still maintained for
compatibility reasons.

- Kernel console selection/installation routines are fixed and
slightly rebumped so that it should now be possible to switch between
the interanl kernel console (sc or vt) and a remote kernel console
(sio) again, as it was in 2.x, 3.0 and 3.1.

- Screen savers and splash screen decoders
Because of the header file reorganization described above, screen
savers and splash screen decoders are slightly modified. After this
update, /sys/modules/syscons/saver.h is no longer necessary and is
removed.


# 48029 19-Jun-1999 rnordier

Goodbye to vaules, becasue, similiar, backgroud, aquired, freelisat, etc.


# 47926 15-Jun-1999 des

Kill option FAILSAFE.

PR: i386/12187
Approved by: bde


# 47677 01-Jun-1999 jlemon

Make vm86 a standard component

Reviewed by: silence on on -current


# 47582 28-May-1999 roger

Add new Bt848/Bt878 driver options.
(Eventually I expect to move these into the man page)


# 47425 23-May-1999 peter

Don't reference non-existant ATAPI option..

PR: 11814
Submitted by: Sheldon Hearn <sheldonh@uunet.co.za>


# 47350 21-May-1999 wpaul

This commit adds driver support for PCI fast ethernet cards based on the
ADMtek AL981 "Comet" chipset. The AL981 is yet another DEC tulip clone,
except with simpler receive filter options. The AL981 has a built-in
transceiver, power management support, wake on LAN and flow control.
This chip performs extremely well; it's on par with the ASIX chipset
in terms of speed, which is pretty good (it can do 11.5MB/sec with TCP
easily).

I would have committed this driver sooner, except I ran into one problem
with the AL981 that required a workaround. When the chip is transmitting
at full speed, it will sometimes wedge if you queue a series of packets
that wrap from the end of the transmit descriptor list back to the
beginning. I can't explain why this happens, and none of the other tulip
clones behave this way. The workaround this is to just watch for the end
of the transmit ring and make sure that al_start() breaks out of its
packet queuing loop and waiting until the current batch of transmissions
completes before wrapping back to the start of the ring. Fortunately, this
does not significantly impact transmit performance.

This is one of those things that takes weeks of analysis just to come
up with two or three lines of code changes.


# 47343 20-May-1999 n_hibma

usbdi.h:
Implement priorities.
GENERIC, LINT, files:
Remove remarks about ordering of device names.
GENERIC, LINT:
Sort the devices alphabetically in LINT and GENERIC.


# 47338 20-May-1999 hm

upgrade isdn4bsd from version 0.71 to the just released version 0.81


# 47299 18-May-1999 roger

Update text on using the smbus, iibus, iicbb controllers
with the bktr device.


# 47155 14-May-1999 obrien

Add the `xe' Xircom PC Card driver.


# 47004 11-May-1999 jb

Change the INIT_PATH option example to use colons instead of semi-colons
(per rev 1.122 of sys/kern/init_main.c).


# 46840 09-May-1999 peter

Put an example of 'makeoptions KERNEL=foo' to replace the old
'config foo' functionality.


# 46806 09-May-1999 phk

Major lobotomy of config(8). The

config kernel mumble mumble

line has been obsoleted and removed and with it went all knowledge of
devices on the part of config.

You can still configure a root device (which is used if you give
the "-r" flag) but now with an option:

options ROOTDEVNAME=\"da0s2e\"

The string is parsed by the same code as at the "boot -a" prompt.

At the same time, make the "boot -a" prompt both more able and more
informative.

ALPHA/PC98 people: You will have to adapt a few simple changes
(defining rootdev and dumpdev somewhere else) before config works
for you again, sorry, but it's all in the name of progress.


# 46567 06-May-1999 peter

Add missing comment characters from wi driver description.


# 46507 05-May-1999 jb

Add the INIT_PATH option for embedded systems.


# 46495 05-May-1999 wpaul

Add device driver support for the Lucent WaveLAN/IEEE 802.11 PCMCIA
adapter (and some workalikes). Also add man pages and a wicontrol
utility to manipulate some of the card parameters.

This driver was written using information gleaned from the Lucent HCF Light
library, though it does not use any of the HCF Light code itself, mainly
because it's contaminated by the GPL (but also because it's pretty gross).
The HCF Light lacks certain featurs from the full (but proprietary) HCF
library, including 802.11 frame encapsulation support, however it has
just enough register information about the Hermes chip to allow someone
with enough spare time and energy to implement a proper driver. (I would
have prefered getting my hands on the Hermes manual, but that's proprietary
too. For those who are wondering, the Linux driver uses the proprietary
HCF library, but it's provided in object code form only.)

Note that I do not have access to a WavePOINT access point, so I have
only been able to test ad-hoc mode. The wicontrol utility can turn on
BSS mode, but I don't know for certain that the NIC will associate with
an access point correctly. Testers are encouraged to send their results
to me so that I can find out if I screwed up or not.


# 46346 02-May-1999 n_hibma

Add driver for the Iomega Zip 100 drive.


# 46331 02-May-1999 peter

Disable second declaration of oltr0 - the first one (intended for isa) will
cause the device to be found on all busses, including pci.


# 46037 24-Apr-1999 peter

De-quote where possible and minor tweaks. depends on a current config(8).


# 46000 24-Apr-1999 peter

Drop tty/net/bio/cam interrupt class labels, it's meaningless here now.


# 45951 23-Apr-1999 peter

Update VM86 comment - it's used for VESA too.

PR: 7976
Submitted by: Stefan Eggers <seggers@semyam.dinoco.de>


# 45822 19-Apr-1999 peter

Zap LKM option and support. Farewell old friend.


# 45817 19-Apr-1999 peter

Drop the 'at nexus?' from the busses, it's not used.
Reactivate eisa0 and pnp0 in GENERIC, they work.. (eisa has been converted
but pnp still (for the most part) works the old way).


# 45813 19-Apr-1999 brian

Spelling police


# 45720 16-Apr-1999 peter

Bring the 'new-bus' to the i386. This extensively changes the way the
i386 platform boots, it is no longer ISA-centric, and is fully dynamic.
Most old drivers compile and run without modification via 'compatability
shims' to enable a smoother transition. eisa, isapnp and pccard* are
not yet using the new resource manager. Once fully converted, all drivers
will be loadable, including PCI and ISA.

(Some other changes appear to have snuck in, including a port of Soren's
ATA driver to the Alpha. Soren, back this out if you need to.)

This is a checkpoint of work-in-progress, but is quite functional.

The bulk of the work was done over the last few years by Doug Rabson and
Garrett Wollman.

Approved by: core


# 45715 16-Apr-1999 n_hibma

Remove the entries for umodem and ucom. These drivers only probe
and attach, nothing else. This is confusing to people.


# 45681 14-Apr-1999 peter

Add example for 'makeoptions DEBUG' and some notes. I have not activated
it here since a -g LINT kernel is 100% useless as it won't run and hence
doesn't need debug capabilities (and would just waste disk space :-).


# 45666 13-Apr-1999 peter

Shoot the LKM support in the old wd/wdc/atapi driver set in the head and
perform a cleanup/unifdef sweep over it to tidy things up. The atapi
code is permanently attached to the wd driver and is always probed.

I will add an extra option bit in the flags to disable an atapi probe on
either the master or slave if needed, if people want this.

Remember, this driver is destined to die some time. It's possible that
it will loose all atapi support down the track and only be used for
dumb non-ATA disks and all ata/atapi devices will be handled by the new
ata system.

ATAPI, ATAPI_STATIC and CMD640 are no longer options, all are implicit.

Previously discussed with: sos


# 45614 12-Apr-1999 brian

ppp != iijppp any more
Mention nos-tun as a tun device user.


# 45605 11-Apr-1999 n_hibma

Make debugging more selective.
Remove debugging options from GENERIC


# 45548 10-Apr-1999 n_hibma

uncomment the uhci entry


# 45522 09-Apr-1999 nik

Add a warning bout the SoundBlaster and ISA DMA locking up the machine,
and a possible workaround.

PR: docs/5358
Submitted by: Matthew Dillon
Reviewed by: nik


# 45386 06-Apr-1999 wpaul

Add driver support for gigabit ethernet adapters based on the Alteon
Networks Tigon 1 and Tigon 2 chipsets. There are a _lot_ of OEM'ed
gigabit ethernet adapters out there which use the Alteon chipset so
this driver covers a fair amount of hardware. I know that it works with
the Alteon AceNIC, 3Com 3c985 and Netgear GA620, however it should also
work with the DEC/Compaq EtherWORKS 1000, Silicon Graphics Gigabit
ethernet board, NEC Gigabit Ethernet board and maybe even the IBM and
and Sun boards. The Netgear board is the cheapest (~$350US) but still
yields fairly good performance.

Support is provided for jumbo frames with all adapters (just set the
MTU to something larger than 1500 bytes), as well as hardware multicast
filtering and vlan tagging (in conjunction with the vlan support in
-current, which I should merge into -stable soon). There are some hooks
for checksum offload support, but they're turned off for now since
FreeBSD doesn't have an officially sanctioned way to support checksum
offloading (yet).

I have not added the 'device ti0' entry to GENERIC since the driver
with all the firmware compiled in is quite large, and it doesn't really
fit into the category of generic hardware.


# 45194 31-Mar-1999 eivind

Add NTFS


# 45122 29-Mar-1999 ken

Delete all references to the "aic" driver. It isn't in the tree, and
may not show up for a while, and I'm tired of people asking about it.

Perhaps this will eliminate some of the confusion.


# 45115 29-Mar-1999 phk

Spelling fixes.

PR: 10764
Submitted by: Chris Piazza <cpiazza@home.net>


# 45099 28-Mar-1999 dt

Fix syntax error. While I am here, comment out a negative option and add
another two commented out negative options.


# 44815 16-Mar-1999 mjacob

describe new ISP options


# 44803 16-Mar-1999 eivind

Remove old reference to needing 'make clean' for QUOTAS - that is no
longer correct.


# 44801 16-Mar-1999 sos

Rewert the atapi CDROM driver's name to wcd.
This is to avoid confusion with the new system.
Also provide real entires in MAKEDEV for the new system.


# 44722 13-Mar-1999 joerg

Make NDGBPORTS an official option.


# 44702 13-Mar-1999 grog

Add a dire warning about the folly of configuring vinum in
the kernel.


# 44634 10-Mar-1999 yokota

- Added new options (ATKBD_DFLT_KEYMAP, KBD_DISABLE_KEYMAP_LOAD and
KBD_INSTALL_CDEV).
- Removed the note that the VESA option cannot be used on the SMP system;
this is not true.
- Moved the option VESA to more appropriate place.


# 44611 09-Mar-1999 phk

Make TIMER_FREQ a normal, undocumented option. Raise confusion to
a higher level with example in LINT.

Clarify comment about PPS_SYNC. Ignore for now that it doesn't
work in FLL mode, it will in a few days.


# 44595 08-Mar-1999 brian

typo police


# 44458 04-Mar-1999 sos

Add the atapi fd driver (LS120 & ZIP drive support)


# 44380 01-Mar-1999 sos

Finally!!

The much roumored replacement for our current IDE/ATA/ATAPI is
materialising in the CVS repositories around the globe.

So what does this bring us:

A new reengineered ATA/ATAPI subsystem, that tries to overcome
most of the deficiencies with the current drivers.

It supports PCI as well as ISA devices without all the hackery
in ide_pci.c to make PCI devices look like ISA counterparts.

It doesn't have the excessive wait problem on probe, in fact you
shouldn't notice any delay when your devices are getting probed.

Probing and attaching of devices are postponed until interrupts
are enabled (well almost, not finished yet for disks), making
things alot cleaner.

Improved performance, although DMA support is still WIP and not
in this pre alpha release, worldstone is faster with the new
driver compared to the old even with DMA.

So what does it take away:

There is NO support for old MFM/RLL/ESDI disks.
There is NO support for bad144, if your disk is bad, ditch it, it has
already outgrown its internal spare sectors, and is dying.

For you to try this out, you will have to modify your kernel config
file to use the "ata" controller instead of all wdc? entries.

example:

# for a PCI only system (most modern machines)
controller ata0
device atadisk0 # ATA disks
device atapicd0 # ATAPI CDROM's
device atapist0 # ATAPI tapes

#You should add the following on ISA systems:
controller ata1 at isa? port "IO_WD1" bio irq 14
controller ata2 at isa? port "IO_WD2" bio irq 15

You can leave it all in there, the system knows how to manage.

For now this driver reuses the device entries from the old system
(that will probably change later), but remember that disks are
now numbered in the sequence they are found (like the SCSI system)
not as absolute positions as the old system.

Although I have tested this on all the systems I can get my hands on,
there might very well be gremlins in there, so use AT YOU OWN RISK!!
This is still WIP, so there are lots of rough edges and unfinished
things in there, and what I have in my lab might look very different
from whats in CVS at any given time. So please have all eventual
changes go through me, or chances are they just dissapears...

I would very much like to hear from you, both good and bad news
are very welcome.

Enjoy!!

-Søren


# 44219 22-Feb-1999 des

Add support for stealth forwarding (forwarding packets without touching
their ttl). This can be used - in combination with the proper ipfw
incantations - to make a firewall or router invisible to traceroute
and other exploration tools.

This behaviour is controlled by a sysctl variable (net.inet.ip.stealth)
and hidden behind a kernel option (IPSTEALTH).

Reviewed by: eivind, bde


# 44188 21-Feb-1999 n_hibma

Rename hid device to uhid (HID: Human Interface Device)


# 44184 21-Feb-1999 nsouch

Fix controller/device ppc0 inconsistency with GENERIC

Suggested by: Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>


# 44175 20-Feb-1999 n_hibma

Removed uhub from list. Mandatory with usb device and this was already
forced in conf/files. Unneccessary entry.


# 44165 20-Feb-1999 julian

World, I'd like you to meet the first FreeBSD token Ring driver.
This is for various Olicom cards. An IBM driver is following.
This patch also adds support to tcpdump to decode packets on tokenring.
Congratulations to the proud father.. (below)

Submitted by: Larry Lile <lile@stdio.com>


# 43989 14-Feb-1999 nsouch

Rename nlpt to lpt.

Remove from ppi.c the old depreciated module stuff.
Print info when if_plip can't use interrupts.


# 43974 13-Feb-1999 nsouch

Add alpm, Acer Aladdin-IV/V/Pro2 Power Management Unit. See alpm(4).


# 43924 12-Feb-1999 brian

Correct i/o addresses for dgb & dgm
Submitted for dgm by: Andre Oppermann <opi@opi.flirtbox.ch>


# 43827 10-Feb-1999 des

Remove the lpt driver, as discussed on -hackers.


# 43787 08-Feb-1999 mjacob

add isp specific config options and explanations


# 43746 07-Feb-1999 joerg

Reorder the pcvt(4) options to the appropriate section, so i can close
docs/1855. :)

PR: docs/1855
Submitted by: Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>


# 43622 04-Feb-1999 adam

replace previous stupid comment with one more appropriate
where it will be easily found


# 43413 30-Jan-1999 newton

Add streams pseudo-device


# 43295 27-Jan-1999 dillon

Fix warnings preparing for -Wall -Wcast-qual

Also disable one usb module in LINT due to fatal compilation errors,
temporary.


# 43203 25-Jan-1999 nsouch

Terminate commit for the Intel PIIX4 SMBus support. Already committed files
are sys/pci/intpm*

Submitted by: Takanori Watanabe <takawata@shidahara1.planet.sci.kobe-u.ac.jp>


# 43172 25-Jan-1999 peter

NO_LKM is no longer an option. LKM support is an option itself.


# 43126 23-Jan-1999 grog

Add comment indicating that the vinum pseudo-device is experimental,
and that vinum should be started as a kld.

Tripped-over-by: many people


# 43108 23-Jan-1999 nsouch

Add various documented ppbus options


# 43103 23-Jan-1999 rnordier

Fix a dot too many in path.
PR: 9445
Noticed by: Ying-Chieh Liao <ijliao@Terry.Dorm10.NCTU.edu.tw>


# 43095 23-Jan-1999 yokota

- Remove reference to obsolete options.
- Describe options for the vga driver.
Reviewed by: bde


# 42963 21-Jan-1999 eivind

Move EXT2FS to be more visible, and give it a description. Also make
the text from my last commit somewhat better.


# 42900 20-Jan-1999 eivind

Add 'options DEBUG_LOCKS', which stores extra information in struct
lock, and add some macros and function parameters to make sure that
the information get to the point where it can be put in the lock
structure.

While I'm here, add DEBUG_VFS_LOCKS to LINT.


# 42878 20-Jan-1999 msmith

Remove 'alog'. G'bye Jamil.


# 42835 19-Jan-1999 des

Fix comment wording.


# 42761 17-Jan-1999 peter

Add LKM option so that the remaining code (hopefully) doesn't go stale.


# 42691 15-Jan-1999 bde

Use a fast interrupt handler for the PCI version of the cy driver
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.


# 42622 13-Jan-1999 yokota

Move notes on some flags for AT keyboard. They used to be for sc0,
and now for atkbd0.

# I know I should be writing a man page rather than editing LINT...

Spotted by: tom@geotec.net (Tom Jackson)


# 42530 11-Jan-1999 eivind

SLOW_VGA -> VGA_SLOW_IOACCESS here, too.


# 42504 11-Jan-1999 yokota

The first stage of console driver reorganization: activate new
keyboard and video card drivers.

Because of the changes, you are required to update your kernel
configuration file now!

The files in sys/dev/syscons are still i386-specific (but less so than
before), and won't compile for alpha and PC98 yet.

syscons still directly accesses the video card registers here and
there; this will be rectified in the later stages.


# 42467 10-Jan-1999 phk

Back out last change to sysctl.

It was nay'ed before committing on the grounds that this is not
the way to do it, and has been decided as such several times in
the past.

There is not point in loading gobs of ascii into the kernel when
the only use of that ascii is presentation to the user.

Next thing we'd be adding all section 4 man pages to the loaded
kernel as well.

The argument about KLD's is bogus, klds can store a file in
/usr/share/doc/sysctl/dev/foo/thisvar.txt with a description and
sysctl or other facilities can pick it up there.

Proper documentation will take several K worth of text for many
sysctl variables, we don't want that in the kernel under any
circumstances.

I will welcome any well thought out attempt at improving the
situation wrt. sysctl documentation, but this wasn't it.


# 42466 10-Jan-1999 des

Add kernel support for sysctl descriptions. The NO_SYSCTL_DESCRIPTIONS option
disables them if they're not wanted; in that case, sysctl_sysctl_descr will
always return an empty string.

Apporved by: jkh


# 42444 09-Jan-1999 wpaul

Add driver support (and man page) for PCI fast ethernet cards based
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).


# 42408 08-Jan-1999 eivind

Split DIAGNOSTIC -> DIAGNOSTIC, INVARIANTS, and INVARIANT_SUPPORT as
discussed on -hackers.

Introduce 'KASSERT(assertion, ("panic message", args))' for simple
check + panic.

Reviewed by: msmith


# 42402 08-Jan-1999 eivind

Instead of providing bad instructions here, point people at the
appropriate docs.

Prodded by: Sheldon Hearn <axl@iafrica.com>'s message in -current


# 42218 01-Jan-1999 peter

Part 1 of pcvt/voxware revival. I hope I have not clobbered any other
deltas, but it is possible since I had a few merge conflicts over the last
few days while this has been sitting ready to go.

Approved by: core


# 42217 01-Jan-1999 peter

Oops, forgot to commit entry in LINT for statically configured vinum.


# 42197 31-Dec-1998 luigi

Enable entries for DUMMYNET, BRIDGE and device pcm. LINT compiles
fine with these enabled.


# 42168 30-Dec-1998 phk

We don't specify "vector mumble" anymore

Submitted by: Boris Staeblow <balu@dva.in-berlin.de>


# 42112 27-Dec-1998 msmith

From the submitter:

CPU_WT_ALLOC does not work correctly for K6-2s of model 8+ and
probably K6-3s (when they appear on the market soon). In addition,
print_AMD_info() incorrectly printfs write allocation's size. I've
fixed them, so they now Do The Right Thing, and added a
"NO_MEMORY_HOLE" option to easily allow 15-16mb range handling for us
K6 and K6-2 users.

Submitted by: Brian Feldman <green@unixhelp.org>


# 42107 27-Dec-1998 phk

Initial entry of ISDN4BSD into the FreeBSD tree.

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.


# 42100 27-Dec-1998 phk

followup to
Pre 3.0 branch cleanup casualty #4: pcvt


# 42086 27-Dec-1998 sos

Pre 3.0 branch cleanup sos#2: sound

Superceded by the snd driver...


# 42084 27-Dec-1998 sos

Pre 3.0 branch cleanup sos#1: wcd

Superceded by acd driver...


# 42083 27-Dec-1998 phk

Pre 3.0 branch cleanup casualty #6: ft


# 42079 27-Dec-1998 phk

Pre 3.0 branch cleanup casualty #5: nca, sea, wds, uha

No CAM drivers available. If somebody CAMifies one of these, they
will be welcome back in the tree


# 42078 27-Dec-1998 phk

Pre 3.0 branch cleanup casualty #4: pcvt


# 42077 27-Dec-1998 phk

Pre 3.0 branch cleanup casualty #3: 3c505 ethernet support


# 42076 27-Dec-1998 phk

Pre 3.0 branch cleanup casualty #2: Transputer support


# 42075 27-Dec-1998 phk

Pre 3.0 branch cleanup casualty #1: DSI_SOFT_MODEM support.


# 42020 22-Dec-1998 luigi

Add entries for DUMMYNET and BRIDGE


# 41983 21-Dec-1998 joerg

Include rdp(4).

Should i also include it into GENERIC?


# 41740 13-Dec-1998 n_hibma

Added all the options to LINT with descriptions. Haven't tried to compile
the LINT kernel yet however...


# 41693 12-Dec-1998 imp

Add support for the YE-Data external PCMCIA floppy driver. This
floppy is used on the toshiba Libretto line of subnotebook computers.
It differs from a normal floppy in that you must use PIO rather than
DMA to transfer the data.

To enable this, you must add options "FDC_YE" to your kernel. I don't
have a machine that has a floppy and a pcmcia slot to test to make
sure that this doesn't impact normal floppy units, so I've left this as
an option.

I have ported this to -current and made an attempt to ensure that the
indentation conforms to style(9), aka the bruce filter.

Reviewed by: nate, markm
Submitted by: David Horwitt (dhorwitt@ucsd.edu)


# 41502 04-Dec-1998 wpaul

An early Christmas present: add driver support for a whole bunch of
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.


# 41486 03-Dec-1998 dillon

Reviewed by: freebsd-current

Add ICMP_BANDLIM option


# 41306 23-Nov-1998 phk

Make timecounters more resistant to badly behaved SW/HW which locks
out interrupts for too long. If you still see the "calcru: negative
time..." message you can increase NTIMECOUNTER (see LINT).

Sideeffect is that a timecounter is required to not wrap around in
less than (1 + delta) seconds instead of the (1/hz + delta) required
until now.

Many thanks to: msmith, wpaul, wosch & bde


# 41183 15-Nov-1998 eivind

Make it possible to adjust the IDE probe delay from kernel config files.


# 41098 11-Nov-1998 msmith

Remove all mention of the 'amd' driver. It can come back if we grow
support for it again.


# 41000 08-Nov-1998 peter

Missing newline at end of file causes syntax error.


# 40973 06-Nov-1998 msmith

USERCONFIG_BOOT -> INTRO_USERCONFIG

Submitted by: des


# 40959 06-Nov-1998 obrien

make lnc0 definition in LINT match GENERIC


# 40958 06-Nov-1998 obrien

add AMD Am7990 & Am79C960 to description of lnc(4)


# 40932 05-Nov-1998 dg

Document the new NSFBUFS option.


# 40870 03-Nov-1998 des

Back out previous commit. The bpfilter -> bpf transition will have to be a
flag day unless we can hack config(8) to smooth things over.


# 40869 03-Nov-1998 des

Rename the 'bpfilter' pseudo-device to 'bpf'. The old syntax is still legal
and will stick around for a while.


# 40810 01-Nov-1998 nsouch

Oops forgot to remove peter's 'device iicbb0' declaration. Done.


# 40809 01-Nov-1998 nsouch

Add controller iicbb (generic I2C bit-banging code) and lpbb
(official Philips I2C parallel interface)

Add comments for bktr port to the new I2C framework


# 40789 31-Oct-1998 peter

I do not know if this is correct, but add iicbb0 as a device so that
LINT links.


# 40770 30-Oct-1998 des

Document that we support i82595-based Ethernet adapters (Intel EtherExpress
Pro/10 and Pro/10+).


# 40577 22-Oct-1998 bde

Quote port names that have a digit in them. IO_TIMER1 was lexed as
{ port_name = "IO_TIMER", port_number = 1 } and only worked because
it was reassembled to "IO_TIMER1". Trailing digits always work, but
this is too magic to depend on.

Don't quote port names that don't have a digit in them.


# 40574 22-Oct-1998 bde

Removed all `vector xxxintr' specifications. Interrupt handlers are now
configured in drivers.


# 40516 18-Oct-1998 wpaul

Add driver support for PCI fast ethernet adapters based on the
RealTek 8129/8139 chipset like I've been threatening. Update kernel
configs, userconfig.c, relnotes and sysinstall. No man page yet;
comming soon.

I consider this driver stable enough that I want to give it some
exposure in -current.


# 40463 16-Oct-1998 alex

Complete the description of sio flag 0x40.

Reviewed by: bde


# 40258 12-Oct-1998 bde

Fixed bitrot in mfs options. MFS_ROOT split into MFS_ROOT and
MFS_ROOT_SIZE, and MFS_AUTOLOAD went away.


# 40168 10-Oct-1998 obrien

Add GENERIC rev 1.124 changes


# 40037 07-Oct-1998 obrien

Fix syntax errors I introduced.


# 40031 07-Oct-1998 gibbs

Add entries for the adw device driver.


# 40003 06-Oct-1998 kato

- Implement enabling write allocate on AMD K5/K6/K6-2 cpus.
The code was originaly contributed by Kelly Yancey
<kbyanc@freedomnet.com> in PR i386/6269 and revised by Akio Morita
<amorita@meadow.scphys.kyoto-u.ac.jp> and me. Test was performed by
Akio Morita and Toshiomi Moriki <moriki@db.is.kyushu-u.ac.jp>.
- Fix stylistic bug in identcpu.c.
- Update copyright in initcpu.c
- Fix typo in LINT.

PR: 6269 and 6270


# 39969 05-Oct-1998 obrien

Document that ``options xFS_ROOT'' requires the associated ``options xFS''.
Reordered xFS_ROOT's to be below the associated xFS.


# 39903 02-Oct-1998 ken

Add a new CAM debugging mode, CAM_DEBUG_CDB. This causes the kernel to
print out a one line description/dump of every SCSI CDB sent to a
particular debugging target or targets.

This is a good bit more useful than the other debugging modes, I think.

Change some things in LINT to note the availability of this new option.

Fix an erroneous argument to scsi_cdb_string() in scsi_all.c

Reviewed by: gibbs


# 39884 02-Oct-1998 ken

Patches from DES to create three new kernel config options to control
timeouts in the SA driver (timeouts for space, rewind and erase). Folks
can lengthen the timeouts if their hardware is especially slow, or shorten
them if they want to be notified of errors a little sooner.

Also, get rid of two OD driver options. The od driver has been made
obsolete by the da driver.

Reviewed by: ken, gibbs
Submitted by: Dag-Erling Coidan Smørgrav <des@FreeBSD.ORG>


# 39860 01-Oct-1998 yokota

Fix typo.
PR: kern/8118
Submitted by: Sheldon Hearn


# 39769 29-Sep-1998 abial

Make #define NO_SWAPPING a normal kernel config option.

Warn unsuspecting users against current DEVFS pitfalls.

Reviewed by: jkh


# 39696 27-Sep-1998 jkoshy

`strings' -> `strings -aout -n 3'

Pointer out by: Ben Smithurst <ben@scientia.demon.co.uk> and
<des@freebsd.org>


# 39648 25-Sep-1998 peter

Goodbye BOUNCE_BUFFERS, for a hack it has served us well.

The last consumer of this code (the old SCSI system) has left us and
the CAM code does it's own bouncing. The isa dma system has been
doing it's own bouncing for a while too.

Reviewed by: core


# 39640 25-Sep-1998 yokota

Slightly adjust the description on SC_ALT_SEQACCESS in the previous
commit.


# 39639 25-Sep-1998 jkh

Match LINT with SC_BAD_FLICKER change.
Submitted by: Sheldon Hearn <axl@iafrica.com>


# 39523 20-Sep-1998 nsouch

vpo now compiles with CAM, #!CAM# removed.


# 39516 20-Sep-1998 gibbs

Re-enable the advansys driver.


# 39461 18-Sep-1998 eivind

Make LINT compile and link again after the CAM merge. The little
annoying #!CAM# indicators are used to be clear, in the expectation
that the places they show will be either fixed or diked out reasonably
quickly.

Reviewed by: ken


# 39445 17-Sep-1998 mjacob

(requested by gibbs) Remove the SCSI_CAM option (and rework the isp driver
that had depended on it for compilation within or without CAM to use
__FreeBSD_version instead).


# 39443 17-Sep-1998 ken

Move SCSI_DELAY and SCSI_CAM from the undocumented options section to the
CAM options section.

Document that SCSI_DELAY is in milliseconds, not seconds.

Tell users that SCSI_CAM is only needed if you've got the QLogic driver in
your kernel.

Reviewed by: gibbs


# 39436 17-Sep-1998 nsouch

vpo comments updated for cam, nlpt suggested instead of lpt


# 39400 17-Sep-1998 msmith

Mark the syscons and pcvt drivers as being allowed to conflict, so that
well-meaning but uneducated users don't exterminate the psm driver in
their zeal to achieve zero conflicts.


# 39287 15-Sep-1998 sos

Add VESA support to syscons.

Kazu writes:

The VESA support code requires vm86 support. Make sure your kernel
configuration file has the following line.
options "VM86"
If you want to statically link the VESA support code to the kernel,
add the following option to the kernel configuration file.
options "VESA"

The vidcontrol command now accepts the following video mode names:
VESA_132x25, VESA_132x43, VESA_132x50, VESA_132x60, VESA_800x600

The VESA_800x600 mode is a raster display mode. The 80x25 text will
be displayed on the 800x600 screen. Useful for some laptop computers.

vidcontrol accepts the new `-i <info>' option, where <info> must be
either `adapter' or `mode'. When the `-i adapter' option is given,
vidcontrol will print basic information (not much) on the video
adapter. When the `-i mode' option is specified, vidcontrol will
list video modes which are actually supported by the video adapter.

Submitted by: Kazutaka YOKOTA yokota@FreeBSD.ORG


# 39271 15-Sep-1998 phk

(this is an extract from src/share/examples/atm/README)

===================================
HARP | Host ATM Research Platform
===================================

HARP 3

What is this stuff?
-------------------
The Advanced Networking Group (ANG) at the Minnesota Supercomputer Center,
Inc. (MSCI), as part of its work on the MAGIC Gigabit Testbed, developed
the Host ATM Research Platform (HARP) software, which allows IP hosts to
communicate over ATM networks using standard protocols. It is intended to
be a high-quality platform for IP/ATM research.

HARP provides a way for IP hosts to connect to ATM networks. It supports
standard methods of communication using IP over ATM. A host's standard IP
software sends and receives datagrams via a HARP ATM interface. HARP provides
functionality similar to (and typically replaces) vendor-provided ATM device
driver software.

HARP includes full source code, making it possible for researchers to
experiment with different approaches to running IP over ATM. HARP is
self-contained; it requires no other licenses or commercial software packages.

HARP implements support for the IETF Classical IP model for using IP over ATM
networks, including:

o IETF ATMARP address resolution client
o IETF ATMARP address resolution server
o IETF SCSP/ATMARP server
o UNI 3.1 and 3.0 signalling protocols
o Fore Systems's SPANS signalling protocol

What's supported
----------------
The following are supported by HARP 3:

o ATM Host Interfaces
- FORE Systems, Inc. SBA-200 and SBA-200E ATM SBus Adapters
- FORE Systems, Inc. PCA-200E ATM PCI Adapters
- Efficient Networks, Inc. ENI-155p ATM PCI Adapters

o ATM Signalling Protocols
- The ATM Forum UNI 3.1 signalling protocol
- The ATM Forum UNI 3.0 signalling protocol
- The ATM Forum ILMI address registration
- FORE Systems's proprietary SPANS signalling protocol
- Permanent Virtual Channels (PVCs)

o IETF "Classical IP and ARP over ATM" model
- RFC 1483, "Multiprotocol Encapsulation over ATM Adaptation Layer 5"
- RFC 1577, "Classical IP and ARP over ATM"
- RFC 1626, "Default IP MTU for use over ATM AAL5"
- RFC 1755, "ATM Signaling Support for IP over ATM"
- RFC 2225, "Classical IP and ARP over ATM"
- RFC 2334, "Server Cache Synchronization Protocol (SCSP)"
- Internet Draft draft-ietf-ion-scsp-atmarp-00.txt,
"A Distributed ATMARP Service Using SCSP"

o ATM Sockets interface
- The file atm-sockets.txt contains further information

What's not supported
--------------------
The following major features of the above list are not currently supported:

o UNI point-to-multipoint support
o Driver support for Traffic Control/Quality of Service
o SPANS multicast and MPP support
o SPANS signalling using Efficient adapters

This software was developed under the sponsorship of the Defense Advanced
Research Projects Agency (DARPA).

Reviewed (lightly) by: phk
Submitted by: Network Computing Services, Inc.


# 39242 15-Sep-1998 gibbs

sd->da, od is gone, no SCSI control devices.
new pass, xpt, and targ devices.

Nuke no longer used AHC options.


# 39187 14-Sep-1998 sos

Remove the SLICE code.
This clearly needs alot more thought, and we dont need this to hunt
us down in 3.0-RELEASE.


# 39085 11-Sep-1998 rvb

All the references to cfs, in symbols, structs, and strings
have been changed to coda. (Same for CFS.)


# 39045 10-Sep-1998 sos

Oops missed a line in the previous commit


# 39042 10-Sep-1998 sos

Update info on the bt848 driver.

Submitted by: Roger Hardiman <roger@cs.strath.ac.uk>


# 38956 08-Sep-1998 sos

Add new atapi-cd driver that supports atapi CD-R/RW drives.
This is only a stop-gab solution to get atapi burner support into 3.0.


# 38953 08-Sep-1998 brian

Make PCIC_RESUME_RESET an proper option.
My laptop (a CTX Cybernote) needs this. It claims to have a

PC-Card VLSI 82C146 (5 mem & 2 I/O windows)


# 38778 03-Sep-1998 nsouch

Reviewed by: Doug Rabson
Submitted by: nsouch
Adding I2C and SMB entries to LINT, CONFIGVERS modified in Makefile.i386


# 38574 27-Aug-1998 jkh

Add CFS options to LINT, though commented out for now.
Submitted by: Robert Baron <rvb@sicily.odyssey.cs.cmu.edu>


# 38572 26-Aug-1998 obrien

NULLFS_DIAGNOSTICS and PCVT_SCANSET=2 listed twice.


# 38401 17-Aug-1998 bde

Oops, the previous commit was of a local version.


# 38400 17-Aug-1998 bde

FIxed typo (syntax error) in previous commit.


# 38363 16-Aug-1998 wpaul

Import the (Fast) Etherlink XL driver. I'm reasonally confident in its
stability now. ALso modify /sys/conf/files, /sys/i386/conf/GENERIC
and /sys/i386/conf/LINT to add entries for the XL driver. Deactivate
support for the XL adapters in the vortex driver. LAstly, add a man
page.

(Also added an MLINKS entry for the ThunderLAN man page which I forgot
previously.)


# 38217 10-Aug-1998 yokota

- Added SC_BAD_FLICKER for syscons.
- Added the flag 0x40 (quiet bell) for syscons.


# 38115 04-Aug-1998 eivind

Update DPT driver from 1.4.3 to 1.4.5

Submitted by: Simon Shapiro <shimon@simon-shapiro.org>


# 38108 04-Aug-1998 brian

Add driver dgm - for the Digiboard PC/Xem
Submitted by: "IBS / Andre Oppermann" <andre@pipeline.ch>
DEVFS additions: brian

dgm gets major number 101.


# 38061 03-Aug-1998 msmith

Major ppbus updates from the author.

- ppbus now supports PLIP via the if_plip driver
- ieee1284 infrastructure added, including parallel-port PnP
- port microsequencer added, for scripting the sort of port I/O
that is common with parallel devices without endless calls up and down
through the driver structure.
- improved bus ownership behaviour among the ppbus-using drivers.
- improved I/O chipset feature detection

The vpo driver is now implemented using the microsequencer, leading to
some performance improvements as well as providing an extensive example
of its use.

Reviewed by: msmith
Submitted by: Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>


# 37785 20-Jul-1998 msmith

Add the 'cs' driver for Crystal Semiconductor CS89x0 devices. This
supports PnP and if_media. I've been running a slightly older version
here for several weeks now.
Submitted by: Maxim Bolotin <max@rsu.ru>


# 37551 11-Jul-1998 julian

Add ipforward option


# 37296 30-Jun-1998 bde

Nuked opt_defunct.h and kern_opt.c. config(8) now generates good enough
warnings about all unknown options.


# 37285 30-Jun-1998 jmg

document options to hardwire GUS irq/dmas...


# 37284 30-Jun-1998 jmg

document PCI_QUIET that prevents pci from compiling in so many strings


# 37282 30-Jun-1998 jmg

document some VM paging options for cache sizes:
PQ_NOOPT no coloring
PQ_LARGECACHE used for 512k/16k cache
PQ_HUGECACHE used for 1024k/16k cache


# 37280 30-Jun-1998 jmg

document and make EXPORTMFS a new style option


# 37272 30-Jun-1998 jmg

convert some nfs tunables to options, these are:
NFS_MINATTRTIMO VREG attrib cache timeout in sec
NFS_MAXATTRTIMO
NFS_MINDIRATTRTIMO VDIR attrib cache timeout in sec
NFS_MAXDIRATTRTIMO
NFS_GATHERDELAY Default write gather delay (msec)
NFS_UIDHASHSIZ Tune the size of nfssvc_sock with this
NFS_WDELAYHASHSIZ and with this
NFS_MUIDHASHSIZ Tune the size of nfsmount with this
NFS_NOSERVER (already documented in LINT)
NFS_DEBUG turn on NFS debugging

also, because NFS_ROOT is used by very different files, it has been
renamed to opt_nfsroot.h instead of the old opt_nfs.h....


# 37144 24-Jun-1998 msmith

Oops, add ppc to the 'tty' imask.


# 37090 21-Jun-1998 bde

Moved P1003 options from the middle of the devices section to the
end of the main options section.

Turned on documented option OVERRIDE_TUNER. LINT is primarily
for turning on options, not for documenting them.

Don't list IPFILTER twice (once as broken).


# 36754 08-Jun-1998 bde

Updated yet another ioctl, and put wst in LINT to inhibit further bitrot.


# 36678 05-Jun-1998 julian

Reverse the default sense of the IPFW/DIVERT reinjection code
so that the new behaviour is now default.
Solves the "infinite loop in diversion" problem when more than one diversion
is active.
Man page changes follow.

The new code is in -stable as the NON default option.


# 36475 30-May-1998 phk

Add minimum driver for XC6200 based cards. Currently it knows about
the HOT1 from www.vcc.com.


# 36273 21-May-1998 wpaul

And entries for ThunderLAN driver.


# 36236 19-May-1998 julian

Change the description of where to get the Soft Updates files.


# 36179 19-May-1998 phk

Make the size of the msgbuf (dmesg) a "normal" option.


# 36093 16-May-1998 des

Spotted a misplaced comma in my previous patch.


# 36092 16-May-1998 des

Typo nits in SUIDDIR comment (removed some parentheses, moved some
commas, replaced "partition" with "filesystem", reformatted the
paragraph)


# 35513 29-Apr-1998 andreas

Fixes incorrect company and product names in uha(4) manpage and
LINT config file. Should be merged to -STABLE as well.
PR: closes 6447
Submitted by: Steven Plite splite@purdue.edu


# 35390 22-Apr-1998 mjacob

Add support for the Qlogic ISP SCSI && FC/AL Adapters


# 35324 20-Apr-1998 julian

Get rid of DEVFS_ROOT
it no longer has any effect.

SLICE is in some ways a replacement but is destined to also go away.


# 35319 19-Apr-1998 julian

Add changes and code to implement a functional DEVFS.
This code will be turned on with the TWO options
DEVFS and SLICE. (see LINT)
Two labels PRE_DEVFS_SLICE and POST_DEVFS_SLICE will deliniate these changes.

/dev will be automatically mounted by init (thanks phk)
on bootup. See /sys/dev/slice/slice.4 for more info.
All code should act the same without these options enabled.

Mike Smith, Poul Henning Kamp, Soeren, and a few dozen others

This code does not support the following:
bad144 handling.
Persistance. (My head is still hurting from the last time we discussed this)
ATAPI flopies are not handled by the SLICE code yet.

When this code is running, all major numbers are arbitrary and COULD
be dynamically assigned. (this is not done, for POLA only)
Minor numbers for disk slices ARE arbitray and dynamically assigned.


# 35259 18-Apr-1998 ahasty

Reviewed by: Amancio
Submitted by: Roger Hardiman <roger@cs.strath.ac.uk>
Roger Hardiman <roger@cs.strath.ac.uk> :
Revised autodetection code to correctly handle both
old and new VideoLogic Captivator PCI cards.
Added tsleep of 2 seconds to initialistion code for PAL users.
Corrected clock selection code on format change.

--- Amancio


# 35111 09-Apr-1998 sos

Add the new LBA mode support in the wd? config examples.


# 34940 29-Mar-1998 helbig

pcics are devices not controllers.


# 34925 28-Mar-1998 dufault

Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B and
_KPOSIX_PRIORITY_SCHEDULING options to work. Changes:

Change all "posix4" to "p1003_1b". Misnamed files are left
as "posix4" until I'm told if I can simply delete them and add
new ones;

Add _POSIX_PRIORITY_SCHEDULING system calls for FreeBSD and Linux;

Add man pages for _POSIX_PRIORITY_SCHEDULING system calls;

Add options to LINT;

Minor fixes to P1003_1B code during testing.


# 34856 24-Mar-1998 yokota

Describe the SC_DISABLE_REBOOT option.


# 34754 21-Mar-1998 peter

Add IPFILTER, IPFILTER_LOG and note IPFILTER_LKM.


# 34737 21-Mar-1998 peter

zap 'vector siintr' from example si0 config


# 34634 16-Mar-1998 eivind

Clear up DPT comment to avoid further confusion. This is a hardware
driver.


# 34573 14-Mar-1998 tegge

Add a BOOTP_WIRED_TO option, for use on machines with multiple network
cards where the first detected card should not be used for bootp.
Submitted by: Doug Ambrisko <ambrisko@whistle.com>


# 34470 10-Mar-1998 eivind

Change PMAP_SHPGPERPROC to not be equal to the default, for the
benefit of bde's "unused include files" script.

Requested by: bde


# 34440 09-Mar-1998 eivind

Turn "PMAP_SHPGPERPROC" into a new-style option, add it to LINT, and
document it there.


# 34266 08-Mar-1998 julian

Reviewed by: dyson@freebsd.org (john Dyson), dg@root.com (david greenman)
Submitted by: Kirk McKusick (mcKusick@mckusick.com)
Obtained from: WHistle development tree


# 33870 27-Feb-1998 itojun

make sys/netkey/key{,_debug}.c compile. I believe it works but not tested.
I'll polish the code later on.


# 33797 24-Feb-1998 phk

Add loran0 to LINT


# 33708 21-Feb-1998 eivind

Make TUNE_1542 a new-style option, and enable this option in LINT. It
has been disabled since 1994 by mistake (or at least I hope so :-)


# 33675 20-Feb-1998 bde

Fixed some stale comments about console drivers.

Uncommented css0. It compiles OK.

Moved trix0 so that it compiles OK when uncommented. Uncommented
it. Drivers with the same interrupt handler must be together in
config files so that config(8)'s simple avoidance of redundant
declarations of interrupt handlers works (config emits a declaration
unless it would duplicate the previous one).

Commented out NO_LKM. Negative options should not be configured
in LINT. There should be no negative options for subsystems.
LKMs should never have been standard or the default.


# 33568 18-Feb-1998 msmith

Remove the 'qcam' driver. Development has ceased, and the driver is
nonfunctional.
Submitted by: pst (conversation some time ago)


# 33445 16-Feb-1998 eivind

Add HW_WDOG to LINT, and turn it into a new-style option.


# 33323 13-Feb-1998 phk

Add a skelleton pulse-per-second timing driver. This will become more
useful when I get my timecounter changes past the Bruce-filter.


# 33258 11-Feb-1998 dima

I'm not sure whether this is a correct way to do it,
but here's a new kernel option - "NO_LKM"

If anyone has better ideas - please let me know.


# 33247 11-Feb-1998 yokota

Remove description on the flags for psm. They are adequately
documented in the man page for psm(4).


# 33243 11-Feb-1998 jkh

Clean up comments describing Luigi's alternate sound driver.


# 33189 09-Feb-1998 kato

NULL and UMAP filesystems also unstable.


# 33106 04-Feb-1998 eivind

Remove old, commented-out option SUIDDIR after Julian added a proper
entry for it.


# 33072 04-Feb-1998 eivind

Change LINT_PCCARD_HACK to COMPILING_LINT, and put it in its own header file
"opt_lint.h". This should prevent the next person needing the same trick
from inventing their own option, too.


# 32945 31-Jan-1998 julian

add the SUIDDIR option and tell people what it is for. (And when NOT to use it)


# 32929 31-Jan-1998 eivind

Make the debug options new-style.

This also zaps a DPT option from lint; it wasn't referenced from
anywhere.


# 32923 31-Jan-1998 eivind

Add various options people have ignored.

Submitted by: bde


# 32889 30-Jan-1998 phk

Retire LFS.

If you want to play with it, you can find the final version of the
code in the repository the tag LFS_RETIREMENT.

If somebody makes LFS work again, adding it back is certainly
desireable, but as it is now nobody seems to care much about it,
and it has suffered considerable bitrot since its somewhat haphazard
integration.

R.I.P


# 32805 26-Jan-1998 julian

Add the DPT driver and options.
GENERIC with dpt may wait a few days if required.


# 32750 25-Jan-1998 eivind

Remove the FDSEEKWAIT option and description.

The functionality was present for two days in october/november 1994
before being backed out; I don't think we can consider it really
critical ;-)


# 32726 24-Jan-1998 eivind

Make all file-system (MFS, FFS, NFS, LFS, DEVFS) related option new-style.

This introduce an xxxFS_BOOT for each of the rootable filesystems.
(Presently not required, but encouraged to allow a smooth move of option *FS
to opt_dontuse.h later.)

LFS is temporarily disabled, and will be re-enabled tomorrow.


# 32680 21-Jan-1998 jkh

Add entries for tx card.


# 32578 16-Jan-1998 pst

Bring in IDE ATAPI floppy support.
This is Junichi's v1.0 driver.

NOTE: Major device numbers have been changed to avoid conflict with other
FreeBSD 3.0 devices. The new numbers should be considered "official."
This driver is still considered "beta" quality, although we have been
playing with it. Please submit bugs to junichi and myself.

Submitted by: junichi@astec.co.jp


# 32511 14-Jan-1998 phk

Add and document PPS_SYNC


# 32143 31-Dec-1997 obrien

Explain that MAXMEM maynot be nessicary for detection of >64MB RAM.


# 32052 28-Dec-1997 phk

wash, sort and put in order various nits from the i586_ctr -> tsc
commit.

Pointed out by: bde


# 32033 27-Dec-1997 jkh

Update comment to match updated sb0 line (conflicts keyword no longer needed
at IRQ 5).


# 32004 26-Dec-1997 phk

ename "i586_ctr" to "tsc" (both upper and lower case instances).
Fix a couple of printfs too.

Warning: This changes the names of a couple of kernel options!


# 31948 23-Dec-1997 yokota

Document `flags' for the psm driver.


# 31682 12-Dec-1997 peter

I've been using these tweaks to enable the sound driver to talk to the
(mutant) Crystal CSS4236 chip on the Intel PR440FX SMP motherboard.

XXX this uses some rather ugly PnP bootstrap code that is *NOT* compatable
with 'controller pnp0' or *ANY* other PnP devices. If you use some other
PnP devices, enabling css0 will burn your house down. :-] The
"simplified" PnP init sequence directly blats your config(8) settings onto
the chip. I'm pretty sure 'css0' will conflict with 'mss0', this whole
area desperately needs a cleanup.

I have been using the following with some success on the PR440FX:
controller snd0
device css0 at isa? port 0x534 irq 5 drq 1 flags 0x08 vector adintr
device opl0 at isa? port 0x388
device mpu0 at isa? port 0x330 irq 10 vector mpuintr


# 31652 09-Dec-1997 jamil

add entry in LINT for alog driver
added line to files.i386 to compile in alog.c optionally as a driver


# 31602 07-Dec-1997 yokota

Removed obsolete options: PSM_CHECKSYNC, PSM_ACCEL and PSM_EMULATION.


# 31543 04-Dec-1997 jmg

document and make the NO_F00F_HACK a proper option...

Forgotten by: sef


# 31415 25-Nov-1997 markm

From the author:

Here are the remanding changes required to support the Ensoniq
Soundscape using FreeBSD 3.0-current.

Notes:

1) ad1848_init already has code to detect if DMA_DUPLEX should
be set so it is not necessary (and is in fact a mistake) to
hard code setting it. Not all soundcards (i.e. the current
sscape driver) are capable of using DMA_DUPLEX.

2) The other changes are hopefully self explanatory. Feel free
to let me know if you need additional information.

Submitted by: john@feith.com (John Wehle)


# 31200 17-Nov-1997 alex

Typo fix.

PR: 5068
Submitted by: Studded@dal.net


# 30941 04-Nov-1997 steve

Note that the Intel EtherExpress' driver is ie(4).


# 30798 28-Oct-1997 joerg

Removed another comment about not-so-mandatory devices i've missed in
the previous commit. It's perfectly legal to build a kernel without
any video device driver (and even without any console driver at all if
desired).


# 30797 28-Oct-1997 joerg

Remove the stale `log' non-pseudodevice.

Found by: the new config(8) ;-)


# 30720 26-Oct-1997 nate

- Do a bunch of gratuitous changes intended to make the code easier to
follow.
* Rename/reorder all of the pccard structures, change many of the member
names to be descriptive, and follow more closely other 'bus' drivers
naming schemes.
* Rename a bunch of parameter and local variable names to be more
consistant in the code.
* Renamed the PCCARD 'crd' device to be the 'card' device
* KNF and make the code consistant where it was obvious.
* ifdef'd out some unused code


# 30543 18-Oct-1997 joerg

Make all the documented (in pcvt(4)) options supported options. While
i was at it, do no longer insist on `PCVT_FREEBSD' being declared in
the config file, but default it to a reasonable value.

More cleanup to follow, but this part is safe for RELENG_2_2, too.


# 30538 18-Oct-1997 peter

Don't doc PPP_BSDCOMP and PPP_DEFLATE twice. slight reorder so that the
options are not in the middle of the pseudo-device list.

Prompted by: bde


# 30528 17-Oct-1997 peter

Doc PPP_* options and add PPP_FILTER


# 30429 15-Oct-1997 msmith

Mention that the Zip driver (vpo) requires SCSI disk support, and works
best with EPP 1.9 mode selected.
Submitted by: Gianmarco Giovannelli <gmarco@giovannelli.it>


# 30162 06-Oct-1997 kato

Added two Cyrix 6x86/6x86MX options.

- CPU_CYRIX_NO_LOCK enables weak locking. If this option is not set and
FAILESAFE is defined, NO_LOCK bit of CCR1 is cleared.
- CPU_WT_ALLOC enables write-through allocation.


# 29741 23-Sep-1997 jkh

Fix merge spam
Spotted by: Alex Nash


# 29737 23-Sep-1997 jkh

Be more explicit about one of IPFIREWALL's features.


# 29636 20-Sep-1997 dyson

Addition of support of the slightly rogue Promise IDE interface(Dyson), support
of multiple PCI IDE controllers(Dyson), and some updates and cleanups from
John Hood, who originally made our IDE DMA stuff work :-).

I have run tests with 7 IDE drives connected to my system, all in DMA
mode, with no errors. Modulo any bugs, this stuff makes IDE look
really good (within it's limitations.)

Submitted by: John Hood <cgull@smoke.marlboro.vt.us>


# 29614 19-Sep-1997 jmg

teach sio how to attach to isa PnP cards. This is mainly for use with
internal modems. Currently detects a USR modem, and a couple Supra
modems... vendor id's for sio capabile cards welcomed...

document new option EXTRA_SIO that will increase sio's internal data
structures to support X more serial ports... these are used by the
PnP part of sio for attaching... If you don't have it specified, it
will default to 2... This is defaulted to 0 if you don't have PnP
compiled into your kernel...

also document that if you set the PnP flags (pnp x flags y) to 0x1 that
the modem will be refused to be recognized by the sio driver... this
is for people that want the traditional isa driver to probe and attach
the modem... (for keeping legacy sio numbering)


# 29494 16-Sep-1997 joerg

Make FDC_DEBUG a supported option.

Hide the bogus FDC ``chip type'' display behind a (mostly) undocumented
option, since people started to trust the bogus claim. Once we're going
to handle 2.88 MB controllers, we have to redo the chip detection, by
now just leave it hidden.


# 29418 14-Sep-1997 jmg

docment the new sound drivers in LINT and add the necessary files to
files.i386.

We aren't sure if this new code and the old sound code will co-exist in a
kernel, so the device pcm0 line is left commented out in LINT.

Submitted-by: Luigi Rizzo


# 29268 10-Sep-1997 peter

Allow a compile-time override of the ipfw deny rule. For a 'firewall'
you don't want this (and the documentation explains why), but if you
use ipfw as an as-needed casual filter as needed which normally runs as
'allow all' then having the kernel and /sbin/ipfw get out of sync is a
*MAJOR* pain in the behind.

PR: 4141
Submitted by: Heikki Suonsivu <hsu@mail.clinet.fi>


# 29242 09-Sep-1997 jmg

add pnp device entries...


# 29122 04-Sep-1997 yokota

Add a new compile option SC_HISTORY_SIZE for syscons.


# 29113 04-Sep-1997 sos

Upgrade of EIDE DMA support, Johns comments:

* lots of fixes to error handling-- mostly works now
* improve DMA timing config for Triton chipsets-- PIIX4 and UDMA drive
still untested
* generally improve DMA config in many ways-- mostly cleanup
* clean up boot-time messages
* rewrite PRD generation algorithm
* first wd timeout is now longer, to handle drive spinup

Submitted by: John Hood <cgull@smoke.marlboro.vt.us>


# 28874 28-Aug-1997 jlemon

Document the VM86 option.
Reminded-by: John-Mark Gurney


# 28867 28-Aug-1997 jkh

Add entries for Comtrol Rocketport serial card.
Submitted by: Amir Farah <amir@comtrol.com>


# 28427 19-Aug-1997 peter

Mention PPP_DEFLATE and PPP_BSDCOMP for kernel ppp.


# 28222 14-Aug-1997 msmith

Add support for the new Parallel-Port Bus and devices thereon.
Submitted by: Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>


# 27840 02-Aug-1997 msmith

Sanitise the Wavelan entries.
Submitted by: bde


# 27815 01-Aug-1997 msmith

New LINT comments and options for the Wavelan (wl) driver.
Submitted by: Jim Binkley <jrb@cs.pdx.edu>


# 27694 25-Jul-1997 fsmp

Removed "options SMP_TIMER_NC".


# 27674 25-Jul-1997 phk

Add option for compiling in a 8x16 font.


# 27532 20-Jul-1997 bde

Disabled option SMP_TIMER_NC. It now conflicts with a default "option".

Moved description of sio 16650A flag to the sio section and rewrote the
description. It was in the generic console flags section.

Added undocumented options CPU_UPGRADE_HW_CACHE and WLDEBUG.


# 27466 17-Jul-1997 dyson

Add some support for the 16650 type UARTS.


# 27279 08-Jul-1997 ache

Remove 'conflicts' keyword from SB family devices, it is not
needed now. Uncomment awe0 device


# 27124 30-Jun-1997 bde

Enabled some SMP options. LINT is for testing that all code compiles
cleanly, so only negative options should be commented out. Options
should have non-default values.


# 27115 30-Jun-1997 yokota

options.i386:
- Added the psm options PSM_HOOKAPM and PSM_RESETAFTERSUSPEND.

LINT:
- Added the psm options PSM_HOOKAPM and PSM_RESETAFTERSUSPEND.
- Added comments on the flag 0x20 for syscons.
- Clarified descriptions on the flags (0x02, 0x04) regarding the cursor
shape in syscons.


# 26985 27-Jun-1997 kato

Added CPU_DIRECT_MAPPED_CACHE option which sets L1 cache in direct
mapped mode on Cyrix 486DLC box.


# 26812 22-Jun-1997 peter

Preliminary support for per-cpu data pages.

This eliminates a lot of #ifdef SMP type code. Things like _curproc reside
in a data page that is unique on each cpu, eliminating the expensive macros
like: #define curproc (SMPcurproc[cpunumber()])

There are some unresolved bootstrap and address space sharing issues at
present, but Steve is waiting on this for other work. There is still some
strictly temporary code present that isn't exactly pretty.

This is part of a larger change that has run into some bumps, this part is
standalone so it should be safe. The temporary code goes away when the
full idle cpu support is finished.

Reviewed by: fsmp, dyson


# 26700 17-Jun-1997 kjc

correct the wrong ATM option name for native atm access
NETNATM --> NATM

reported by Bruce Evans.

Bruce also pointed out that NATM is confusing since config(8) defines
NATM as the number of atm pseudo device in "BUILD_DIR/atm.h".
We might change the name in the future but leave it as it is for now.


# 26475 06-Jun-1997 jkh

YAMF22 - XSERVER comment changes.


# 26447 04-Jun-1997 pst

Document a non-standard gdbremote protocol extension (kludge, really)
that I snuck in to our GDB last year. This allows you to debug headless
machines by sharing the console port between the debugger and the system
console. It's not 100% reliabile, but it works well. It's optional
and disabled by default.
Submitted by: Juniper Networks


# 26446 04-Jun-1997 pst

Bring back CONSPEED as a last-ditch default if you can't change the speed
any other way.

Requested by: dfr


# 26433 04-Jun-1997 pst

CONSPEED is defunct.


# 26115 25-May-1997 peter

uncomment wl again now that it compiles...


# 26095 24-May-1997 peter

The wavelan driver doesn't even compile!


# 26002 22-May-1997 msmith

Add the 'wl' ISA Wavelan driver.
Obtained from: Jim Binkley <jrb@cs.pdx.edu>


# 25723 11-May-1997 tegge

Bring in some kernel bootp support. This removes the need for netboot
to fill in the nfs_diskless structure, at the cost of some kernel
bloat. The advantage is that this code works on a wider range of
network adapters than netboot. Several new kernel options are
documented in LINT.
Obtained from: parts of the code comes from NetBSD.


# 25668 10-May-1997 fsmp

Documented SMP_AUTOSTART to be working.


# 25655 10-May-1997 jhay

Remove IPXPRINTFS, it is now a sysctl knob.


# 25651 10-May-1997 jmg

forgot to add the "longer" description of bktr and add an example device
line.


# 25650 10-May-1997 jmg

add a line for bktr (Bt848 base capture cards) to LINT.


# 25609 09-May-1997 kjc

merge ATM driver


# 25512 06-May-1997 fsmp

A *little* more descriptive test for options.


# 25460 04-May-1997 joerg

This mega-commit brings the following:

. It makes cd9660 root f/s working again.
. It makes CD9660 a new-style option.
. It adds support to mount an ISO9660 multi-session CD-ROM as the root
filesystem (the last session actually, but that's what is expected
behaviour).

Sigh. The CDIOREADTOCENTRYS did a copyout() of its own, and thus has
been unusable for me for this work. Too bad it didn't simply stuff
the max 100 entries into the struct ioc_read_toc_entry, but relied on
a user supplied data buffer instead. :-( I now had to reinvent the
wheel, and created a CDIOREADTOCENTRY ioctl command that can be used
in a kernel context.

While doing this, i noticed the following bogosities in existing CD-ROM
drivers:

wcd: This driver is likely to be totally bogus when someone tries
two succeeding CDIOREADTOCENTRYS (or now CDIOREADTOCENTRY)
commands with requesting MSF format, since it apparently
operates on an internal table.

scd: This driver apparently returns just a single TOC entry only for
the CDIOREADTOCENTRYS command.

I have only been able to test the CDIOREADTOCENTRY command with the
cd(4) driver. I hereby request the respective maintainers of the
other CD-ROM drivers to verify my code for their driver. When it
comes to merging this CD-ROM multisession stuff into RELENG_2_2 i will
only consider drivers where i've got a confirmation that it actually
works.


# 25214 27-Apr-1997 fsmp

remove the SMP_INVLTLB option, making the code default for APIC_IO.

Reviewed by: informal discussion with Peter Wemm <peter@spinner.DIALix.COM>


# 25164 26-Apr-1997 peter

Man the liferafts! Here comes the long awaited SMP -> -current merge!

There are various options documented in i386/conf/LINT, there is more to
come over the next few days.

The kernel should run pretty much "as before" without the options to
activate SMP mode.

There are a handful of known "loose ends" that need to be fixed, but
have been put off since the SMP kernel is in a moderately good condition
at the moment.

This commit is the result of the tinkering and testing over the last 14
months by many people. A special thanks to Steve Passe for implementing
the APIC code!


# 24908 13-Apr-1997 gibbs

GENERIC, LINT:
Add an ie entry that corresponds to the location the old ix entry used
to probe and kill the ix entry.

files.i386:
Remove entries for the ix driver.


# 24685 06-Apr-1997 bde

Documented new serial console flags.

Removed dead serial console options.

Reorganised sio and serial console options.

Added undocumented options CLUSTERDEBUG and NPX_DEBUG.


# 24372 29-Mar-1997 phk

Sanitize APM a bit. Convert various #ifdef to id_flags instead.
You may want to add "flags 0x31" to apm0 if you have a lousy
implementation. Read LINT.


# 24300 26-Mar-1997 ache

Add "conflicts" to sbmidi0 since configured irq passed back to isa
and conflict with sb0 irq.

NOTE: existen configurations require "conflicts" adding to sbmidi0 now


# 24298 26-Mar-1997 ache

Add "conflicts" to sbxvi0 since all information now passed to isa
and conflict with sb0 happens.

NOTE: it affects existen configurations, add "conflicts" to sbxvi0 line
if you see probe error


# 24292 26-Mar-1997 ache

Don't trick with opl0 address since we have conflicts keyword


# 24239 25-Mar-1997 ache

Use port? for sbxvi0 since it is autoconfigured from sb0
Change sb0 irq from 7 to 5 since 5 is Creative default now.


# 24138 23-Mar-1997 kato

Created new section `CPU OPTIONS'. CPU classes and math emulator are
moved to there. Options for CPU feature is also described there.


# 24069 20-Mar-1997 mpp

Typo police.


# 24019 19-Mar-1997 obrien

typo (nthe --> the)


# 23861 13-Mar-1997 bde

Updated comment about npx0.

Added obsolete option GATEWAY so that kern_opt.c gets tested.

Added undocumented options LOCKF_DEBUG and SIMPLELOCK_DEBUG so
that these options get tested. The addition of LOCKF_DEBUG shows
that all of kern/kern_lockf.c shouldn't have been moved from ufs.
The debugging parts are very fs-dependent.


# 23815 12-Mar-1997 se

Add option CMD640 which is required to use both channels of that
EIDE chip


# 23801 12-Mar-1997 joerg

Since i don't see that anybody is implementing a more correct EISA
probing anytime soon, make EISA_SLOTS a fully supported option. It's
required for the HP NetServer LC series machines.

Next stop: make dset(8) aware of it as well.


# 22975 22-Feb-1997 peter

Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not
ready for it yet.


# 22583 12-Feb-1997 bde

Use a valid value for MSGSSZ
Don't specify PSM_CHECKSYNC twice.

Submitted by: MSGSSZ by mi@aldan.ziplink.net


# 22184 01-Feb-1997 joerg

Correct the usage of fea0. It's an EISA driver now, so the ISA usage
is bogus.

Also, correct a stale comment about non-existing EISA support.


# 22126 30-Jan-1997 yokota

Removed reference to PSM_NO_RESET which is no longer available.


# 22038 27-Jan-1997 bde

Removed bogus options CHILD_MAX and OPEN_MAX.


# 22035 27-Jan-1997 bde

Added lots of undocumented options KBD*, MSG*, NBUF, NMBCLUSTERS, PSM*,
SEM* and SHM*. These are already supported in the options files. I
mostly used the default value plus 1. This ensures that the LINT kernel
depends on the options headers.


# 21801 17-Jan-1997 jkh

Adjust ex0 entries properly after talking with Javier.


# 21770 16-Jan-1997 bde

Removed option EXTRAVNODES. All versions of FreeBSD-2.x have a sysctl
variable `kern.maxvnodes' which gives much better control over vnode
allocation than EXTRAVNODES (except in -current between 1995/10/28 and
1996/11/12, kern.maxvnodes was read-only and thus useless).


# 21769 16-Jan-1997 jkh

Add the ex driver (Intel EtherExpress Pro/10).

I have no idea if this works since I don't have one of the cards to test.
I also don't know what the LINT and GENERIC entries should look like,
so I just made up some values for now and left them commented out.
Someone who knows the factory settings for a Pro/10, please contact me!

Submitted-By: Javier Martín Rueda <jmrueda@diatel.upm.es>


# 21758 16-Jan-1997 jkh

Document INCLUDE_CONFIG_FILE.


# 21673 14-Jan-1997 jkh

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


# 21644 13-Jan-1997 nate

Added options 'LINT_PCCARD_HACK' which (will very soon) allow LINT to
compile again. The code to protect users from combining the dedicated
PCCARD drivers and the generic code is a warning if the above option
is included in the config file.

Demanded by: bde


# 20873 23-Dec-1996 bde

Added undocumented SCSI_DELAY and SCSI_NCR_* options. SCSI_DELAY gets
tested a lot in GENERIC, but the others weren't in any config file and
some of them were broken.


# 20864 23-Dec-1996 bde

Fixed quoting of MAXDSIZ and DFLTDSIZ. The quoting rules changed when
they were put in an options header.

Should be in 2.2.


# 20815 22-Dec-1996 dyson

Document MAXDSIZ and DFLDSIZ. This is a 2.2 candidate change.


# 20789 22-Dec-1996 phk

Add & Document MD5 option.


# 20631 18-Dec-1996 se

Add Tekram DC390/390T driver "amd0", which is expected to work with
generic AMD 53c974 PCI SCSI controllers as well.


# 20011 29-Nov-1996 dyson

Clarified the comment about removing other CPU defs. Specifically,
I added the suggestion to remove the I386_CPU def if possible.


# 19990 27-Nov-1996 ache

Remove warning at AHC_SCBPAGING_ENABLE, not needed now


# 19804 15-Nov-1996 gibbs

Since there have been so many reports of the Memory Mapped I/O to the
aic7xxx cards failing on certain motherboards, reverse the logic used to
control this feature. AHC_FORCE_PIO is replaced with AHC_ALLOW_MEMIO.
GENERIC no longer needs to specify the AHC_FORCE_PIO option since this is
the default.


# 19791 15-Nov-1996 jkh

This is the new AWE32 driver, with support for the AWE32's fancy MIDI
synthesizer. The utilities for this will appear as port submissions soon
afterwards, according to the submitter.

Submitted-By: Randall Hopper <rhh@ct.picker.com>
Written-By: Takashi Iwai <iwai@dragon.mm.t.u-tokyo.ac.jp>


# 19724 13-Nov-1996 ache

Change WARNING line about SCB paging to:
# WARNING: with AHC_TAGENABLE set can be dangerous on Adaptec 2842


# 19662 12-Nov-1996 ache

Near AHC_SCBPAGING_ENABLE add following comment
# WARNING: can effectively kill your disks with some controllers
(I am the victim of -current kernel, inodes wiped completely)


# 19655 11-Nov-1996 nate

Removed 'XT_KEYBOARD' option from syscons. Document new-style way of
getting the same behavior using the flags, which can be done inside of
UserConfig. (Also document other syscons flags which were previously
undocumented).

Requested by: bde


# 19653 11-Nov-1996 bde

Replaced I586_OPTIMIZED_BCOPY and I586_OPTIMIZED_BZERO with boot-time
negative-logic flags (flags 0x01 and 0x02 for npx0, defaulting to unset = on).
This changes the default from off to on. The options have been in current
for several months with no problems reported.

Added a boot-time negative-logic flag for the old I5886_FAST_BCOPY option
which went away too soon (flag 0x04 for npx0, defaulting to unset = on).

Added a boot-time way to set the memory size (iosiz in config, iosize in
userconfig for npx0).

LINT:
Removed old options. Documented npx0's flags and iosiz.

options.i386:
Removed old options.

identcpu.c:
Don't set the function pointers here. Setting them has to be delayed
until after userconfig has had a chance to disable them and until after
a good npx0 has been detected.

machdep.c:
Use npx0's iosize instead of MAXMEM if it is nonzero.

support.s:
Added vectors and glue code for copyin() and copyout().
Fixed ifdefs for i586_bzero().
Added ifdefs for i586_bcopy().

npx.c:
Set the function pointers here.
Clear hw_float when an npx exists but is too broken to use.
Restored style from a year or three ago in npxattach().


# 19624 11-Nov-1996 gibbs

Add the AHC_FORCE_PIO option.
Update comment on AHC_SCBPAGING_ENABLE since I think it works now.


# 19523 08-Nov-1996 asami

Remove option I586_FAST_BCOPY. The code will be included by default
if I586_CPU is defined. Note there is a runtime check so the code
won't be run for non-Pentium CPUs anyway.

2.2 candidate, this code has been tested for almost half year in -current.


# 19460 06-Nov-1996 bde

Rewrote the COMMENT about the bogus options CHILD_MAX and OPEN_MAX. These
will be renamed.

Fixed comments about unsupported network protocols.

ncr0 is a controller, not a device. This make no difference.

Added undocumented options DEVFS_ROOT, I586_CTR_GUPROF and I586_PMC_GUPROF.
Sorted undocumented options.


# 19123 23-Oct-1996 pst

Remove SC_KBD_PROBE_WORKS option and replace it with a simple run-time flag
bit (0x0008) in the sc driver configuration line. This way it's easy to
boink a generic kernel.

Also, document and place in an opt_ file the #define's for overriding which
serial port is the system console.
Approved by: sos


# 19064 20-Oct-1996 phk

Removing old isdn stuff.


# 19009 18-Oct-1996 jkh

Add back line for options NS, though commented out for now until
Tony tells me what to do with the ns_nettype extern which is still
unresolved for this optioin.


# 18840 09-Oct-1996 bde

Added new documented options I586_OPTIMIZED_BCOPY and I586_OPTIMIZED_BZERO.

Added old misnamed option I586_FAST_BCOPY in options.i386.

Added old undocumented CLK* and SI_DEBUG options in LINT.


# 18703 05-Oct-1996 jkh

Document USERCONFIG_BOOT, even though it doesn't belong where it is. ;-)


# 18605 01-Oct-1996 pst

Document the Adaptec driver options for tagged command queueing and SCB
paging (with a warning not to use SCB paging) and create an opt_aic7xxx.h
file for these options.


# 18380 19-Sep-1996 phk

Add APM_IDLE_CPU option, that is off by default.
I maintain that it saves more power to simply "hlt" the CPU than to
spend tons of time trying to tell the APM bios to do the same.
In particular if you do it 100 times a second...


# 18272 13-Sep-1996 bde

Added undocumented option SPX_HACK.


# 18252 11-Sep-1996 phk

Make userconfig two (default: on) options:
USERCONFIG to enable
VISUAL_USERCONFIG to get the gui stuff too.
Requested by: pst


# 18230 10-Sep-1996 bde

Fixed spelling of new SC_KBD_PROBE_WORKS option in options.i386.
It worked because it is spelled correctly in LINT.

Added old obscure syscons options MAXCONS, SLOW_VGA and XT_KEYBOARD.
This file should be sorted both alphabetically and on the module
name by using a consistent prefix for each module, but there is no
consistency in the old options. E.g., MAXCONS is spelled PCVT_NSCREENS
for pcvt.


# 18088 06-Sep-1996 pst

Add option SC_KBD_PROBE_WORKS to syscons driver.

If you define this, it means your keyboard is actually probable using the
brain-dammaged probe routine in syscons, and if the keyboard is NOT found,
then you don't want syscons to activate itself further.

This makes life sane for those of us who use serial consoles most of the
time and want "the right thing" to happen when we plug a keyboard in.


# 17607 15-Aug-1996 asami

Add comment about fxp device (Intel EE Pro/100B).


# 17072 10-Jul-1996 julian

Adding changes to ipfw and the kernel to support ip packet diversion..
This stuff should not be too destructive if the IPDIVERT is not compiled in..
be aware that this changes the size of the ip_fw struct
so ipfw needs to be recompiled to use it.. more changes coming to clean this up.


# 16981 05-Jul-1996 jhay

This driver supports the SDL Communications RISCom/N2 ISA cards that is
based on the HD64570 chip. Both the 1 and 2 port cards is supported.

Line speeds of up to 2Mbps is possible. At this speed about 95% of the
bandwidth is usable with 486DX processors.

The standard FreeBSD sppp code is used for the link level layer. The
default protocol used is PPP. The Cisco HDLC protocol can be used by
adding "link2" to the ifconfig line in /etc/sysconfig or where ever
ifconfig is run.

At the moment only the X.21 interface is tested. The others may need
tweaks to the clock selection code.


# 16779 26-Jun-1996 gpalmer

Correct comment relating to pty's. There can be 256 (probably
higher actually, but that's all our MAKEDEV supports at this time)


# 16639 23-Jun-1996 ache

Oops, forget the fact that LINT compiles (fixing previos PAS commi)


# 16638 23-Jun-1996 ache

Describe the way how to add OPL for PAS without conflict


# 16614 23-Jun-1996 bde

Describe MAXMEM better. Enable it by default. (It's a positive option.
Only negative options in LINT should be enabled.)


# 16511 19-Jun-1996 nate

Macro expressions should be fully parenthesized! Fix the MAXMEM
definition although it would work as it was written.

options "MAXMEM=(128*1024)"

Suggested by: bde


# 16489 18-Jun-1996 nate

Document MAXMEM option.

[ Closes PR#1334, slightly modified by me ]

Submitted by: James Raynard <james@jraynard.demon.co.uk>


# 16479 18-Jun-1996 julian

As we have appletalk protocol support we might as well show
how to get it..


# 16407 16-Jun-1996 joerg

Explain the options for the `od' driver.


# 16358 14-Jun-1996 asami

Document LINT.

Reminded by: jkh, j, bde


# 16276 10-Jun-1996 peter

*blush* I used EXTRAVNODES everywhere else, but put EXTRA_VNODES in the
example here.. :-(


# 16271 09-Jun-1996 alex

Clarify the meaning of IPFIREWALL_VERBOSE. Add IPFIREWALL_VERBOSE_LIMIT.


# 16171 07-Jun-1996 ache

Describe ATAPI_STATIC (it seems lkm variant never work)


# 16025 30-May-1996 peter

Add an option "EXTRA_VNODES" to cause an extra number of vnode structures
to be allocated at boot time. This is an expensive option, as they
consume physical ram and are not pageable etc. In certain situations,
this kind of option is quite useful, especially for news servers that
access a large number of directories at random and torture the name cache.
Defining 5000 or 10000 extra vnodes should cut down the amount of vnode
recycling somewhat, which should allow better name and directory caching
etc.

This is a "your mileage may vary" option, with no real indication of
what works best for your machine except trial and error. Too many will
cost you ram that you could otherwise use for disk buffers etc.

This is based on something John Dyson mentioned to me a while ago.


# 15802 17-May-1996 jkh

A patch for the meteor device driver. It fixes:
1) A spelling error pointed out by Paco Hope.
2) A bug in the range checking routing pointed out by Jim Bray.
3) Enables the setting of frames per second.
Submitted-By: Jim Lowe <james@miller.cs.uwm.edu>


# 15760 13-May-1996 nate

Whoops, don't add something that already exists. Removed redundant
entries but better document the existing PCCARD stuff.


# 15759 13-May-1996 nate

Added commented out PCCARD entries to GENERIC, also document and add
entries in LINT.


# 15708 10-May-1996 peter

Oops, I missed these when I imported the Stallion drivers.

Add samples and some info to LINT (and a pointer to the real docs)


# 15572 03-May-1996 asami

Add ccd to list of devices. Also add a sample entry in LINT.


# 15537 02-May-1996 phk

Rename the very bogus indeed option "LINUX" to "COMPAT_LINUX".
I can only presume that the brain behind this have never seen code
that says "#ifdef LINUX" :-(


# 15505 01-May-1996 bde

Oops, restored existent option LINUX. It is used at config-time.


# 15498 01-May-1996 bde

Removed nonexistent option "LINUX" (what's that :-).


# 15390 26-Apr-1996 sos

Removed options MAXCONS & HARDFONT, they are no longer in use
(and havn't been for long, sigh)


# 15345 22-Apr-1996 nate

- add apm to the GENERIC kernel (disabled by default), and add some comments
regarding apm to LINT
- Disabled the statistics clock on machines which have an APM BIOS and
have the options "APM_BROKEN_STATCLOCK" enabled (which is default
in GENERIC now)
- move around some of the code in clock.c dealing with the rtc to make
it more obvios the effects of disabling the statistics clock

Reviewed by: bde


# 15182 11-Apr-1996 scrappy

mentioned support for enabling gameport on ProAudio Spectrum with
appropriately commented out "options" line for PAS_JOYSTICK_ENABLE
(PR#i386/960 - partial closer)


# 15010 02-Apr-1996 gpalmer

Add NULLFS_DIAGNOSTIC, KERNFS_DIAGNOSTIC, UMAPFS_DIAGNOSTIC, UNION_DIAGNOSTIC
and SAFETY. Currently all commented out until I can verify that they don't
cause LINT to fail to compile.


# 15005 02-Apr-1996 wollman

Document PERFMON.
Delete obsolete PROBE_VERBOSE.


# 14945 31-Mar-1996 bde

Removed dead option DUMMY_NOPS.
Restored undead option AUTO_EOI_1.
Added undocumented option PERFMON.


# 14646 17-Mar-1996 jkh

Add fe0 to the LINT and GENERIC files (hmmm - looks like my rcvs setup't
isn't supplying all the proper header info here! Last commit of fe0
entry should have had the following Submitted by line also).
Submitted-by: Masahiro SEKIGUCHI <seki@sysrap.cs.fujitsu.co.jp>


# 14577 12-Mar-1996 nate

Removed undocumented an unused APM_SLOWSTART code.


# 14550 11-Mar-1996 jkh

Add FAILSAFE option for selecting extra conservativeness when such
is more practical (like during installation). Correspondingly, set the
option by default in GENERIC now.


# 14331 02-Mar-1996 peter

Mega-commit for Linux emulator update.. This has been stress tested under
netscape-2.0 for Linux running all the Java stuff. The scrollbars are now
working, at least on my machine. (whew! :-)

I'm uncomfortable with the size of this commit, but it's too
inter-dependant to easily seperate out.

The main changes:

COMPAT_LINUX is *GONE*. Most of the code has been moved out of the i386
machine dependent section into the linux emulator itself. The int 0x80
syscall code was almost identical to the lcall 7,0 code and a minor tweak
allows them to both be used with the same C code. All kernels can now
just modload the lkm and it'll DTRT without having to rebuild the kernel
first. Like IBCS2, you can statically compile it in with "options LINUX".

A pile of new syscalls implemented, including getdents(), llseek(),
readv(), writev(), msync(), personality(). The Linux-ELF libraries want
to use some of these.

linux_select() now obeys Linux semantics, ie: returns the time remaining
of the timeout value rather than leaving it the original value.

Quite a few bugs removed, including incorrect arguments being used in
syscalls.. eg: mixups between passing the sigset as an int, vs passing
it as a pointer and doing a copyin(), missing return values, unhandled
cases, SIOC* ioctls, etc.

The build for the code has changed. i386/conf/files now knows how
to build linux_genassym and generate linux_assym.h on the fly.

Supporting changes elsewhere in the kernel:

The user-mode signal trampoline has moved from the U area to immediately
below the top of the stack (below PS_STRINGS). This allows the different
binary emulations to have their own signal trampoline code (which gets rid
of the hardwired syscall 103 (sigreturn on BSD, syslog on Linux)) and so
that the emulator can provide the exact "struct sigcontext *" argument to
the program's signal handlers.

The sigstack's "ss_flags" now uses SS_DISABLE and SS_ONSTACK flags, which
have the same values as the re-used SA_DISABLE and SA_ONSTACK which are
intended for sigaction only. This enables the support of a SA_RESETHAND
flag to sigaction to implement the gross SYSV and Linux SA_ONESHOT signal
semantics where the signal handler is reset when it's triggered.

makesyscalls.sh no longer appends the struct sysentvec on the end of the
generated init_sysent.c code. It's a lot saner to have it in a seperate
file rather than trying to update the structure inside the awk script. :-)

At exec time, the dozen bytes or so of signal trampoline code are copied
to the top of the user's stack, rather than obtaining the trampoline code
the old way by getting a clone of the parent's user area. This allows
Linux and native binaries to freely exec each other without getting
trampolines mixed up.


# 14300 28-Feb-1996 gpalmer

Add a new option: DDB_UNATTENDED. Stops machine dropping into DDB
when it panics, but leaving activation of DDB from the console
unaffected.


# 14209 23-Feb-1996 phk

Big sweep over the IPFIREWALL and IPACCT code.

Close the ip-fragment hole.
Waste less memory.
Rewrite to contemporary more readable style.
Kill separate IPACCT facility, use "accept" rules in IPFIREWALL.
Filter incoming >and< outgoing packets.
Replace "policy" by sticky "deny all" rule.
Rules have numbers used for ordering and deletion.
Remove "rerorder" code entirely.
Count packet & bytecount matches for rules.

Code in -current & -stable is now the same.


# 14093 13-Feb-1996 wollman

Kill XNS.
While we're at it, fix socreate() to take a process argument. (This
was supposed to get committed days ago...)


# 13942 06-Feb-1996 wollman

Comment out ISO, CCITT, LLC, and HDLC with a note to the effect
that we no longer ship source for these protocols.


# 13879 03-Feb-1996 phk

Make the sorting of IPFW rules an option. You don't want it to sort them.
>>>WARNING<<< you may have to revisit your firewall setup.


# 13848 02-Feb-1996 pst

Add in hooks for quickcam driver


# 13765 30-Jan-1996 mpp

Fix a bunch of spelling errors in the comment fields of
a bunch of system include files.


# 13417 13-Jan-1996 phk

Document NFS_NOSERVER.


# 13368 09-Jan-1996 ats

Add the 3C595 as a supported device for vx0. Delete the rest of the line
for the vx0 device, it is not needed as for all other pci devices.


# 13266 05-Jan-1996 wollman

Finally demolished the last, tottering remnants of GATEWAY. If you want
to enable IP forwarding, use sysctl(8). Also did the same for IPX,
which involved inventing a completely new MIB from whole cloth (which
I may not quite have correct); be aware of this if you use IPX forwarding.
(The two should never have been controlled by the same option anyway.)


# 13104 29-Dec-1995 bde

Added support for the Hayes ESP serial card.

Submitted by: Sean Eric Fagan (sef@kithrup.com)
Based on code by John Vinopal (banshee@resort.com)
Cosmetic (I hope) changes by me (bde).


# 13095 29-Dec-1995 jkh

Make a couple of options that hurt when they're removed more
carefully noted.


# 13032 26-Dec-1995 bde

Removed nonexistent option AUTO_EOI_1.


# 13013 25-Dec-1995 bde

Fixed staticizing. Some functions aren't static but depend on
the undocumented previously unLINTed option `APM_SLOWSTART'.


# 13002 24-Dec-1995 dg

Added device fxp0 (device driver for Intel EtherExpress Pro/100).


# 13001 24-Dec-1995 dg

Added I686_CPU.


# 12979 22-Dec-1995 bde

Added undocumented option DEBUG so that debugging code gets maintained
or deleted.

Motivated by: `int doclusteread = 1;' in ext2_vnops.c redefined
doclusterread if DEBUG is defined, so it could not have worked.
This was fixed by staticizing things before it caused problems.
I didn't find any more cases like this.


# 12895 16-Dec-1995 bde

Fixed comment about IPFIREWALL_VERBOSE.

Added undocumented option SCSI_2_DEF.


# 12882 16-Dec-1995 bde

Added undocumented option LINUX so that it gets tested.


# 12827 14-Dec-1995 peter

GENERIC/LINT: Remove redundant quoting on some option lines.
LINT: add a couple of new/missing/undocumented options
files.i386: add linux code so that you can compile a kernel with static
linux emulation ("options LINUX")
i386/*: use #if defined(COMPAT_LINUX) || defined(LINUX) to enable static
support of linux emulation (just like "IBCS2" makes ibcs2 static)

The main thing this is going to make obvious, is that the LINUX code
(when compiled from LINT) has a lot of warnings, some of which dont look
too pleasant..


# 12789 12-Dec-1995 gibbs

Have bt0 entry specify "bt_isa_intr" for its vector. This one entry will
allow one EISA/ISA/PCI/VL Buslogic controller to be probed. The driver
is almost fully dynamic. It just needs some kdc work and for the SCSI code
to stop passing unit numbers up in the scsi_xfer struct.


# 12748 10-Dec-1995 bde

Added undocumented option EXT2FS so that it gets tested.

Enabled option GPL_MATH_EMULATE so it gets tested. This will cause linkage
errors.

Fixed comment about PCVT_VERSION=210.


# 12718 10-Dec-1995 julian

Add DEVFS to LINT


# 12694 09-Dec-1995 phk

Remove option ARP_PROXYALL, it's now a sysctl var.


# 12535 29-Nov-1995 nate

GENERIC - Add a commented out line for adding support for IBM ThinkPad
keyboards

LINT - Add SCANSET=2 support to the LINT kernel and comments reflecting it's
purpose.


# 12534 29-Nov-1995 nate

Add some comments above the npx0 device to make it even more obvious
that it is a mandatory device.


# 12511 28-Nov-1995 jkh

A batch of Jim Lowe's patches:
o Add signed/unsigned functionality to the matrox meteor device driver.
o Apply a few fixes to the sound driver.
o Add a ``SPIGOT_UNSECURE'' compile time definition so, if one defines
SPIGOT_UNSECURE in their conf file, then they can use the spigot w/o
root. There is a warning that this allows users access to the IO
page which is probably not secure.
Submitted by: james


# 12440 21-Nov-1995 peter

Add and document the hooks for John Hay's Arnet sync driver...


# 12176 09-Nov-1995 gibbs

Change ahb device line to eisaconf syntax.


# 12104 05-Nov-1995 gibbs

Add eisa0 and remove ISA configuration line for ahc0.


# 11991 31-Oct-1995 julian

Submitted by: Mike Mitchell (mitchell@ref.tfs.com)

these patches bring the ipx code up to the point that it compiles cleanly with
the -W arguments suggested by bruce.


# 11960 31-Oct-1995 phk

Get pccard stuff into LINT.
rename i386/isa/pcic.c to .../pcicx.c
this file will go away when the if_ze and if_zp dies.


# 11955 31-Oct-1995 joerg

Include the "od" driver.


# 11949 31-Oct-1995 julian

Reviewed by: not yet
Submitted by: fgray@rice.edu
this driver hasn't been checked but as a separate module, bringing it in won't
break anything else and it't the best way of testing it......

julian


# 11819 26-Oct-1995 julian

Reviewed by: julian and jhay@mikom.csir.co.za
Submitted by: Mike Mitchell, supervisor@alb.asctmd.com

This is a bulk mport of Mike's IPX/SPX protocol stacks and all the
related gunf that goes with it..
it is not guaranteed to work 100% correctly at this time
but as we had several people trying to work on it
I figured it would be better to get it checked in so
they could all get teh same thing to work on..

Mikes been using it for a year or so
but on 2.0

more changes and stuff will be merged in from other developers now that this is in.

Mike Mitchell, Network Engineer
AMTECH Systems Corporation, Technology and Manufacturing
8600 Jefferson Street, Albuquerque, New Mexico 87113 (505) 856-8000
supervisor@alb.asctmd.com


# 11783 25-Oct-1995 jkh

Stable matcd port to 0x230, as per request by Bruce and Frank.
Submitted by: Frank Durda IV <uhclem@fw.ast.com>


# 11389 10-Oct-1995 bde

Update comment and config for cy driver.

Extend test coverage:
Add and enable undocumented options TCPDEBUG, COMPAT_LINUX and IBCS2.
Add but disable (broken) pseudo device tb.
Add and enable pseudo devices su, ssc.
Add but disable (broken) devices sscape0, trix0.
Add and enable device bqu0.


# 11139 02-Oct-1995 jkh

Whoops, I misunderstood this. IRQ *12* is a better GUS default.


# 11033 27-Sep-1995 ache

Back out MTUDISC description per Garrett request, yet not ready


# 11032 27-Sep-1995 ache

Document MTUDISC


# 10972 23-Sep-1995 peter

Tone down the doom-and-gloom prediction if one enables the si driver..


# 10617 08-Sep-1995 julian

Submitted by: Luigi Rizzo (luigi@iet.unipi.it)
Obtained from: Luigi Rizzo and Gunther Schadow
config support for the asc driver and an example in LINT


# 10540 03-Sep-1995 jkh

Bring the Digiboard driver (ALPHA version) into -current. Includes
latest patches for PC/Xe boards.
Submitted by: "Serge A. Babkin" <babkin@hq.icb.chel.su>


# 10518 01-Sep-1995 jkh

Something got spammed in my 2.2 work tree (don't know how :( ) and
had a 2.1 tag, thus sending these two changes into the 2.1 branch instead
of -current. Argh. I may bring these changes into the 2.1 anyway (they're
benign there) so I'm not going to admin them out of 2.1 for the time
being.


# 10391 28-Aug-1995 jkh

Kernel components of Matrox Meteor driver.
Submitted by: Mark Tinguely <tinguely@plains.nodak.edu> and Jim Lowe <james>


# 10353 27-Aug-1995 joerg

Add a comment that a user with many open windows under X might need to
bump CHILD_MAX.

Closes PR # conf/708: CHILD_MAX set rather low...

Submitted by: careilly@monoid.cs.tcd.ie


# 10131 20-Aug-1995 ats

Correct a pathname. The isdn tells to look for a
/usr/src/gnu/usr.sbin/docs/INSTALL but this files resides in
/usr/src/gnu/usr.sbin/isdn/docs/INSTALL.


# 10097 18-Aug-1995 jkh

Bring in Serge Vakulenko's IDE CDROM (ATAPI) driver. A number of
people have now indicated to me that it's working more than well
enough to bring into -current.
Submitted by: Serge Vakulenko <vak@cronyx.ru>


# 10033 12-Aug-1995 ats

Correct a little typo in LINT. trouble is -> trouble if.


# 10030 11-Aug-1995 joerg

Document two specials of the `lpt' driver: the port address can be
specified as `?', and the irq and vector clauses may be omitted,
forcing the port into polled mode.


# 10013 09-Aug-1995 peter

Add Specialix driver to LINT
Reviewed by:
Submitted by:
Obtained from:


# 9835 01-Aug-1995 jkh

Sync to reality for the Gravis Ultrasound MAX card.


# 9569 17-Jul-1995 gibbs

Add examples for wiring down scbuses to drivers as well as specifying
controller buses for multi-bus controllers.


# 9545 16-Jul-1995 joerg

Include ``options POWERFAIL_NMI'' for owners of older (non-apm)
notebooks where a powerfail condition (external power drop; battery
state low) is signalled by an NMI. Makes it beep instead of panicing.

Reviewed by: davidg


# 9534 16-Jul-1995 bde

Add tw.


# 9482 11-Jul-1995 bde

Enable pcvt in LINT and don't generate a compile time error if syscons
and pcvt are both configured when LINT is defined. There will be a
link time error instead. This is to test building of pcvt more often.


# 9282 22-Jun-1995 dfr

Add an option to the psm driver to skip the parts of the probe which break
some laptops with PS/2 mice.

Submitted by: nsayer@quack.kfu.com


# 8813 28-May-1995 rgrimes

Submitted by: dufault

LINT talks about about 2.1. I changed that to 2.0.5,
and clarified why certain devices need "at scbus?".

There is still a crazy "PCVT=210" which shouldn't be there,
but corrected comment as it is needed for 2.0.5.


# 8787 27-May-1995 dg

Update swap and dump stuff to match reality:
- option DODUMP no longer exists (remove all references to it).
- directive `swap on' is now a no-op (don't bother documenting it; remove
comment to match code).
- directive `dumps on' still works (restore code to match comment; deprecate
it in comment).

Reviewed by: Poul-Henning Kamp, and me
Submitted by: Bruce Evans


# 8590 18-May-1995 dg

Added "BROKEN_KEYBOARD_RESET" option to disable using the keyboard reset
in cpu_reset(). Some MBs don't deal with this properly.

Submitted by: Rod Grimes


# 8504 14-May-1995 dg

Changed swap partition handling/allocation so that it doesn't
require specific partitions be mentioned in the kernel config
file ("swap on foo" is now obsolete).

From Poul-Henning:

The visible effect is this:

As default, unless
options "NSWAPDEV=23"
is in your config, you will have four swap-devices.
You can swapon(2) any block device you feel like, it doesn't have
to be in the kernel config.

There is a performance/resource win available by getting the NSWAPDEV right
(but only if you have just one swap-device ??), but using that as default
would be too restrictive.

The invisible effect is that:

Swap-handling disappears from the $arch part of the kernel.
It gets a lot simpler (-145 lines) and cleaner.

Reviewed by: John Dyson, David Greenman
Submitted by: Poul-Henning Kamp, with minor changes by me.


# 8472 12-May-1995 ache

Add 'rc' line


# 8431 11-May-1995 jkh

Remove all vestiges of the ALLOW_CONFLICT_FOO evil and replace it with
something slightly less evil - a per device conflict flag.


# 8310 06-May-1995 joerg

Restructured the floppy tape probe.

The ``flags 1'' in the fdc line is now only needed for owners of an
Insight tape (perhaps there aren't any? Mine is disfunctional). All
other probes are safe wrt. to the motor-control line of floppy disk
drives. Document the flag in LINT finally.


# 8291 05-May-1995 dg

Fix spelling error. Commented out ISO and ISO related things until I
either fix it or we decide to remove it. It requires implementing PCB
hashing to get it to compile and likely a lot more to get it to work..


# 8114 27-Apr-1995 dufault

Add National Instruments "LabPC" driver


# 8056 25-Apr-1995 phk

Document MFS_ROOT option.


# 8042 24-Apr-1995 phk

Added "bio" to matcd.


# 8037 24-Apr-1995 dyson

Removed the NSECS_MULTI option, and implemented both 32 bit probe
enable and multi-sector I/O enable by using the controller or device
flags capability. Per a suggestion by phk.


# 8026 23-Apr-1995 wollman

Substantially clean up LINT and add `fe'.


# 8004 22-Apr-1995 dyson

Document the wd.c option NSECS_MULTI.


# 7924 18-Apr-1995 ache

Add quotes around TUNE_1542


# 7817 14-Apr-1995 dufault

Add "sctarg" and document new SCSI_REPORT_GEOMETRY option for ache


# 7783 12-Apr-1995 phk

Add "BREAK_TO_DEBUGGER" option.


# 7681 08-Apr-1995 phk

Move default address of lnc0 to 0x300. Luigi Rizzo said that his card
cannot even go below 0x300...


# 7669 08-Apr-1995 ache

pca: change IO_PPI to IO_TIMER1 due to syscons conflict


# 7666 08-Apr-1995 joerg

Update pcvt to 3.20 b24


# 7660 08-Apr-1995 phk

Added the "eg0" interface driver for the 3Com "3c505" or "etherlink/+"
card. This is the braindamaged card with the 80186 CPU on it. It is
slow, probably not very good after all, but hey, if you have one lying
around doing nothing anyway...

Added the "zp0" driver to GENERIC.


# 7646 06-Apr-1995 ache

Add port IO_PPI for pca per Bruce suggestion


# 7640 06-Apr-1995 jkh

0x330 is the default address for SB Midi, not 0x300
Submitted by: Doug Rabson <dfr@render.com>


# 7480 29-Mar-1995 rgrimes

Submitted by: Mahesh Neelakanta <mahesh@gcomm.com>

Change I/O address of Intel EtherExpress driver (ix0) from 0x280 to
0x300.


# 7462 29-Mar-1995 dg

Added NQNFS option and a comment warning about it's overhead.


# 7434 28-Mar-1995 jkh

Change ahc driver comment to note that it's not just the 274x controller
it supports.


# 7135 18-Mar-1995 rgrimes

Add Intel EtherExpress16 (ix0) driver.
Reviewed by:
Submitted by:
Obtained from:


# 7069 15-Mar-1995 dufault

Document scsi options


# 7055 14-Mar-1995 dg

Added support for generic FDDI and the DEC DEFEA and DEFPA FDDI adapters.

Submitted by: Matt Thomas


# 7049 13-Mar-1995 swallace

Change device entry examples to reflect the following:
Remove PAS-only entry for OPL as ache pointed out.
Update OPL comment to show OPL-2 or OPL-3 support as it is auto-detected.


# 7046 12-Mar-1995 swallace

Remove old snd file configuration list and add new file list
for the snd controller and the different sound devices.

Update LINT to include all sound device drivers using new format.

Reviewed by: wollman


# 7028 12-Mar-1995 bde

Fix config-time syntax errors in sound options.


# 6932 06-Mar-1995 ugen

Restore IPACCT out there..


# 6912 05-Mar-1995 joerg

pcvt is still using the XSERVER option; document this.


# 6896 04-Mar-1995 jkh

Upgrade the sound drivers to VoxWare pre-3.0 and fix a number of bugs.
Make the sound configuration a little neater
(see /sys/i386/isa/sound/Readme.freebsd)
Add support for the Microsoft Sound Source.
Document the sound options again.
Submitted by: Sujal Patel <smpatel@wam.umd.edu>
Obtained from: Voxware


# 6820 02-Mar-1995 jkh

Changes to incorporate the Matsushita CDROM driver (otherwise known as
the "Sound blaster CDROM").
Submitted by: Frank Durda IV <bsdmail@nemesis.lonestar.org>


# 6810 01-Mar-1995 dufault

Added a little documentation on the fixed SCSI config and
fixed a few quirks that snuck in.


# 6663 23-Feb-1995 bde

Make diskslice files standard and remove option DISKSLICE. ufs_disksubr.c
needed a diskslice function yesterday and all disk drivers will need it.
The diskslice initialization routine should be configurable (but isn't).


# 6560 19-Feb-1995 jkh

Remove the SCSI idsn line - it's permanantly dead.


# 6517 17-Feb-1995 jkh

Remove the ISDN dialer from LINT until it's working.


# 6512 17-Feb-1995 phk

This is the latest version of the APM stuff from HOSOKAWA, I have looked
briefly over it, and see some serious architectural issues in this stuff.

On the other hand, I doubt that we will have any solution to these issues
before 2.1, so we might as well leave this in.

Most of the stuff is bracketed by #ifdef's so it shouldn't matter too much
in the normal case.

Reviewed by: phk
Submitted by: HOSOKAWA, Tatsumi <hosokawa@mt.cs.keio.ac.jp>


# 6427 15-Feb-1995 jkh

We can enable pcd0 when we actually have one.


# 6425 15-Feb-1995 jkh

Comment out snic0 until it gets updated to the newer scsi code.


# 6410 14-Feb-1995 jkh

Add ISDN entries to LINT.


# 6387 14-Feb-1995 ugen

pseudo-device snp 3
Example entry for snoop.


# 6328 12-Feb-1995 jkh

Pick a more sensible default for # of ptys, add comment that this can
go as high as 64 now.


# 6292 10-Feb-1995 amurai

Delete a redundant line - "options TUN" and Add explanation for
"pseudo-device tun" as same as other device.


# 6261 09-Feb-1995 jkh

Add the Cyclades serial driver code (ALPHA) from Andrew Werple and
adapted to FreeBSD by Heikki Suonsivu <hsu@cs.hut.fi>.
Submitted by: Andrew Werple <andrew@werple.apana.org.au> and
Heikki Suonsivu <hsu@cs.hut.fi>
Obtained from: NetBSD


# 6218 06-Feb-1995 jkh

The very minimum driver required to support a Video Spigot. See the
copyright notices in the code for information on where to go to pick
up additional useful bits.
Submitted by: Jim Lowe <james@blatz.cs.uwm.edu>


# 6193 05-Feb-1995 jkh

Bring PCVT's config files into the tree.
Submitted by: mh


# 6063 31-Jan-1995 amurai

Add Tunnel device for ppp (iijppp)


# 6037 30-Jan-1995 ache

Describe default MAXCONS value: 12


# 5952 27-Jan-1995 phk

New and far better NCR5380/NCR53400 scsi-driver.

Handles at least Trantor T130 and ProAudioSpectrum adapters.
The pas driver has consequently been removed.
This driver can be configured without without interrupts.

Manpage to follow when PAS16 has been edited in.

Reviewed by: phk
Submitted by: Serge Vakulenko, <vak@cronyx.ru>


# 5938 26-Jan-1995 ache

MAXCONS option described


# 5921 26-Jan-1995 ache

Remove FAT_CURSOR, it is already non-existent during several
last syscons versions


# 5908 25-Jan-1995 bde

Load the kernel symbol table in the boot loader and not at compile time.
(Boot with the -D flag if you want symbols.)

Make it easier to extend `struct bootinfo' without losing either forwards
or backwards compatibility.

ddb_aout.c:
Get the symbol table from wherever the loader put it.
Nuke db_symtab[SYMTAB_SPACE].

boot.c:
Enable loading of symbols. Align them on a page boundary. Add printfs
about the symbol table sizes.
Pass the memory sizes to the kernel.
Fix initialization of `unit' (it got moved out of the loop).
Fix adding the bss size (it got moved inside an ifdef).
Initialize serial port when RB_SERIAL is toggled on.
Fix comments.
Clean up formatting of recently added code.

io.c:
Clean up formatting of recently added code.

netboot/main.c, machdep.c, wd.c:
Change names of bootinfo fields.

LINT:
Nuke SYMTAB_SPACE.
Fix comment about DODUMP.

Makefile.i386:
Nuke use of dbsym.
Exclude gcc symbols from kernel unless compiling with -g.
Remove unused macro.
Fix comments and formatting.

genassym.c:
Generate defines for some new bootinfo fields. Change names of old ones.

locore.s:
Copy only the valid part of the `struct bootinfo' passed by the loader.
Reserve space for symbol table, if any.

machdep.c:
Check the memory sizes passed by the loader, if any. Don't use them yet.

bootinfo.h:
Add a size field so that we can resolve some mismatches between the loader
bootinfo and the kernel boot info. The version number is not so good for
this because of historical botches and because it's harder to maintain.
Add memory size and symbol table fields. Change the names of everything.

Hacks to save a few bytes:

asm.S, boot.c, boot2.S:
Replace `ouraddr' by `(BOOTSEG << 4)'.

boot.c:
Don't statically initialize `loadflags' to 0. Disable the "REDUNDANT"
code that skips the BIOS variables. Eliminate `total'. Combine some
more printfs.

boot.h, disk.c, io.c, table.c:
Move all statically initialzed data to table.c.

io.c:
Don't put the A20 gate bits in a variable.


# 5902 25-Jan-1995 jmz

Add: device joy0 at isa? port "IO_GAME" (joystick)


# 5862 24-Jan-1995 paul

is to lnc changes


# 5787 22-Jan-1995 jkh

Add support for Olof Johansson's WD7000 driver.
Submitted by: Olof Johansson <offe@ludd.luth.se>
Obtained from:


# 5577 14-Jan-1995 jkh

Put UCONSOLE back - I was wrong, it's still used in one last place.
Submitted by: ollivier


# 5546 12-Jan-1995 jkh

1. Remove UCONSOLE. This appears to be well and truly dead (unless it's
hiding someplace in /sys I can't find).
2. Remove NCONS. Soren's latest changes make it a no-op.


# 5428 07-Jan-1995 jkh

Gunther Schadow <gusw@fub46.zedat.fu-berlin.de>'s
driver for the Genius GS-4500 hand scanner.
Submitted by: gusw@fub46.zedat.fu-berlin.de


# 5236 26-Dec-1994 ats

Add examples for the sony and the panasonic drivers.


# 5191 22-Dec-1994 wollman

Added `ds', a black-hole network interface.


# 5136 17-Dec-1994 jkh

Bump LINT's symtab space.


# 5134 17-Dec-1994 jkh

Add Fred Cawthorne's GPIB driver.
Submitted by: fcawth@delphi.umd.edu


# 5128 16-Dec-1994 bde

Uncomment DISKSLICE; it should work now (for drivers that support it).


# 5119 16-Dec-1994 phk

Remove sd1-sd3 & st1, now that we can autoallocate them.

fix the vn driver in LINT. It autoallocates too.

Reviewed by: phk
Submitted by: rgrimes


# 5098 13-Dec-1994 wollman

Add ahc driver, more symtab space.


# 5096 13-Dec-1994 wollman

Delete `HZ' option; it's only of use to Bruce and screws up the NTP PLL
(among other things). Correctly specify `vn' as a pseudo. Make sure
things are in the right places.


# 5057 11-Dec-1994 bde

Add old options HZ, VN, ALLOW_CONFLICT_DRQ, ALLOW_CONFLICT_MEMADDR,
AUTO_EOI_1, AUTO_EOI_2, COMCONSOLE, COM_MULTIPORT.

Add new option DISKSLICE.

Change comments about DUMMY_NOPS.


# 5032 10-Dec-1994 ats

Document the options DUMMY_NOPS and TUNE_1542.


# 4934 03-Dec-1994 smace

Make CHILD_MAX and OPEN_MAX a tunable parameter.


# 4917 02-Dec-1994 wollman

Add Cronyx/Sigma files and config information; delete outdated config files.


# 4837 27-Nov-1994 ats

Expand again the SYMTAB_SPACE for LINT.


# 4799 24-Nov-1994 se

Added #define PROBE_VERBOSE and description (PCI chip set boot messages)
Reviewed by:
Submitted by:
Obtained from:


# 4504 15-Nov-1994 bde

The SYMTAB_SPACE bloatometer was 40% out of date.


# 4263 08-Nov-1994 jkh

Add back ze0 driver; somebody took it out of _both_ LINT and GENERIC,
kinda hosing the laptop folks.


# 4221 07-Nov-1994 phk

Added a kernel variable, "dodump" defaulting to zero, which disables dumps.
Somebody should make a mib variable for it.
Just now it is pointless to dump the kernel, since we have nothing which
can read the dump.
Furthermore is should never be the default to dump.
options DODUMP
will enable dumps.


# 4118 03-Nov-1994 jkh

Eliminate USERCONFIG. This option is now standard.


# 4070 01-Nov-1994 wollman

Fix Jordan's misplaced IPFIREWALL option. Fix style of other previous commits.
Document ARP_PROXYALL.


# 4017 30-Oct-1994 joerg

Documented the FDSEEKWAIT option.


# 3969 28-Oct-1994 jkh

IP Firewall code from Daniel Boulet and J.S.Antsilevich
Submitted by: danny ugen


# 3916 26-Oct-1994 wollman

Stylistic changes.


# 3912 26-Oct-1994 jkh

Enable USERCONFIG and document it in LINT.


# 3836 24-Oct-1994 sos

Added sea0 - Seagate driver lines to config


# 3743 20-Oct-1994 wollman

LINT: vastly restructured so that it's actually useful for something
Makefile.i386: make definition of STRIP unconditional.


# 3732 19-Oct-1994 phk

According to a quick reading of sources, one experiment and Bruce's word:
aha, ahb and bt all on "irq ?" now.


# 3729 19-Oct-1994 phk

Bruce told me to: Make uha0 use irq ?


# 3609 15-Oct-1994 phk

Sanitized a little bit. All SCSI is now "controllers" and LINT is more
sorted now.


# 3357 04-Oct-1994 ache

USE_RTC_CENTURY added


# 3341 03-Oct-1994 phk

I added "pserudo-device gzip" as default.


# 3272 01-Oct-1994 dg

Added Cortex-I Frame Grabber by Paul S. LaFollette, Jr.

Submitted by: Paul S. LaFollette, Jr.


# 3269 01-Oct-1994 phk

#Driver for Advaced Power Management (also need options APM)
-device apm0 isa?
+device apm0 at isa?


# 3265 01-Oct-1994 dg

Added options APM and device apm0 for Advanced Power Management support.


# 3182 28-Sep-1994 wollman

GENERIC*: remove commented-out options; the user should have to do
/some/ research to figure out how to turn them on.

LINT: better description of TCP_COMPAT_42: ``emulate 4.2BSD TCP bugs''.


# 3181 28-Sep-1994 wollman

LKMs are no longer options, so remove the `options LKM' from LINT.


# 3168 28-Sep-1994 se

Added entries for PCI and NCR device drivers.


# 3150 27-Sep-1994 phk

Added
options DIAGNOSTIC
options MSDOSFS_DEBUG


# 3114 26-Sep-1994 jkh

Jim Babb's port of the AIC6360 code.
Submitted by: babb
Obtained from: NetBSD


# 3064 25-Sep-1994 ache

HARDFONTS option documented


# 3019 23-Sep-1994 dg

Removed last vestige of MULTICAST option.


# 2979 22-Sep-1994 wollman

More loadable VFS changes:

- Make a number of filesystems work again when they are statically compiled
(blush)

- FIFOs are no longer optional; ``options FIFO'' removed from distributed
config files.


# 2894 19-Sep-1994 dfr

Added MSDOSFS option.


# 2823 16-Sep-1994 jkh

Add SYSV shm stuff back to LINT.
chflags noschg /kernel in Makefile.i386 so if our previous kernel
was installed by make install, the second won't fall over.


# 2705 13-Sep-1994 phk

Added DSI_SOFT_MODEM


# 2673 11-Sep-1994 ats

Deleted the pccons driver from the files.i386, added the seagate driver
into files.i386.
LINT:
Deleted the timezone line. Commented out the maxfdescs line and the
SYSVSHM and the SHMMAXPGS lines.


# 2629 09-Sep-1994 csgr

Remove *_SAVER syscons options - I don't know how they go in here:
(These options did not even really exist in 1.1.5.1)
CVS:


# 2519 05-Sep-1994 ats

Reviewed by:
Delete the hints to the sg driver. This thing was never finished and
has now been beaten by the sea driver.


# 2422 31-Aug-1994 dg

Rather than exclude bounce buffers support with NOBOUNCE, include it
with BOUNCE_BUFFERS. This is more intuitive, and is better for future
multiplatform support. Added BOUNCE_BUFFERS option to the GENERIC and
LINT kernel config files.


# 2325 28-Aug-1994 dg

Made a little more up to date.


# 2321 27-Aug-1994 dg

Updated this a bit. It's still woefully out of date.


# 2114 18-Aug-1994 phk

Added my ProAudioSpectum SCSI driver for cards with the 5380 SCSI-chip.
This is the slowest and most stupid of our SCSI-drivers, but it is there
and it works. It has been tested with CD-ROM and disk.
It uses no interrupts, no DMA, just polled I/0.
Transfer-rate is <= 100Kbyte/sec.
If you set the jumpers on the board, you can change the unit-number and
you will be able to have four of these co-exist in one computer, why one
would do that is somewhat unclear though.
If I ever get my hand on the docs for this, I will improve it of course,
but for now we can install and access those CD-ROMs.


# 1511 18-May-1994 jkh

Remove the now bogus IP_VAT_COMPAT.


# 1510 17-May-1994 jkh

Add line for IP_VAT_COMPAT, documenting it.


# 1508 17-May-1994 jkh

Fold in the changes to support IP multicasting, from Jim Lowe et al.


# 1507 17-May-1994 jkh

Whoops - comment out psm0 by default in case someone wants to
compile this thing. I won't turn on the ALLOW_CONFLICT_IOADDR this would need
to compile instead since that would then rob us of other, possibly important,
conflict checks.


# 1506 17-May-1994 jkh

Add descriptions of ALLOW_CONFLICT_* options we want to doc for now
(only 2). Add entry for psm0 (PS/2 mouse).


# 1490 13-May-1994 jkh

Remove confusing (as they are now unnecessary) comments about
INACCURATE_MICROTIME_IS_OK. Document what pca0 is.


# 1434 29-Apr-1994 gclarkii

Added GPL_MATH_EMULATE to options
This should not be used in binary distributions.


# 1407 23-Apr-1994 wollman

Define new option, INACCURATE_MICROTIME_IS_OK. When this is defined,
the NTP kernel PLL is disabled, and acquire_timer0() is enabled, thus
opening the door for microtime() (and hence gettimeofday()) to return
bogus timestamps. This option is necessary for the `pca' driver to
work, but is implemented to underscore the fact that accurate timekeeping
and the `pca' driver are incompatible at present. If someone writes a version
of microtime() that works when the `pca' driver is being used, this can get
junked.


# 1406 23-Apr-1994 ache

device pca0 added


# 1356 12-Apr-1994 ache

snd7 config line corrected, irqaremoved


# 1344 07-Apr-1994 ache

Remove unneded irq/drq/vector from snd?


# 1343 07-Apr-1994 dg

from kimmel@varese.cs.umass.edu (Matt Kimmel):
"el" driver for 3COM 3C501. This driver has some serious performance
problems and drops packets on the floor like hot potatos.


# 1333 04-Apr-1994 phk

corrected pointer to sound.doc


# 1274 19-Mar-1994 wollman

More symtab space.


# 1264 14-Mar-1994 wollman

Added David Mills' kernel NTP PLL code. The current version of NTP does
not yet speak to this code.


# 1260 11-Mar-1994 swallace

Removed EXCLUDE_<driver> for sound drivers so that all sound drivers
are compiled into kernel. Users are referred to sound doc for info.


# 1259 11-Mar-1994 swallace

Added appropriate entries into files.i386 for snd drivers in /sys/i386/isa/sound
Added new snd drivers and EXCLUDE_<driver> options to LINT.


# 1223 27-Feb-1994 phk

dcfclk driver obsoleted, sio/TIOCTIMESTAMP took over.


# 1135 09-Feb-1994 nate

Commented on what the mse0, mcd0, and lpt/lpa devices were used for.
(No functional changes)


# 1115 07-Feb-1994 alm

Add floppy tape support (missed these when changing G*)


# 1068 01-Feb-1994 ache

BLANK_SAVER syscons option added


# 1064 01-Feb-1994 ache

Add FADE_SAVER option from new syscons.


# 1051 31-Jan-1994 dg

WINE/user LDT support from John Brezak, ported to FreeBSD by Jeffrey Hsu
<hsu@soda.berkeley.edu>.


# 1038 29-Jan-1994 rgrimes

Remove commented out PROCFS, it is standard.


# 1032 29-Jan-1994 ache

Set FIFO_TRIGGER in more human-readable form


# 1026 26-Jan-1994 ache

Add FIFO_TRIGGER value for sio.c


# 1012 25-Jan-1994 rgrimes

Disabled sg disk driver in LINT since there is no sg.c file in isa yet!

Removed com port comments, since we are about to depricate the driver.

Fix several plaes in LINT where people have been cutting and pasting using
xterms :-(


# 1011 25-Jan-1994 ache

Sound driver options added


# 995 22-Jan-1994 rgrimes

No longer need SYSVIPC option, any of the SYSV options now trigger the
kern/sysv_ipc.c file for inclusion in the kernel.


# 990 21-Jan-1994 dg

System V IPC code from Danny Boulet, chewed on a bit by the NetBSD group
and then some more by Jeffrey Hsu (who provided this port for FreeBSD).


# 979 17-Jan-1994 rgrimes

Removed at clause from LINT since it was wrong and is no longer needed.


# 977 16-Jan-1994 ats

Documented the drivers more in the LINT file. Added a line in files.i386
and LINT for the integration of a Seagate ST01/02 SCSI controller.


# 962 10-Jan-1994 ats

Now enabled the line for the 3C509 driver.


# 959 09-Jan-1994 ats

Added lines for an Etherlink III ( 3C509 ) driver.


# 952 06-Jan-1994 rgrimes

SCSIDUMP option no longer needed, it is now standard.


# 947 05-Jan-1994 rgrimes

Added dumps on wd0 to the end of all config lines so people know about it
and can change it. This really won't change the kernels, it just documents
how to do the dumps on option.


# 937 04-Jan-1994 nate

Updated config files for new multi-controller wd.c driver and removed
outdated wx config file.


# 881 19-Dec-1993 wollman

Added support for X.25 as a network-layer protocol under ISO TP class 0, as
is commonly used in Europe. Make it compile, and bump up symtab space as
needed.


# 879 18-Dec-1993 wollman

Make everything compile with -Wtraditional. Make it easier to distribute
a binary link-kit. Make all non-optional options (pagers, procfs) standard,
and update LINT to reflect new symtab requirements.

NB: -Wtraditional will henceforth be forgotten. This editing pass was
primarily intended to detect any constructions where the old code might
have been relying on traditional C semantics or syntax. These were all
fixed, and the result of fixing some of them means that -Wall is now a
realistic possibility within a few weeks.


# 849 12-Dec-1993 dg

1) Added proc file system from Paul Kranenburg with changes from
John Dyson to make it reliably work under FreeBSD.
2) Added and enabled PROCFS in the GENERICxx and LINT kernels.
3) New execve() from me. Still work to be done here, but this version
works well and is needed before other changes can be made. For
a description of the design behind this, see freebsd-arch or
ask me.
4) Rewrote stack fault code; made user stack VM grow as needed rather
than all up front; improves performance a little and reduces
process memory requirements.
5) Incorporated fix from Gene Stark to fault/wire a user page table
page to fix a problem in copyout. This is a temporary fix and
is not appropriate for pageable page tables. For a description
of the problem, see Gene's post to the freebsd-hackers mailing
list.
6) Tighten up vm_page struct to reduce memory requirements for it. ifdef
pager page lock code as it's not being used currently.
7) Introduced new element to vmspace struct - vm_minsaddr; initial
(minimum) stack address. Compliment to vm_maxsaddr.
8) Added a panic if the allocation for process u-pages fails.
9) Improve performance and accuracy of kernel profiling by putting in
a little inline assembly instead of spl().
10) Made serial console with sio driver work. Still has problems with
serial input, but is almost useable.
11) Added -Bstatic to SYSTEM_LD in Makefile.i386 so that kernels will
build properly with the new ld.


# 832 05-Dec-1993 wollman

Fixed spelling error. Added NSIP (XNS over IP). Fixed TP class 4 over
IP line (TPIP) to be an option rather than a pseudo-device (the code keys
off #ifdef TPIP, not #if NTPIP > 0, as makes sense).


# 785 18-Nov-1993 rgrimes

New version of scsi code from Julian


# 777 17-Nov-1993 wollman

Increased symtab space and added two more options that don't do anything
(yet).


# 725 07-Nov-1993 wollman

Added the netrmp protocol from the Net/2 tape. While of dubious utility,
it's simple enough that it might actually work and be useful on some systems.
(That's more than you can say for netccitt or netimp!)


# 723 07-Nov-1993 wollman

Add options MACHVMCOMPAT and bump symtab space appropriately.


# 717 07-Nov-1993 wollman

Fixed comment.


# 714 07-Nov-1993 wollman

Added some more defines that weren't there before. Also bumped up
symtab space again.


# 713 07-Nov-1993 wollman

Needed to bump up SYMTAB_SPACE again. (This really should be done by the
boot loader...)


# 694 03-Nov-1993 ats

Added the option FAT_CURSOR into the GENERIC kernel descriptions for
pccons or syscons usage. Modified comment in LINT for FAT_CURSOR.
Now the FAT_CURSOR can be controlled over the option, instead of hacking
syscons.c and pccons.c.


# 687 30-Oct-1993 jkh

Add example entries for syscons screen savers and cursor shape.


# 663 23-Oct-1993 jkh

Needed to bump symtab space even more (to 102452).


# 660 23-Oct-1993 jkh

Enabled all sound drivers by default.


# 657 23-Oct-1993 jkh

Removed comments from LINT file, left small example for SoundBlaster
in its place and moved commentary into /sys/i386/doc/sound.doc


# 650 23-Oct-1993 jkh

Add config + files information for new Linux soundcard driver


# 638 19-Oct-1993 nate

Updated LINT to have the mse0 config line


# 632 18-Oct-1993 rgrimes

Correct config line for ie0 per Garrett Wollman.


# 579 12-Oct-1993 rgrimes

Add ie0 (ATT ether net driver) and mcd0 (Mitsumi cd rom driver)


# 554 08-Oct-1993 rgrimes

>From NetBSD
Change the cpu "i386" line to 2 lines:
cpu "I386_CPU"
cpu "I486_CPU"
This is so we can do real CPU classification of code.

Fix missing depend for assym.s which does depend on genassym.c


# 533 01-Oct-1993 rgrimes

Remove old ethernet drivers if_ec, if_ne, and if_we from config files
and from files.i386, they are no longer supported.


# 527 30-Sep-1993 rgrimes

Remove we0, since it is being removed from the system


# 526 30-Sep-1993 rgrimes

Only configure one cd unit now since the code is fully dynamic,
add comment about this to the device cd0 line.


# 510 26-Sep-1993 rgrimes

Added at 0xFE100000 to config line as this kernel HAS to load high, and
it is the place people seem to look for samples. Also since this kernel
has so so many symbols in it also added SYMTAB_SPACE=89000.


# 505 24-Sep-1993 rgrimes

Enable SYSVSHM, and set SHMMAXPGS=64.


# 490 21-Sep-1993 rgrimes

Increased pseudo-device bpfilter from 1 unit to 4 units


# 454 13-Sep-1993 rgrimes

Put the uha0 controller at its proper default IRQ of 14! Thanks Warner!


# 398 06-Sep-1993 rgrimes

Enabled options NS since it can now be compiled!


# 368 31-Aug-1993 rgrimes

Changed default irq and iomem address for ed0 so that most 3c503's and
wd80x3 class boards can be configured to the GENERIC kernels.

Entry was:
device ed0 at isa? port 0x280 net irq 9 iomem 0xd0000 vector edintr

Is now:
device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr


# 350 28-Aug-1993 rgrimes

Added options MATH_EMULTATE to the kernel config files to pull in the
387 math emulator (sys/i386/i386/math_emulate.c). Made that file only
get compiled if options MATH_EMULATE is in the kernel.


# 337 27-Aug-1993 rgrimes

Kernel support for ppp 1.3 + fixes


# 335 26-Aug-1993 rgrimes

Added the following line to all the supplied config files to shut up the
config program until this thing is fixed correctly.

maxfdescs 2048 #Max file descriptors per process


# 318 22-Aug-1993 rgrimes

New kernel config file for checking out the kernel sources. It does pulls
in every thing that is known to work, and a lot of things that don't!