History log of /freebsd-current/sys/conf/NOTES
Revision Date Author Comments
# 5687c71d 09-May-2024 Florian Walpen <dev@submerge.ch>

snd_hdsp(4): RME HDSP 9632 and HDSP 9652 sound card driver.

Add a sound(4) bridge device driver for the RME HDSP 9632 and HDSP 9652
sound cards. These cards require a nowadays rare PCI 32bit (not PCIe)
slot, but still see use due to their value and wealth of features.
The HDSP 9632 is mostly comparable to the newer HDSPe AIO, while the
HDSP 9652 is similar to the HDSPe RayDAT. These HDSPe PCIe cards are
supported by the snd_hdspe(4) driver which was taken as a starting point
for development of snd_hdsp(4).

Implementation is kept separately due to substantial differences in
hardware configuration and to allow easy removal in case PCI 32bit
support would be phased out in the future.

The snd_hdsp(4) kernel module is not enabled by default, and can be
loaded at runtime with kldload(8) or during boot via loader.conf(5).
Basic operation was tested with both cards, not including all optional
cable connectors and expansion boards. Features should be roughly on par
with the snd_hdspe(4) supported cards.

Reviewed by: christos, br
Differential Revision: https://reviews.freebsd.org/D45112


# 99b0270a 06-May-2024 Gleb Smirnoff <glebius@FreeBSD.org>

sockets: hide socket hhook(9)s under SOCKET_HHOOK

There are no in-tree consumers of these hooks.

Reviewed by: stevek
Differential Revision: https://reviews.freebsd.org/D44928


# a15f7c96 02-May-2024 John Baldwin <jhb@FreeBSD.org>

nvmft: The in-kernel NVMe over Fabrics controller

This is the server (target in SCSI terms) for NVMe over Fabrics.
Userland is responsible for accepting a new queue pair and receiving
the initial Connect command before handing the queue pair off via an
ioctl to this CTL frontend.

This frontend exposes CTL LUNs as NVMe namespaces to remote hosts.
Users can ask LUNS to CTL that can be shared via either iSCSI or
NVMeoF.

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44726


# a1eda741 02-May-2024 John Baldwin <jhb@FreeBSD.org>

nvmf: The in-kernel NVMe over Fabrics host

This is the client (initiator in SCSI terms) for NVMe over Fabrics.
Userland is responsible for creating a set of queue pairs and then
handing them off via an ioctl to this driver, e.g. via the 'connect'
command from nvmecontrol(8). An nvmeX new-bus device is created
at the top-level to represent the remote controller similar to PCI
nvmeX devices for PCI-express controllers.

As with nvme(4), namespace devices named /dev/nvmeXnsY are created and
pass through commands can be submitted to either the namespace devices
or the controller device. For example, 'nvmecontrol identify nvmeX'
works for a remote Fabrics controller the same as for a PCI-express
controller.

nvmf exports remote namespaces via nda(4) devices using the new NVMF
CAM transport. nvmf does not support nvd(4), only nda(4).

Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44714


# 59144db3 02-May-2024 John Baldwin <jhb@FreeBSD.org>

nvmf_tcp: Add a TCP transport for NVMe over Fabrics

Structurally this is very similar to the TCP transport for iSCSI
(icl_soft.c). One key difference is that NVMeoF transports use a more
abstract interface working with NVMe commands rather than transport
PDUs. Thus, the data transfer for a given command is managed entirely
in the transport backend.

Similar to icl_soft.c, separate kthreads are used to handle transmit
and receive for each queue pair. On the transmit side, when a capsule
is transmitted by an upper layer, it is placed on a queue for
processing by the transmit thread. The transmit thread converts
command response capsules into suitable TCP PDUs where each PDU is
described by an mbuf chain that is then queued to the backing socket's
send buffer. Command capsules can embed data along with the NVMe
command.

On the receive side, a socket upcall notifies the receive kthread when
more data arrives. Once enough data has arrived for a PDU, the PDU is
handled synchronously in the kthread. PDUs such as R2T or data
related PDUs are handled internally, with callbacks invoked if a data
transfer encounters an error, or once the data transfer has completed.
Received capsule PDUs invoke the upper layer's capsule_received
callback.

struct nvmf_tcp_command_buffer manages a TCP command buffer for data
transfers that do not use in-capsule-data as described in the NVMeoF
spec. Data related PDUs such as R2T, C2H, and H2C are associated with
a command buffer except in the case of the send_controller_data
transport method which simply constructs one or more C2H PDUs from the
caller's mbuf chain.

Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44712


# c68eed82 24-Apr-2024 Gleb Smirnoff <glebius@FreeBSD.org>

accf_tls: accept filter that waits for TLS handshake header


# 1ff65c57 20-Apr-2024 Gordon Bergling <gbe@FreeBSD.org>

NOTES: Remove a double word in comment

- s/of of/of/

MFC after: 3 days


# f3f04c40 13-Apr-2024 John Baldwin <jhb@FreeBSD.org>

sys: Retire the ISCSI_INITIATOR_DEBUG option

This was used by the old iSCSI initiator, not the current one.

Reported by: trasz


# 5ea0b892 13-Apr-2024 John Baldwin <jhb@FreeBSD.org>

NOTES: Move ENABLE_ALART option to MI NOTES next to intpm device

This option is for this driver.

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D44786


# 1f678b6b 13-Apr-2024 John Baldwin <jhb@FreeBSD.org>

NOTES: Move the VirtIO entries to the MI NOTES file

While here, add virtio_gpu

Reviewed by: imp, emaste
Differential Revision: https://reviews.freebsd.org/D44782


# ff3569be 13-Apr-2024 John Baldwin <jhb@FreeBSD.org>

NOTES: Move safe(4) to the MI NOTES file

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D44780


# 9c3fd2c1 13-Apr-2024 John Baldwin <jhb@FreeBSD.org>

NOTES: Move IEEE80211_DEBUG_REFCNT to the MI NOTES file

This option is not specific to amd64

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D44779


# 8f7105a2 09-Apr-2024 John Baldwin <jhb@FreeBSD.org>

NOTES: Move NVMe entries to MI file

While here, adjust the sample setting for NVME_USE_NVD to use a
non-default setting as is typical in entries in NOTES.

Discussed with: imp
Reviewed by: manu
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44691


# a508f5d9 09-Apr-2024 John Baldwin <jhb@FreeBSD.org>

NOTES: Tidy entries for SATA controllers

- Add typical comments after device entries (copied from amd64
GENERIC)

- Add an entry for 'device ada'. Normally this is pulled in via
'device sd', but is documented in ada(4) and can be used to include
ATA/SATA disk support in a kernel without SCSI disk support.

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44689


# 76f22e35 09-Apr-2024 John Baldwin <jhb@FreeBSD.org>

NOTES: Add devices for iSCSI support

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44688


# 973d3a82 09-Apr-2024 John Baldwin <jhb@FreeBSD.org>

NOTES: Move OFED options to MI NOTES

Disable in armv7 NOTES to match sys/modules/Makefile

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44686


# 3a338c53 18-Oct-2023 Dag-Erling Smørgrav <des@FreeBSD.org>

Add the BBR and RACK stacks to the LINT kernel.

While here, drop the EXTRA_TCP_STACKS option, which serves no purpose and
should never have been added. Instead, build bbr and rack as long as
either or both of INET and INET6 is enabled. There is no risk to anyone
who doesn't load one or both and then twiddle the relevant sysctls.

Differential Revision: https://reviews.freebsd.org/D42088


# 84d12f88 06-Oct-2023 Kristof Provost <kp@FreeBSD.org>

Add a COMPAT_FREEBSD14 kernel option

Use it wherever COMPAT_FREEBSD13 is currently specified.

Reviewed by: brooks, zlei
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D42100


# 031beb4e 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: one-line sh pattern

Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/


# 4ef1c6f7 26-Jul-2023 Marius Strobl <marius@FreeBSD.org>

base: Remove support for the VTOC8 partitioning scheme

The removal of the sparc64 support in February 2020 obsoleted the
VTOC8 partitioning scheme as no other FreeBSD platform makes use
of it. Moreover, the code is bitrotting as nothing defines e. g.
LOADER_VTOC8_SUPPORT any more and, thus, should go now, too. With
this change, the following commits are reverted as far as VTOC8
is concerned and parts haven't already previously been deleted
along with prior sparc64 removals:
094fcb157d4c98211899cf09d06e2cf19149b7e0
a7d366e9589c95feda6f3bc78c59c6355d51f126
ba8d50d08b9df4e8213f9a6997ff6792ecebcd9b

The alignment example d9711c28efc4ec89ba5ea11f8fd63e9d0a7fc81b
added to the VTOC8 section of gpart.8 is folded into the MBR one.

This should finally conclude the deorbit of sparc64-specific bits.

We had joy, we had fun
we ran Unix on a Sun.
But that source and the song
of FreeBSD have all gone.

Credits to Michael Bueker for the original "Unix on a Sun" and Rod
McKuen for the "Seasons in the Sun" lyrics.


# 215bab79 25-Jul-2023 Shivank Garg <shivank@freebsd.org>

mac_ipacl: new MAC policy module to limit jail/vnet IP configuration

The mac_ipacl policy module enables fine-grained control over IP address
configuration within VNET jails from the base system.
It allows the root user to define rules governing IP addresses for
jails and their interfaces using the sysctl interface.

Requested by: multiple
Sponsored by: Google, Inc. (GSoC 2019)
MFC after: 2 months
Reviewed by: bz, dch (both earlier versions)
Differential Revision: https://reviews.freebsd.org/D20967


# 2404380a 29-May-2023 Colin Percival <cperciva@FreeBSD.org>

tslog: Optionally instrument pmap_zero_page

Booting an amd64 kernel on Firecracker with 1 CPU and 128 MB of RAM,
pmap_zero_page is responsible for 4.6 ms of the 25.0 ms of boot time.
This is not in fact time spent zeroing pages though; almost all of
that time is spent in a first-touch penalty, presumably due to the
host Linux kernel faulting in backing pages one by one.

There's probably a way to improve that by teaching Firecracker to
fault in all the VM's pages from the start rather than having them
faulted in one at a time, but that's outside of FreeBSD's control.

This commit adds a TSLOG_PAGEZERO option which enables TSLOG on the
amd64 pmap_zero_page function; it's a separate option (turned off
by default even if TSLOG is enabled) since zeroing pages happens
enough that it can easily fill the TSLOG buffer and prevent other
timing information from being recorded.

Sponsored by: https://www.patreon.com/cperciva
Differential Revision: https://reviews.freebsd.org/D40326


# 062a7b91 10-May-2023 Warner Losh <imp@FreeBSD.org>

twe: Remove driver

Sponsored by: Netflix


# 105a4f7b 09-Mar-2023 Brooks Davis <brooks@FreeBSD.org>

ng_atmllc: remove

This standalone module is the last vestage of ATM support in the tree so
send it on its way.

Reviewed by: manu, emaste
Relnotes: yes
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D38880


# af0cc0b2 09-Mar-2023 Brooks Davis <brooks@FreeBSD.org>

NgATM: Remove netgraph ATM support

Most ATM support was removed prior to FreeBSD 12. The netgraph support
was kept as it was less intrusive, but it is presumed to be unused.

Reviewed by: manu
Relnotes: yes
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D38879


# bd32aede 02-Mar-2023 Brooks Davis <brooks@FreeBSD.org>

NgATM: Remove useless NGATM_ATM option

MFC after: 3 days

Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D38875


# 3746e901 02-Mar-2023 Brooks Davis <brooks@FreeBSD.org>

NATM: Remove useless NETGRAPH_ATM_ATMPIF option

This code was removed as part of the NATM removal in 2017 and somehow
this option was missed.

MFC after: 3 days

Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D38874


# a4b92fef 26-Feb-2023 Warner Losh <imp@FreeBSD.org>

kbd: Tweaks to KBD_DELAY[12]

Make sure NOTES has a different value than the defaults, and properly
document the default values in atkbdc(4) and bump .Dd

Sponsored by: Netflix


# b739bc98 25-Feb-2023 Mike Karels <karels@FreeBSD.org>

sys/conf/NOTES: clean up whitespace

Most options in kernel config files use "options<space><tab>OPTION".
This allows the option to be commented out without shifting columns.
A few options had two tabs, and some had spaces. Make them consistent.

I missed this file on the last pass.


# 8d966fb0 20-Feb-2023 Michael Paepcke <git@paepcke.de>

sys/conf/NOTES add new KBD_DELAY kernel options

add section for new kernel keyboard options

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/649


# 8ea41829 10-Jan-2023 Andrew Gallatin <gallatin@FreeBSD.org>

tcp: Build RACK and BBR stacks as a part of LINT

When RACK and BBR were added to the kernel, they were put
behind 'WITH_EXTRA_TCP_STACKS=1'. Unfortunately that was
never added to any NOTES file, so RACK & BBR were not compiled
with the various LINT-NOINET, LINT-NOINET6, and LINT-NOIP kernels.
This lead to the stacks sometimes being broken.

This change:

- Fixes RACK so that it compiles with the various LINT-NO* kernels
- Adds WITH_EXTRA_TCP_STACKS=1 to all NOTES kernels so that
RACK and BBR are compile tested regularly

Sponsored by: Netflix
Reviewed by: rrs
Differential Revision: https://reviews.freebsd.org/D37903


# c9313a0b 22-Dec-2022 Alexander V. Chernikov <melifaro@FreeBSD.org>

netlink: allow netlink to be build in the kernel

Differential Revision: https://reviews.freebsd.org/D37781


# eaabc937 14-Dec-2022 Gleb Smirnoff <glebius@FreeBSD.org>

tcp: retire TCPDEBUG

This subsystem is superseded by modern debugging facilities,
e.g. DTrace probes and TCP black box logging.

We intentionally leave SO_DEBUG in place, as many utilities may
set it on a socket. Also the tcp::debug DTrace probes look at
this flag on a socket.

Reviewed by: gnn, tuexen
Discussed with: rscheff, rrs, jtl
Differential revision: https://reviews.freebsd.org/D37694


# eb6f4885 07-Dec-2022 Doug Rabson <dfr@FreeBSD.org>

Fix a typo in the binmisc option name

This should be spelt IMGACT_BINMISC to match the filename. The option
name does not appear outside of sys/conf and this module is typically
used via the kernel module imgact_binmisc.ko.

MFC After: 2 weeks


# 744bfb21 28-Oct-2022 John Baldwin <jhb@FreeBSD.org>

Import the WireGuard driver from zx2c4.com.

This commit brings back the driver from FreeBSD commit
f187d6dfbf633665ba6740fe22742aec60ce02a2 plus subsequent fixes from
upstream.

Relative to upstream this commit includes a few other small fixes such
as additional INET and INET6 #ifdef's, #include cleanups, and updates
for recent API changes in main.

Reviewed by: pauamma, gbe, kevans, emaste
Obtained from: git@git.zx2c4.com:wireguard-freebsd @ 3cc22b2
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D36909


# bb1d472d 12-Sep-2022 Richard Scheffenegger <rscheff@FreeBSD.org>

tcp: make CUBIC the default congestion control mechanism.

This changes the default TCP Congestion Control (CC) to CUBIC.
For small, transactional exchanges (e.g. web objects <15kB), this
will not have a material effect. However, for long duration data
transfers, CUBIC allocates a slightly higher fraction of the
available bandwidth, when competing against NewReno CC.

Reviewed By: tuexen, mav, #transport, guest-ccui, emaste
Relnotes: Yes
Sponsored by: NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D36537


# d3791ac4 09-Sep-2022 Dag-Erling Smørgrav <des@FreeBSD.org>

NOTES: add Veriexec options and modules.

Sponsored by: Klara, Inc.
MFC after: 1 week


# 465988e9 24-Aug-2022 Mark Johnston <markj@FreeBSD.org>

NOTES: Update the comment for MCLSHIFT

MFC after: 1 week


# b0b0e4ee 24-Aug-2022 Mark Johnston <markj@FreeBSD.org>

NOTES: Update the default MSIZE and MCLSHIFT values

After commit 840327e5ddf3 ("mbuf: Don't support PAGE_SIZE < 4K"), these
defaults were causing LINT kernel builds to fail.

Reported by: Jenkins
MFC after: 1 week


# 287d467c 18-Jul-2022 Mitchell Horne <mhorne@FreeBSD.org>

mac: add new mac_ddb(4) policy

Generally, access to the kernel debugger is considered to be unsafe from
a security perspective since it presents an unrestricted interface to
inspect or modify the system state, including sensitive data such as
signing keys.

However, having some access to debugger functionality on production
systems may be useful in determining the cause of a panic or hang.
Therefore, it is desirable to have an optional policy which allows
limited use of ddb(4) while disabling the functionality which could
reveal system secrets.

This loadable MAC module allows for the use of some ddb(4) commands
while preventing the execution of others. The commands have been broadly
grouped into three categories:
- Those which are 'safe' and will not emit sensitive data (e.g. trace).
Generally, these commands are deterministic and don't accept
arguments.
- Those which are definitively unsafe (e.g. examine <addr>, search
<addr> <value>)
- Commands which may be safe to execute depending on the arguments
provided (e.g. show thread <addr>).

Safe commands have been flagged as such with the DB_CMD_MEMSAFE flag.

Commands requiring extra validation can provide a function to do so.
For example, 'show thread <addr>' can be used as long as addr can be
checked against the system's list of process structures.

The policy also prevents debugger backends other than ddb(4) from
executing, for example gdb(4).

Reviewed by: markj, pauamma_gundo.com (manpages)
Sponsored by: Juniper Networks, Inc.
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D35371


# a4d55999 21-Jun-2022 Ed Maste <emaste@FreeBSD.org>

Remove ISA sound cards from NOTES

Fixes: df51e63eb5d7 ("Retire snd_ad1816 ISA sound card driver")
Fixes: aa83e9b189d6 ("Retire snd_ess ISA sound card driver")
Fixes: 754decef384a ("Retire snd_gusc ISA sound card driver")
Fixes: 5126e5eeeb5e ("Retire snd_mss ISA sound card driver")
Fixes: 716924cb4832 ("Retire snd_sbc ISA sound card driver")

Sponsored by: The FreeBSD Foundation


# efd0fdfe 09-Apr-2022 Gordon Bergling <gbe@FreeBSD.org>

NOTES: Remove a double word in comments

- s/for for/for/

MFC after: 3 days


# b34f7568 02-Apr-2022 Gordon Bergling <gbe@FreeBSD.org>

NOTES: Fix a typo in a comments

- s/accomodate/accommodate/

MFC after: 3 days


# 92e6b471 18-Mar-2022 Ed Maste <emaste@FreeBSD.org>

Retire broken snd_ds1 and snd_maestro drivers

In 2012 joel@ reported[1] that these were not functional, and they do
not appear to have been fixed since.

[1] https://lists.freebsd.org/pipermail/freebsd-multimedia/2012-January/012751.html

Reported by: joel
Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# 5ba41925 03-Jan-2022 Mark Johnston <markj@FreeBSD.org>

Remove an obsolete warning from NOTES

The PREEMPTION option is enabled in all GENERIC kernel configurations.

MFC after: 1 week


# 5a73a6c1 31-Dec-2021 Warner Losh <imp@FreeBSD.org>

Add lio back to NOTES

lio appears to be partially removed from this file. It's a modern enough
card, so add it back. It builds everywhere.

Sponsored by: Netflix


# b4fba31b 14-Dec-2021 Warner Losh <imp@FreeBSD.org>

Remove references to PCMCIA

Remove more references to PCMCIA in kernel config files. We no longer
support PC Card devices.

Sponsored by: Netflix


# 339ef827 06-Dec-2021 Mitchell Horne <mhorne@FreeBSD.org>

Remove references to sio(4) from NOTES

Also zs(4) and sab(4), which have similarly been removed.

Reviewed by: imp, jhb, emaste
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D33279


# bf2fa8d9 04-Dec-2021 Florian Walpen <dev@submerge.ch>

MAC/priority module for realtime privilege group

This is a MAC policy module that grants scheduling privileges based on
group membership. Users or processes in the group realtime (gid 47) are
allowed to run threads and processes with realtime scheduling priority.
For timing-sensitive, low-latency software like audio/jack, running with
realtime priority helps to avoid stutter and gaps.

PR: 239125
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D33191


# 0d5935af 25-Nov-2021 Warner Losh <imp@FreeBSD.org>

esp: Remove

Belatedly remove esp(4). It was tagged as gone in 13, but was overlooked
until now.

Sponsored by: Netflix
Reviewed by: scottl
Differential Revision: https://reviews.freebsd.org/D33115


# 60de2867 25-Nov-2021 Warner Losh <imp@FreeBSD.org>

amr: remove

Belatedly remove amr(4). It was slated to depart before 13.0 but was
overlooked until now.

Sponsored by: Netflix
Relnotes: yes
Reviewed by: scottl
Differential Revision: https://reviews.freebsd.org/D33113


# 399188a2 25-Nov-2021 Warner Losh <imp@FreeBSD.org>

iir: Remove

Belatedly remove iir(4). It was slated to go before 13, but was
overlooked.

Sponsored by: Netflix
Relnotes: yes
Reviewed by: scottl
Differential Revision: https://reviews.freebsd.org/D33112


# a9620045 25-Nov-2021 Warner Losh <imp@FreeBSD.org>

mly: Remove.

We'd said this was going away in 13, but was overlooked. Belatedly
remove.

Sponsored by: Netflix
Relnotes: yes
Reviewed by: scottl
Differential Revision: https://reviews.freebsd.org/D33111


# 4e85b648 15-Nov-2021 Kristof Provost <kp@FreeBSD.org>

Add a COMPAT_FREEBSD13 kernel option

Use it wherever COMPAT_FREEBSD11 is currently specified.

Reviewed by: jhb (previous version)
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D33005


# b8d60729 11-Nov-2021 Randall Stewart <rrs@FreeBSD.org>

tcp: Congestion control cleanup.

NOTE: HEADS UP read the note below if your kernel config is not including GENERIC!!

This patch does a bit of cleanup on TCP congestion control modules. There were some rather
interesting surprises that one could get i.e. where you use a socket option to change
from one CC (say cc_cubic) to another CC (say cc_vegas) and you could in theory get
a memory failure and end up on cc_newreno. This is not what one would expect. The
new code fixes this by requiring a cc_data_sz() function so we can malloc with M_WAITOK
and pass in to the init function preallocated memory. The CC init is expected in this
case *not* to fail but if it does and a module does break the
"no fail with memory given" contract we do fall back to the CC that was in place at the time.

This also fixes up a set of common newreno utilities that can be shared amongst other
CC modules instead of the other CC modules reaching into newreno and executing
what they think is a "common and understood" function. Lets put these functions in
cc.c and that way we have a common place that is easily findable by future developers or
bug fixers. This also allows newreno to evolve and grow support for its features i.e. ABE
and HYSTART++ without having to dance through hoops for other CC modules, instead
both newreno and the other modules just call into the common functions if they desire
that behavior or roll there own if that makes more sense.

Note: This commit changes the kernel configuration!! If you are not using GENERIC in
some form you must add a CC module option (one of CC_NEWRENO, CC_VEGAS, CC_CUBIC,
CC_CDG, CC_CHD, CC_DCTCP, CC_HTCP, CC_HD). You can have more than one defined
as well if you desire. Note that if you create a kernel configuration that does not
define a congestion control module and includes INET or INET6 the kernel compile will
break. Also you need to define a default, generic adds 'options CC_DEFAULT=\"newreno\"
but you can specify any string that represents the name of the CC module (same names
that show up in the CC module list under net.inet.tcp.cc). If you fail to add the
options CC_DEFAULT in your kernel configuration the kernel build will also break.

Reviewed by: Michael Tuexen
Sponsored by: Netflix Inc.
RELNOTES:YES
Differential Revision: https://reviews.freebsd.org/D32693


# 48cb3fee 26-Oct-2021 Ed Maste <emaste@FreeBSD.org>

Retire obsolete iscsi_initiator(4)

The new iSCSI initiator iscsi(4) was introduced with FreeBSD 10.0, and
the old intiator was marked obsolete shortly thereafter (in commit
d32789d95cfbf, MFC'd to stable/10 in ba54910169c4). Remove it now.

Reviewed by: jhb, mav
Relnotes: yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D32673


# 6aae3517 20-Oct-2021 Gleb Smirnoff <glebius@FreeBSD.org>

Retire synchronous PPP kernel driver sppp(4).

The last two drivers that required sppp are cp(4) and ce(4).

These devices are still produced and can be purchased
at Cronyx <http://cronyx.ru/hardware/wan.html>.

Since Roman Kurakin <rik@FreeBSD.org> has quit them, they no
longer support FreeBSD officially. Later they have dropped
support for Linux drivers to. As of mid-2020 they don't even
have a developer to maintain their Windows driver. However,
their support verbally told me that they could provide aid to
a FreeBSD developer with documentaion in case if there appears
a new customer for their devices.

These drivers have a feature to not use sppp(4) and create an
interface, but instead expose the device as netgraph(4) node.
Then, you can attach ng_ppp(4) with help of ports/net/mpd5 on
top of the node and get your synchronous PPP. Alternatively
you can attach ng_frame_relay(4) or ng_cisco(4) for HDLC.
Actually, last time I used cp(4) back in 2004, using netgraph(4)
instead of sppp(4) was already the right way to do.

Thus, remove the sppp(4) related part of the drivers and enable
by default the negraph(4) part. Further maintenance of these
drivers in the tree shouldn't be a big deal.

While doing that, remove some cruft and enable cp(4) compilation
on amd64. The ce(4) for some unknown reason marks its internal
DDK functions with __attribute__ fastcall, which most likely is
safe to remove, but without hardware I'm not going to do that, so
ce(4) remains i386-only.

Reviewed by: emaste, imp, donner
Differential Revision: https://reviews.freebsd.org/D32590
See also: https://reviews.freebsd.org/D23928


# 4cc167a3 11-Oct-2021 Konstantin Belousov <kib@FreeBSD.org>

Restore PPS_SYNC in NOTES

This partially reverts e81e77c5a055, leaving the option both in
GENERICs on amd64/arm64/arm, and in global NOTES file. Apparently
this better matches existing practice, where we do not try to hard
to make LINT and GENERIC complimentary.

Requested and reviewed by: jhb
Sponsored by: The FreeBSD Foundation
MFC after: 1 week


# e81e77c5 10-Oct-2021 Konstantin Belousov <kib@FreeBSD.org>

Enable PPS_SYNC on amd64, arm64 and armv7

Remove the option from NOTES/LINT, and add to NOTES for powerpc and
riscv.

PR: 259036
Requested by: John Hay <john@sanren.ac.za>
Discussed with: ian, imp
Sponsored by: The FreeBSD Foundation
MFC after: 1 week


# b9485d76 11-Sep-2021 John Baldwin <jhb@FreeBSD.org>

Add EPOCH_TRACE to NOTES to get LINT coverage.

Sponsored by: The FreeBSD Foundation


# c0c70334 13-Jul-2021 Warner Losh <imp@FreeBSD.org>

pccard: remove pccard device from all kernels

All the PC Card drivers have been removed from the tree. Remove the
pccard drivers from all the kernels.

Sponsored by: Netflix


# bf3a3852 08-Jul-2021 Bjoern A. Zeeb <bz@FreeBSD.org>

fan53555: attach to build and switch from syr827

Rather than extending syr827 for syr828 (as initially done in D31103)
switch to the Fairchild Semiconductor Corporation fan53555 implementation
which is in-tree but was not attached to the build. The fan53555
implementation also supports syr827/syr8278 already. [1]
Update NOTES and the arm64 GENERIC configuration for the switch.
syr827 for now stays in the tree but is not used by any
kernel configuration.

Suggested by: mmel [1]
Reviewed by: mmel, manu
Differential Revision: https://reviews.freebsd.org/D31112


# e013e369 21-Jun-2021 Dmitry Chagin <dchagin@FreeBSD.org>

linux(4): Get rid of Linuxulator kernel build options.

Stop confusing people, retire COMPAT_LINUX and COMPAT_LINUX32 kernel
build options. Since we have 32 and 64 bit Linux emulators, we can't build both
emulators together into the kernel. I don't think it matters, Linux emulation
depends on loadable modules (via rc).

Cut LINPROCFS and LINSYSFS for consistency.

PR: 215061
Reviewed by: bcr (manpages), trasz
Differential Revision: https://reviews.freebsd.org/D30751
MFC after: 2 weeks


# 0febdc5e 18-Jun-2021 Warner Losh <imp@FreeBSD.org>

NOTES: Improve wording

jhb@ pointed out an extra plural in this phrase and a gramatical error,
so reword a little to be less awkward to fix both issues.

Sponsored by: Netflix


# 7bd29575 18-Jun-2021 Warner Losh <imp@FreeBSD.org>

NOTES: fix typo

Noted by: gj@
Sponsored by: Netflix


# 0f882bb1 18-Jun-2021 Warner Losh <imp@FreeBSD.org>

NOTES: Update the HZ entry with latest advice.

Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D30804


# 345077cc 12-Jun-2021 Mateusz Guzik <mjg@FreeBSD.org>

Remove an(4) leftover from conf/NOTES

Unbreaks LINT kernels.


# 0cff00ae 22-Mar-2021 Ed Maste <emaste@FreeBSD.org>

retire obsolete mn(4) sync serial driver

Approved by: phk
Relnotes: yes


# 750ea20d 18-Feb-2021 Konstantin Belousov <kib@FreeBSD.org>

Delete dead CLUSTERDEBUG config option.

Reviewed by: mckusick
Tested by: pho
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D28679


# efa9c21b 13-Jan-2021 Andrew Gallatin <gallatin@FreeBSD.org>

KTLS: Enable KERN_TLS in GENERIC on amd64

Based on discussions on freebsd-arch@, enable KERN_TLS in
GENERIC on amd64, but leave it disabled via the
sysctl kern.ipc.tls.enable. Users wishing to enable
ktls must set kern.ipc.tls.enable=1

While here, fix wording in NOTES to mention that KERN_TLS
also does receive now.

Sponsored by: Netflix

Reviewed by: allanjude
Differential Revision: https://reviews.freebsd.org/D28163


# b62f6dfa 12-Jan-2021 Vladimir Kondratyev <wulf@FreeBSD.org>

hid: Replace USBHID_ENABLED kernel config option with loader tunable

usbhid(4) is disabled by default to avoid conflicts with existing USB HID
drivers. To enable it place following lines to /boot/loader.conf:

hw.usb.usbhid.enable=1
usbhid_load="YES"

Suggested by: jhb
Reviewed by: hselasky
Differential revision: https://reviews.freebsd.org/D28124


# 0f0379fa 09-Jan-2021 Vladimir Kondratyev <wulf@FreeBSD.org>

hid: Add recently imported drivers to NOTES

Reviewed by: hselasky
Differential revision: https://reviews.freebsd.org/D28060


# a898ee51 09-Jan-2021 Hans Petter Selasky <hselasky@FreeBSD.org>

Fix LINT kernel build after 01f2e864f79584c0cd250a8e7cfb501a9985768a.

Differential revision: https://reviews.freebsd.org/D27893
Sponsored by: Mellanox Technologies // NVIDIA Networking


# a21def4d 07-Jan-2021 Warner Losh <imp@FreeBSD.org>

pccard: Remove wi(4) driver

Remove wi(4). pccard is going away, and wi only supports PC Card
devices, though it has a minor amount of glue to also support
PCI cards. However, removing the one without removing the other
is hard, so the whole driver is being removed.

Relnotes: Yes


# 23e124c7 07-Jan-2021 Warner Losh <imp@FreeBSD.org>

pccard: Remove bt3c(4) driver

pccard is being removed, so remove bt3c driver since it only has PC
Card attachment. Also remove bt3cfw(8) since it's the firmware for this
driver.

Relnotes: Yes


# 0d3a424a 07-Jan-2021 Warner Losh <imp@FreeBSD.org>

pccard: Remove cmx(4) driver

The only attachment of cmx was pccard, so remove the driver in
anticipation of PC Card support removal.

Relnotes: Yes


# e51ed06a 26-Dec-2020 Marius Strobl <marius@FreeBSD.org>

mlphy(4)/tlphy(4): Remove obsolete drivers

These drivers should have been removed along with tl(4) as part of
7c897ca91fe1cdb785531d2f5aa0d441c1d73142 and r347918 respectively
as these fromer made sure to only ever attach to the latter, e. g.:
<...>
static int
tlphy_probe(device_t dev)
{

if (!mii_dev_mac_match(dev, "tl"))
return (ENXIO);
<...>


# b63eeef4 26-Dec-2020 Marius Strobl <marius@FreeBSD.org>

scc(4)/uart(4): Remove obsolete support for Siemens SAB 82532

It's no longer used since 58aa35d42975c298ca0adba705c042596303c9f5
and r357455 respectively.


# 863de60e 25-Dec-2020 Marius Strobl <marius@FreeBSD.org>

scc.4: Add Freescale/NXP QUICC to the list of supported controllers

Support was added in e1ef781113fba635a7fa4a979607261385971992 and
r176772 respectively.


# 9ee99cec 11-Dec-2020 Brooks Davis <brooks@FreeBSD.org>

hme(4): Remove as previous announced

The hme (Happy Meal Ethernet) driver was the onboard NIC in most
supported sparc64 platforms. A few PCI NICs do exist, but we have seen
no evidence of use on non-sparc systems.

Reviewed by: imp, emaste, bcr
Sponsored by: DARPA


# 926ce35a 24-Nov-2020 Jung-uk Kim <jkim@FreeBSD.org>

Port rtsx(4) driver for Realtek SD card reader from OpenBSD.

This driver provides support for Realtek PCI SD card readers. It attaches
mmc(4) bus on card insertion and detaches it on card removal. It has been
tested with RTS5209, RTS5227, RTS5229, RTS522A, RTS525A and RTL8411B. It
should also work with RTS5249, RTL8402 and RTL8411.

PR: 204521
Submitted by: Henri Hennebert (hlh at restart dot be)
Reviewed by: imp, jkim
Differential Revision: https://reviews.freebsd.org/D26435


# a3c41f8b 10-Oct-2020 Conrad Meyer <cem@FreeBSD.org>

Add "Fenestras X" alternative /dev/random implementation

Fortuna remains the default; no functional change to GENERIC.

Big picture:
- Scalable entropy generation with per-CPU, buffered local generators.
- "Push" system for reseeding child generators when root PRNG is
reseeded. (Design can be extended to arc4random(9) and userspace
generators.)
- Similar entropy pooling system to Fortuna, but starts with a single
pool to quickly bootstrap as much entropy as possible early on.
- Reseeding from pooled entropy based on time schedule. The time
interval starts small and grows exponentially until reaching a cap.
Again, the goal is to have the RNG state depend on as much entropy as
possible quickly, but still periodically incorporate new entropy for
the same reasons as Fortuna.

Notable design choices in this implementation that differ from those
specified in the whitepaper:
- Blake2B instead of SHA-2 512 for entropy pooling
- Chacha20 instead of AES-CTR DRBG
- Initial seeding. We support more platforms and not all of them use
loader(8). So we have to grab the initial entropy sources in kernel
mode instead, as much as possible. Fortuna didn't have any mechanism
for this aside from the special case of loader-provided previous-boot
entropy, so most of these sources remain TODO after this commit.

Reviewed by: markm
Approved by: csprng (markm)
Differential Revision: https://reviews.freebsd.org/D22837


# fedeb08b 03-Oct-2020 Alexander V. Chernikov <melifaro@FreeBSD.org>

Introduce scalable route multipath.

This change is based on the nexthop objects landed in D24232.

The change introduces the concept of nexthop groups.
Each group contains the collection of nexthops with their
relative weights and a dataplane-optimized structure to enable
efficient nexthop selection.

Simular to the nexthops, nexthop groups are immutable. Dataplane part
gets compiled during group creation and is basically an array of
nexthop pointers, compiled w.r.t their weights.

With this change, `rt_nhop` field of `struct rtentry` contains either
nexthop or nexthop group. They are distinguished by the presense of
NHF_MULTIPATH flag.
All dataplane lookup functions returns pointer to the nexthop object,
leaving nexhop groups details inside routing subsystem.

User-visible changes:

The change is intended to be backward-compatible: all non-mpath operations
should work as before with ROUTE_MPATH and net.route.multipath=1.

All routes now comes with weight, default weight is 1, maximum is 2^24-1.

Current maximum multipath group width is statically set to 64.
This will become sysctl-tunable in the followup changes.

Using functionality:
* Recompile kernel with ROUTE_MPATH
* set net.route.multipath to 1

route add -6 2001:db8::/32 2001:db8::2 -weight 10
route add -6 2001:db8::/32 2001:db8::3 -weight 20

netstat -6On

Nexthop groups data

Internet6:
GrpIdx NhIdx Weight Slots Gateway Netif Refcnt
1 ------- ------- ------- --------------------------------------- --------- 1
13 10 1 2001:db8::2 vlan2
14 20 2 2001:db8::3 vlan2

Next steps:
* Land outbound hashing for locally-originated routes ( D26523 ).
* Fix net/bird multipath (net/frr seems to work fine)
* Add ROUTE_MPATH to GENERIC
* Set net.route.multipath=1 by default

Tested by: olivier
Reviewed by: glebius
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D26449


# f9ba2bbe 23-Sep-2020 Warner Losh <imp@FreeBSD.org>

Use envvar rather than nonstandard hint. lines

The NOTES files have a bunch of hint lines that are removed when
generating LINT. However, we can achieve the same effect by prepending
each of the lines with 'envvar' so the NOTES files become standard
config(8) files. No functional changes as the sed script to generate
the LINT files filters these either way.

Suggested by: kevans


# fb702b44 28-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

ZFS: clarify dependencies for static linking


# 1a369db0 20-Aug-2020 Warner Losh <imp@FreeBSD.org>

Unbreak LINT

Remove ufm from the NOTES file.


# 64612d4e 30-Jun-2020 Conrad Meyer <cem@FreeBSD.org>

geom(4): Kill GEOM_PART_EBR_COMPAT option

Take advantage of Warner's nice new real GEOM aliasing system and use it for
aliased partition names that actually work.

Our canonical EBR partition name is the weird, not-default-on-x86-prior-to-
this-revision "da1p4+00001234." However, if compatibility mode (tunable
kern.geom.part.ebr.compat_aliases) is enabled (1, default), we continue to
provide the alias names like "da1p5" in addition to the weird canonical
names.

Naming partition providers was just one aspect of the COMPAT knob; in
addition it limited mutability, in part because it did not preserve existing
EBR header content aside from that of LBA 0. This change saves the EBR
header for LBA 0, as well as for every EBR partition encountered. That way,
when we write out the EBR partition table on modification, we can restore
any bootloader or other metadata in both LBA0 (the first data-containing EBR
may start after 0) as well as every logical EBR we read from the disk, and
only update the geometry metadata and linked list pointers that describe the
actual partitioning.

(This change does not add support for the 'bootcode' verb to EBR.)

PR: 232463
Reported by: Manish Jain <bourne.identity AT hotmail.com>
Discussed with: ae (no objection)
Relnotes: maybe
Differential Revision: https://reviews.freebsd.org/D24939


# 95033af9 18-Jun-2020 Mark Johnston <markj@FreeBSD.org>

Add the SCTP_SUPPORT kernel option.

This is in preparation for enabling a loadable SCTP stack. Analogous to
IPSEC/IPSEC_SUPPORT, the SCTP_SUPPORT kernel option must be configured
in order to support a loadable SCTP implementation.

Discussed with: tuexen
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation


# e9ee2675 04-Jun-2020 Mark Johnston <markj@FreeBSD.org>

Update vt(4) config option names to chase r303043.

PR: 246080
Submitted by: David Marec <david@lapinbilly.eu>
MFC after: 1 week


# 97e25132 11-May-2020 John Baldwin <jhb@FreeBSD.org>

Remove ubsec(4).

This driver was previously marked for deprecation in r360710.

Approved by: csprng (cem, gordon, delphij)
Relnotes: yes
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D24766


# 3fcdcab0 13-Apr-2020 Conrad Meyer <cem@FreeBSD.org>

Disable QUEUE_MACRO_DEBUG_TRACE in LINT kernels

It changes the size of TAILQ_ENTRY, which obviously impacts ABI in a variety of
ways. Some of these things are _Static_asserted. For now, mask the option
from LINT.

Reported by: crees, np, jhb
X-MFC-With: r359829
Sponsored by: Dell EMC Isilon


# 37bd4ba9 12-Apr-2020 Conrad Meyer <cem@FreeBSD.org>

Add queue(2) debug macros as build options

Add QUEUE_MACRO_DEBUG_TRACE and QUEUE_MACRO_DEBUG_TRASH as proper kernel
options. While here, alpha-sort the debug section of sys/conf/options.

Enable QUEUE_MACRO_DEBUG_TRASH in amd64 GENERIC (but not GENERIC-NODEBUG)
kernels. It is similar in nature and cost to other use-after-free pointer
trashing we do in GENERIC. It is probably reasonable to enable in any arch
GENERIC kernel that defines INVARIANTS.


# 78c1387f 02-Apr-2020 Ian Lepore <ian@FreeBSD.org>

Add the Cadence GEM ethernet driver to NOTES so that it gets built with
LINT kernels. Move the config for it from files.<arch> files into the
main config (conf/files), because it works on multiple platforms now.


# d8c51c6f 05-Mar-2020 Leandro Lupori <luporl@FreeBSD.org>

[aacraid] Port driver to big-endian

Port aacraid driver to big-endian (BE) hosts.

The immediate goal of this change is to make it possible to use the
aacraid driver on PowerPC64 machines that have Adaptec Series 8 SAS
controllers.

Adapters supported by this driver expect FIB contents in little-endian
(LE) byte order. All FIBs have a fixed header part as well as a data
part that depends on the command being issued to the controller.

In this way, on BE hosts, the FIB header and all FIB data structures
used in aacraid.c and aacraid_cam.c need to be converted to LE before
being sent to the adapter and converted to BE when coming from it.

The functions to convert each struct are on aacraid_endian.c.
For little-endian (LE) targets, they are macros that expand
to nothing.
In some cases, when only a few fields of a large structure are used,
the fields are converted inline, by the code using them.

PR: 237463
Reviewed by: jhibbits
Sponsored by: Eldorado Research Institute (eldorado.org.br)
Differential Revision: https://reviews.freebsd.org/D23887


# 95695e46 01-Mar-2020 Warner Losh <imp@FreeBSD.org>

Remove BROOKTREE_ALLOC_PAGES now that bktr is now gone.


# daba5ace 01-Mar-2020 Warner Losh <imp@FreeBSD.org>

Finish removal of bktr

Remove the old ioctl .h files
Remove copying/linking ioctl .h files in instasllworld
Remove bktr from lint
Add now-removed files with ObsoleteFiles


# 58aa35d4 03-Feb-2020 Warner Losh <imp@FreeBSD.org>

Remove sparc64 kernel support

Remove all sparc64 specific files
Remove all sparc64 ifdefs
Removee indireeect sparc64 ifdefs


# 51691e26 01-Feb-2020 Warner Losh <imp@FreeBSD.org>

Remove vpo.4

The Parallel Port SCSI adapter was interesting for 100MB ZIP drives, but is no
longer used or maintained. Remove it from the tree.

The Parallel Port microsequencer (microseq.9) is now mostly unused in the tree,
but remains. PPI still refrences it, but doesn't use its full functionality.

Relnotes: Yes
Reviewed by: rgrimes@, Ihor Antonov
Discussed on: arch@
Differential Revision: https://reviews.freebsd.org/D23389


# 422d05da 02-Jan-2020 Ian Lepore <ian@FreeBSD.org>

Add support for i2c bus mux hardware.

An i2c bus can be divided into segments which can be selectively connected
and disconnected from the main bus. This is usually done to enable using
multiple slave devices having the same address, by isolating the devices
onto separate bus segments, only one of which is connected to the main bus
at once.

There are several types of i2c bus muxes, which break down into two general
categories...

- Muxes which are themselves i2c slaves. These devices respond to i2c
commands on their upstream bus, and based on those commands, connect
various downstream buses to the upstream. In newbus terms, they are both
a child of an iicbus and the parent of one or more iicbus instances.
- Muxes which are not i2c devices themselves. Such devices are part of the
i2c bus electrically, but in newbus terms their parent is some other
bus. The association with the upstream bus must be established by
separate metadata (such as FDT data).

In both cases, the mux driver has one or more iicbus child instances
representing the downstream buses. The mux driver implements the iicbus_if
interface, as if it were an iichb host bridge/i2c controller driver. It
services the IO requests sent to it by forwarding them to the iicbus
instance representing the upstream bus, after electrically connecting the
upstream bus to the downstream bus that hosts the i2c slave device which
made the IO request.

The net effect is automatic mux switching which is transparent to slaves on
the downstream buses. They just do i2c IO they way they normally do, and the
bus is electrically connected for the duration of the IO and then idled when
it is complete.

The existing iicbus_if callback() method is enhanced so that the parameter
passed to it can be a struct which contains a device_t for the requesting
bus and slave devices. This change is done by adding a flag that indicates
the extra values are present, and making the flags field the first field of
a new args struct. If the flag is set, the iichb or mux driver can recast
the pointer-to-flags into a pointer-to-struct and access the extra
fields. Thus abi compatibility with older drivers is retained (but a mux
cannot exist on the bus with the older iicbus driver in use.)

A new set of core support routines exists in iicbus.c. This code will help
implement mux drivers for any type of mux hardware by supplying all the
boilerplate code that forwards IO requests upstream. It also has code for
parsing metadata and instantiating the child iicbus instances based on it.

Two new hardware mux drivers are added. The ltc430x driver supports the
LTC4305/4306 mux chips which are controlled via i2c commands. The
iic_gpiomux driver supports any mux hardware which is controlled by
manipulating the state of one or more gpio pins. Test Plan

Tested locally using a variety of mux'd bus configurations involving both
ltc4305 and a homebrew gpio-controlled mux. Tested configurations included
cascaded muxes (unlikely in the real world, but useful to prove that 'it all
just works' in terms of the automatic switching and upstream forwarding of
IO requests).


# 6f3bd9a6 25-Dec-2019 Ian Lepore <ian@FreeBSD.org>

Add comments to a couple i2c device lines.


# 33ce28d1 27-Nov-2019 Scott Long <scottl@FreeBSD.org>

Remove the trm(4) driver

Differential Revision: https://reviews.freebsd.org/D22575


# a3851eec 16-Nov-2019 Alan Somers <asomers@FreeBSD.org>

Actually hook CAM_IO_STATS up to the build

It's still disabled by default, but now it can be enabled with config(5) and
it will be build in LINT.

Reviewed by: imp
MFC after: 1 week
Sponsored by: Axcient
Differential Revision: https://reviews.freebsd.org/D22383


# 2ae3f52c 30-Oct-2019 Edward Tomasz Napierala <trasz@FreeBSD.org>

There's nothing architecture specific in "options STATS"; move it from
sys/amd64/conf/NOTES to sys/conf/NOTES.

Suggested by: jhb@
Sponsored by: Klara Inc, Netflix


# dda17b36 17-Oct-2019 Conrad Meyer <cem@FreeBSD.org>

Implement NetGDB(4)

NetGDB(4) is a component of a system using a panic-time network stack to
remotely debug crashed FreeBSD kernels over the network, instead of
traditional serial interfaces.

There are three pieces in the complete NetGDB system.

First, a dedicated proxy server must be running to accept connections from
both NetGDB and gdb(1), and pass bidirectional traffic between the two
protocols.

Second, the NetGDB client is activated much like ordinary 'gdb' and
similarly to 'netdump' in ddb(4) after a panic. Like other debugnet(4)
clients (netdump(4)), the network interface on the route to the proxy server
must be online and support debugnet(4).

Finally, the remote (k)gdb(1) uses 'target remote <proxy>:<port>' (like any
other TCP remote) to connect to the proxy server.

The NetGDB v1 protocol speaks the literal GDB remote serial protocol, and
uses a 1:1 relationship between GDB packets and sequences of debugnet
packets (fragmented by MTU). There is no encryption utilized to keep
debugging sessions private, so this is only appropriate for local
segments or trusted networks.

Submitted by: John Reimer <john.reimer AT emc.com> (earlier version)
Discussed some with: emaste, markj
Relnotes: sure
Differential Revision: https://reviews.freebsd.org/D21568


# 7790c8c1 17-Oct-2019 Conrad Meyer <cem@FreeBSD.org>

Split out a more generic debugnet(4) from netdump(4)

Debugnet is a simplistic and specialized panic- or debug-time reliable
datagram transport. It can drive a single connection at a time and is
currently unidirectional (debug/panic machine transmit to remote server
only).

It is mostly a verbatim code lift from netdump(4). Netdump(4) remains
the only consumer (until the rest of this patch series lands).

The INET-specific logic has been extracted somewhat more thoroughly than
previously in netdump(4), into debugnet_inet.c. UDP-layer logic and up, as
much as possible as is protocol-independent, remains in debugnet.c. The
separation is not perfect and future improvement is welcome. Supporting
INET6 is a long-term goal.

Much of the diff is "gratuitous" renaming from 'netdump_' or 'nd_' to
'debugnet_' or 'dn_' -- sorry. I thought keeping the netdump name on the
generic module would be more confusing than the refactoring.

The only functional change here is the mbuf allocation / tracking. Instead
of initiating solely on netdump-configured interface(s) at dumpon(8)
configuration time, we watch for any debugnet-enabled NIC for link
activation and query it for mbuf parameters at that time. If they exceed
the existing high-water mark allocation, we re-allocate and track the new
high-water mark. Otherwise, we leave the pre-panic mbuf allocation alone.
In a future patch in this series, this will allow initiating netdump from
panic ddb(4) without pre-panic configuration.

No other functional change intended.

Reviewed by: markj (earlier version)
Some discussion with: emaste, jhb
Objection from: marius
Differential Revision: https://reviews.freebsd.org/D21421


# 446e035c 05-Sep-2019 Ruslan Bukin <br@FreeBSD.org>

Add dwgpio to NOTES so it gets built in LINT kernels.

Sponsored by: DARPA, AFRL


# b2e60773 26-Aug-2019 John Baldwin <jhb@FreeBSD.org>

Add kernel-side support for in-kernel TLS.

KTLS adds support for in-kernel framing and encryption of Transport
Layer Security (1.0-1.2) data on TCP sockets. KTLS only supports
offload of TLS for transmitted data. Key negotation must still be
performed in userland. Once completed, transmit session keys for a
connection are provided to the kernel via a new TCP_TXTLS_ENABLE
socket option. All subsequent data transmitted on the socket is
placed into TLS frames and encrypted using the supplied keys.

Any data written to a KTLS-enabled socket via write(2), aio_write(2),
or sendfile(2) is assumed to be application data and is encoded in TLS
frames with an application data type. Individual records can be sent
with a custom type (e.g. handshake messages) via sendmsg(2) with a new
control message (TLS_SET_RECORD_TYPE) specifying the record type.

At present, rekeying is not supported though the in-kernel framework
should support rekeying.

KTLS makes use of the recently added unmapped mbufs to store TLS
frames in the socket buffer. Each TLS frame is described by a single
ext_pgs mbuf. The ext_pgs structure contains the header of the TLS
record (and trailer for encrypted records) as well as references to
the associated TLS session.

KTLS supports two primary methods of encrypting TLS frames: software
TLS and ifnet TLS.

Software TLS marks mbufs holding socket data as not ready via
M_NOTREADY similar to sendfile(2) when TLS framing information is
added to an unmapped mbuf in ktls_frame(). ktls_enqueue() is then
called to schedule TLS frames for encryption. In the case of
sendfile_iodone() calls ktls_enqueue() instead of pru_ready() leaving
the mbufs marked M_NOTREADY until encryption is completed. For other
writes (vn_sendfile when pages are available, write(2), etc.), the
PRUS_NOTREADY is set when invoking pru_send() along with invoking
ktls_enqueue().

A pool of worker threads (the "KTLS" kernel process) encrypts TLS
frames queued via ktls_enqueue(). Each TLS frame is temporarily
mapped using the direct map and passed to a software encryption
backend to perform the actual encryption.

(Note: The use of PHYS_TO_DMAP could be replaced with sf_bufs if
someone wished to make this work on architectures without a direct
map.)

KTLS supports pluggable software encryption backends. Internally,
Netflix uses proprietary pure-software backends. This commit includes
a simple backend in a new ktls_ocf.ko module that uses the kernel's
OpenCrypto framework to provide AES-GCM encryption of TLS frames. As
a result, software TLS is now a bit of a misnomer as it can make use
of hardware crypto accelerators.

Once software encryption has finished, the TLS frame mbufs are marked
ready via pru_ready(). At this point, the encrypted data appears as
regular payload to the TCP stack stored in unmapped mbufs.

ifnet TLS permits a NIC to offload the TLS encryption and TCP
segmentation. In this mode, a new send tag type (IF_SND_TAG_TYPE_TLS)
is allocated on the interface a socket is routed over and associated
with a TLS session. TLS records for a TLS session using ifnet TLS are
not marked M_NOTREADY but are passed down the stack unencrypted. The
ip_output_send() and ip6_output_send() helper functions that apply
send tags to outbound IP packets verify that the send tag of the TLS
record matches the outbound interface. If so, the packet is tagged
with the TLS send tag and sent to the interface. The NIC device
driver must recognize packets with the TLS send tag and schedule them
for TLS encryption and TCP segmentation. If the the outbound
interface does not match the interface in the TLS send tag, the packet
is dropped. In addition, a task is scheduled to refresh the TLS send
tag for the TLS session. If a new TLS send tag cannot be allocated,
the connection is dropped. If a new TLS send tag is allocated,
however, subsequent packets will be tagged with the correct TLS send
tag. (This latter case has been tested by configuring both ports of a
Chelsio T6 in a lagg and failing over from one port to another. As
the connections migrated to the new port, new TLS send tags were
allocated for the new port and connections resumed without being
dropped.)

ifnet TLS can be enabled and disabled on supported network interfaces
via new '[-]txtls[46]' options to ifconfig(8). ifnet TLS is supported
across both vlan devices and lagg interfaces using failover, lacp with
flowid enabled, or lacp with flowid enabled.

Applications may request the current KTLS mode of a connection via a
new TCP_TXTLS_MODE socket option. They can also use this socket
option to toggle between software and ifnet TLS modes.

In addition, a testing tool is available in tools/tools/switch_tls.
This is modeled on tcpdrop and uses similar syntax. However, instead
of dropping connections, -s is used to force KTLS connections to
switch to software TLS and -i is used to switch to ifnet TLS.

Various sysctls and counters are available under the kern.ipc.tls
sysctl node. The kern.ipc.tls.enable node must be set to true to
enable KTLS (it is off by default). The use of unmapped mbufs must
also be enabled via kern.ipc.mb_use_ext_pgs to enable KTLS.

KTLS is enabled via the KERN_TLS kernel option.

This patch is the culmination of years of work by several folks
including Scott Long and Randall Stewart for the original design and
implementation; Drew Gallatin for several optimizations including the
use of ext_pgs mbufs, the M_NOTREADY mechanism for TLS records
awaiting software encryption, and pluggable software crypto backends;
and John Baldwin for modifications to support hardware TLS offload.

Reviewed by: gallatin, hselasky, rrs
Obtained from: Netflix
Sponsored by: Netflix, Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D21277


# eefd8f96 13-Aug-2019 Conrad Meyer <cem@FreeBSD.org>

geom_uzip(4), mkuzip(8): Add Zstd image mode

The Zstd format bumps the CLOOP major number to 4 to avoid incompatibility
with older systems. Support in geom_uzip(4) is conditional on the ZSTDIO
kernel option, which is enabled in amd64 GENERIC, but not all in-tree
configurations.

mkuzip(8) was modified slightly to always initialize the nblocks + 1'th
offset in the CLOOP file format. Previously, it was only initialized in the
case where the final compressed block happened to be unaligned w.r.t.
DEV_BSIZE. The "Fake" last+1 block change in r298619 means that the final
compressed block's 'blen' was never correct unless the compressed uzip image
happened to be BSIZE-aligned. This happened in about 1 out of every 512
cases. The zlib and lzma decompressors are probably tolerant of extra trash
following the frame they were told to decode, but Zstd complains that the
input size is incorrect.

Correspondingly, geom_uzip(4) was modified slightly to avoid trashing the
nblocks + 1'th offset when it is known to be initialized to a good value.
This corrects the calculated final real cluster compressed length to match
that printed by mkuzip(8).

mkuzip(8) was refactored somewhat to reduce code duplication and increase
ease of adding other compression formats.

* Input block size validation was pulled out of individual compression
init routines into main().

* Init routines now validate a user-provided compression level or select
an algorithm-specific default, if none was provided.

* A new interface for calculating the maximal compressed size of an
incompressible input block was added for each driver. The generic code
uses it to validate against MAXPHYS as well as to allocate compression
result buffers in the generic code.

* Algorithm selection is now driven by a table lookup, to increase ease of
adding other formats in the future.

mkuzip(8) gained the ability to explicitly specify a compression level with
'-C'. The prior defaults -- 9 for zlib and 6 for lzma -- are maintained.
The new zstd default is 9, to match zlib.

Rather than select lzma or zlib with '-L' or its absense, respectively, a
new argument '-A <algorithm>' is provided to select 'zlib', 'lzma', or
'zstd'. '-L' is considered deprecated, but will probably never be removed.

All of the new features were documented in mkuzip.8; the page was also
cleaned up slightly.

Relnotes: yes


# ac8e5d02 13-Aug-2019 Conrad Meyer <cem@FreeBSD.org>

Remove deprecated GEOM classes

Follow-up on r322318 and r322319 and remove the deprecated modules.

Shift some now-unused kernel files into userspace utilities that incorporate
them. Remove references to removed GEOM classes in userspace utilities.

Reviewed by: imp (earlier version)
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D21249


# c1ab04fc 12-Aug-2019 Warner Losh <imp@FreeBSD.org>

Floppy driver really only works on x86

Move the floppy driver to the x86 specific notes file.

Reviewed by: jhb, manu, jhibbits, emaste
Differential Revision: https://reviews.freebsd.org/D21208


# 99e1c5ab 12-Aug-2019 Warner Losh <imp@FreeBSD.org>

Move sc out of the global file

x86 needs sc, as does sparc64. powerpc doesn't use it by default, but some old
powermac notebooks do not work with vt yet for reasons unknonw. Even so, I've
removed it from powerpc LINT. It's not in daily use there, and the intent is to
100% switch to vt now that it works for that platform to limit support burden.

All the other architectures omit some or all of the screen savers from their
lint config. Move them to the x86 NOTES files and remove the exclusions. This
reduces slightly the number of savers sparc64 compiles, but since they are in
GENERIC, the overage is adequate and if someone reaelly wants to sort them out
in sparc64 they can sweat the details and the testing.

Reviewed by: jhb (earlier version), manu (earlier version), jhibbits
Differential Revision: https://reviews.freebsd.org/D21233


# 0d89c934 12-Aug-2019 Warner Losh <imp@FreeBSD.org>

Start to split out the really x86 specific NOTES from the global notes file.
Start with COMPAT_43, since it's really only relevant to x86.

Reviewed by: jhb@
Differential Revision: https://reviews.freebsd.org/D21203


# cca72379 08-Aug-2019 Warner Losh <imp@FreeBSD.org>

Add TCP_RFC7413

We should be linting this This isn't enabled on all platforms, but compiles on
them all.

Noticed by: jhb in another review


# 5177d294 05-Aug-2019 Ian Lepore <ian@FreeBSD.org>

Add a driver for Texas Instruments ADS101x/ADS111x i2c ADC chips.

Instances of the device can be configured using hints or FDT data.

Interfaces to reconfigure the chip and extract voltage measurements from
it are available via sysctl(8).


# 0ed1d6fb 01-Aug-2019 Xin LI <delphij@FreeBSD.org>

Allow Kernel to link in both legacy libkern/zlib and new sys/contrib/zlib,
with an eventual goal to convert all legacl zlib callers to the new zlib
version:

* Move generic zlib shims that are not specific to zlib 1.0.4 to
sys/dev/zlib.
* Connect new zlib (1.2.11) to the zlib kernel module, currently built
with Z_SOLO.
* Prefix the legacy zlib (1.0.4) with 'zlib104_' namespace.
* Convert sys/opencrypto/cryptodeflate.c to use new zlib.
* Remove bundled zlib 1.2.3 from ZFS and adapt it to new zlib and make
it depend on the zlib module.
* Fix Z_SOLO build of new zlib.

PR: 229763
Submitted by: Yoshihiro Ota <ota j email ne jp>
Reviewed by: markm (sys/dev/zlib/zlib_kmod.c)
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D19706


# 0bab2b6e 23-Jun-2019 Ian Lepore <ian@FreeBSD.org>

Add pwm devices to NOTES.


# 6e36309d 23-Jun-2019 Ian Lepore <ian@FreeBSD.org>

Add gpio(4) and related drivers to NOTES.


# ac6a9e47 23-Jun-2019 Ian Lepore <ian@FreeBSD.org>

Add some i2c slave-device drivers that were missing from NOTES.


# c363b16c 20-Jun-2019 Conrad Meyer <cem@FreeBSD.org>

sys: Remove DEV_RANDOM device option

Remove 'device random' from kernel configurations that reference it (most).
Replace perhaps mistaken 'nodevice random' in two MIPS configs with 'options
RANDOM_LOADABLE' instead. Document removal in UPDATING; update NOTES and
random.4.

Reviewed by: delphij, markm (previous version)
Approved by: secteam(delphij)
Differential Revision: https://reviews.freebsd.org/D19918


# 7a582e53 17-May-2019 Brooks Davis <brooks@FreeBSD.org>

FCP-101: Remove xe(4)

Relnotes: yes
FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md
Reviewed by: jhb, imp
Differential Revision: https://reviews.freebsd.org/D20230


# 02fae06a 17-May-2019 Brooks Davis <brooks@FreeBSD.org>

FCP-101: Remove wb(4)

Relnotes: yes
FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md
Reviewed by: jhb, imp
Differential Revision: https://reviews.freebsd.org/D20230


# e8504bf9 17-May-2019 Brooks Davis <brooks@FreeBSD.org>

FCP-101: Remove vx(4).

Relnotes: yes
FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md
Reviewed by: jhb, imp
Differential Revision: https://reviews.freebsd.org/D20230


# be345ff0 17-May-2019 Brooks Davis <brooks@FreeBSD.org>

FCP-101: Remove txp(4).

Relnotes: yes
FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md
Reviewed by: jhb, imp
Differential Revision: https://reviews.freebsd.org/D20230


# b1b1c2fe 17-May-2019 Brooks Davis <brooks@FreeBSD.org>

FCP-101: Remove tx(4).

Relnotes: yes
FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md
Reviewed by: jhb, imp
Differential Revision: https://reviews.freebsd.org/D20230


# 7c897ca9 17-May-2019 Brooks Davis <brooks@FreeBSD.org>

FCP-101: Remove tl(4).

Relnotes: yes
FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md
Reviewed by: jhb, imp
Differential Revision: https://reviews.freebsd.org/D20230


# 90089841 17-May-2019 Brooks Davis <brooks@FreeBSD.org>

FCP-101: Remove sn(4).

Relnotes: yes
FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md
Reviewed by: jhb, imp
Differential Revision: https://reviews.freebsd.org/D20230


# 3b70dd81 17-May-2019 Brooks Davis <brooks@FreeBSD.org>

FCP-101: Remove sf(4).

Relnotes: yes
FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md
Reviewed by: jhb, imp
Differential Revision: https://reviews.freebsd.org/D20230


# 607790d1 17-May-2019 Brooks Davis <brooks@FreeBSD.org>

FCP-101: Remove pcn(4).

Relnotes: yes
FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md
Reviewed by: jhb, imp
Differential Revision: https://reviews.freebsd.org/D20230


# dd262716 17-May-2019 Brooks Davis <brooks@FreeBSD.org>

FCP-101: Remove fe(4).

Relnotes: yes
FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md
Reviewed by: jhb, imp
Differential Revision: https://reviews.freebsd.org/D20230


# 3ee01a13 17-May-2019 Brooks Davis <brooks@FreeBSD.org>

FCP-101: Remove ex(4).

Relnotes: yes
FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md
Reviewed by: jhb, imp
Differential Revision: https://reviews.freebsd.org/D20230


# e153ee66 17-May-2019 Brooks Davis <brooks@FreeBSD.org>

FCP-101: Remove ep(4).

Relnotes: yes
FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md
Reviewed by: jhb, imp
Differential Revision: https://reviews.freebsd.org/D20230


# 08ac01a9 17-May-2019 Brooks Davis <brooks@FreeBSD.org>

FCP-101: Remove de(4).

Relnotes: yes
FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md
Reviewed by: jhb, imp
Differential Revision: https://reviews.freebsd.org/D20230


# c9c8bf05 07-May-2019 Hans Petter Selasky <hselasky@FreeBSD.org>

Fix LINT linking issue.

Add missing mlxfw symbols to LINT builds.

MFC after: 3 days
Sponsored by: Mellanox Technologies


# 251a32b5 07-May-2019 Kyle Evans <kevans@FreeBSD.org>

tun/tap: merge and rename to `tuntap`

tun(4) and tap(4) share the same general management interface and have a lot
in common. Bugs exist in tap(4) that have been fixed in tun(4), and
vice-versa. Let's reduce the maintenance requirements by merging them
together and using flags to differentiate between the three interface types
(tun, tap, vmnet).

This fixes a couple of tap(4)/vmnet(4) issues right out of the gate:
- tap devices may no longer be destroyed while they're open [0]
- VIMAGE issues already addressed in tun by kp

[0] emaste had removed an easy-panic-button in r240938 due to devdrn
blocking. A naive glance over this leads me to believe that this isn't quite
complete -- destroy_devl will only block while executing d_* functions, but
doesn't block the device from being destroyed while a process has it open.
The latter is the intent of the condvar in tun, so this is "fixed" (for
certain definitions of the word -- it wasn't really broken in tap, it just
wasn't quite ideal).

ifconfig(8) also grew the ability to map an interface name to a kld, so
that `ifconfig {tun,tap}0` can continue to autoload the correct module, and
`ifconfig vmnet0 create` will now autoload the correct module. This is a
low overhead addition.

(MFC commentary)

This may get MFC'd if many bugs in tun(4)/tap(4) are discovered after this,
and how critical they are. Changes after this are likely easily MFC'd
without taking this merge, but the merge will be easier.

I have no plans to do this MFC as of now.

Reviewed by: bcr (manpages), tuexen (testing, syzkaller/packetdrill)
Input also from: melifaro
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D20044


# d6745408 02-May-2019 Conrad Meyer <cem@FreeBSD.org>

Add a COMPAT_FREEBSD12 kernel option.

Use it wherever COMPAT_FREEBSD11 is currently specified, like r309749.

Reviewed by: imp, jhb, markj
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D20120


# 94851f37 22-Apr-2019 Mark Johnston <markj@FreeBSD.org>

Clarify the relationship between INVARIANTS and DIAGNOSTIC a bit.

MFC after: 1 week
Sponsored by: The FreeBSD Foundation


# f7ab0158 13-Apr-2019 Warner Losh <imp@FreeBSD.org>

Move mpr/mps drivers from per-arch NOTES files into the MI notes
file. They are in more arches they they aren't. Add appropriate
nodevice directives in powerpc and arm.


# 45916554 28-Mar-2019 Kyle Evans <kevans@FreeBSD.org>

NOTES: Use non-default value for BOOT_TAG

Reported by: jhb
MFC after: 1 week (except non-empty value in stable/11)


# 123af6ec 20-Mar-2019 Alan Somers <asomers@FreeBSD.org>

Rename fuse(4) to fusefs(4)

This makes it more consistent with other filesystems, which all end in "fs",
and more consistent with its mount helper, which is already named
"mount_fusefs".

Reviewed by: cem, rgrimes
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D19649


# 5a62e92f 01-Mar-2019 Alexander Motin <mav@FreeBSD.org>

There is no `device atacard` but there is `device atapccard`.

Reported by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
MFC after: 1 week


# e8643b01 26-Feb-2019 Konstantin Belousov <kib@FreeBSD.org>

Modularize xz.

Embedded lzma decompression library becomes a module usable by other
consumers, in addition to geom_uzip.

Most important code changes are
- removal of XZ_DEC_SINGLE define, we need the code to work
with XZ_DEC_DYNALLOC;
- xz_crc32_init() call is removed from geom_uzip, xz module handles
initialization on its own.

xz is no longer embedded into geom_uzip, instead the depend line for
the module is provided, and corresponding kernel option is added to
each MIPS kernel config file using geom_uzip.

The commit also carries unrelated cleanup by removing excess "device geom_uzip"
in places which were missed in r344479.

Reviewed by: cem, hselasky, ray, slavash (previous versions)
Sponsored by: Mellanox Technologies
Differential revision: https://reviews.freebsd.org/D19266
MFC after: 3 weeks


# 440f1cf7 22-Feb-2019 Bruce Evans <bde@FreeBSD.org>

Quick fix for building LINT on i386. A fix is needed on all arches and
this one should also work on amd64 and sparc64.

LINT was broken in r312910 with the removal of pc98 support, by changing
the pathname in UKBD_DFLT_KEYBAP from a removed pc98 file to a nonexistent
file.

There are many bugs nearby. Some are:
- the error is not properly detected and handled by make(1), because
kbdcontrol(8) exits with status 0 after failing to find the keymap file
- UKBD_DFLT_KEYBAP is supposed to be MI, and is in MI NOTES to try enforce
this, but 5 out of 8 arches don't support it
- LINT seems to have been broken by this in only 7 out of 8 arches. mips
breaks test coverage instead, by killing this option in its MD NOTES.
arm kills ukbd but that is not enough to configure an unsupported option
used only by ukbd.


# d09131e0 21-Feb-2019 Bruce Evans <bde@FreeBSD.org>

Connect the restored dumb and sc terminal emulators to the kernel build.
Add or fix options to control static and dynamic configuration. Keep
the default of scteken, but default to statically configuring all available
emulators (now 3 instead of 1).

The dumb emulator is almost usable. libedit and libreadline handle
dumb terminals perfectly for at least shell history. less(1) works
as well as possible except on exit. But curses programs make messes.
The dumb emulator has strange color support, with 2 dumb colors for
normal output but fancy colorization for the cursor, mouse pointer and
(with a non-dumb initial emulator) for low-level console output.

Using the sc emulator instead of the default of scteken fixes at least
the following bugs:
- NUL is a printing character in cons25 but not in teken
- teken doesn't support fixed colors for "reverse" video.
- The best versions of sc are about 10 times faster than scteken (for
printing to the frame buffer). This version is only about 5 times
faster.

Fix configuration features:
- make SC_DFLT_TERM (for setting the initial emulator) a normal option.

Add configuration features:
- negative options SC_NO_TERM_* for omitting emulators in the static config.
Modules for emulators might work, but I don't know of any
- vidcontrol -e shows the available emulators
- vidcontrol -E <emulator> sets the active emulator.


# 06da0ce0 15-Feb-2019 Andriy Voskoboinyk <avos@FreeBSD.org>

GC ATA_REQUEST_TIMEOUT option remnants

It was removed from code in r249083 and from sys/conf/options in r249213.

PR: 222170
MFC after: 3 days


# c75f49f7 31-Jan-2019 Konstantin Belousov <kib@FreeBSD.org>

Make iflib a loadable module.

iflib is already a module, but it is unconditionally compiled into the
kernel. There are drivers which do not need iflib(4), and there are
situations where somebody might not want iflib in kernel because of
using the corresponding driver as module.

Reviewed by: marius
Discussed with: erj
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D19041


# 86d535ab 25-Jan-2019 Andriy Voskoboinyk <avos@FreeBSD.org>

Garbage collect AH_SUPPORT_AR5416 config option.

It does nothing since r318857.


# 4945f79a 20-Jan-2019 Andriy Voskoboinyk <avos@FreeBSD.org>

Remove IEEE80211_AMPDU_AGE config option.

It is noop since r297774.


# b9e0c8c2 12-Dec-2018 Maxim Sobolev <sobomax@FreeBSD.org>

Add NETGRAPH_CHECKSUM.

MFC after: 1 week


# 24b6d871 26-Oct-2018 Warner Losh <imp@FreeBSD.org>

Redo r339563: Remove joy(4) driver.

This driver was marked as gone in 12. We're at 13 now. Remove it.
Data from nycbug's dmesg cache shows only one potential user,
suggesting it never was used much. However, even though this device
has been obsolete for 15 years at least, sys/joystick.h is included in
a number of graphics packages still, so that remains. A full exprun
is needed before that can be removed.

RelNotes: yes
Differential Revision: https://reviews.freebsd.org/D17629


# 7c320a22 25-Oct-2018 Warner Losh <imp@FreeBSD.org>

Revert r339563.

I held the mistaken belief this was completely unused. While the
driver is unused and likely not relevant for a long time,
sys/joystick.h lives on in maybe half a dozen ports, even though
hardware to use it hasn't been widely used in maybe 15 years.


# 6a186782 21-Oct-2018 Warner Losh <imp@FreeBSD.org>

Remove the ncr(4) drive.

This driver has been obsolete since the FreeBSD 4.x. It should have
been removed then since the sym(4) driver had subsumed it. The driver
was commented out of GENERIC in 2000.

RelNotes: Yes


# e9b5375b 21-Oct-2018 Warner Losh <imp@FreeBSD.org>

Retire dpt(4)

Marked as gone in 12 and not relevant since the early 90s. No
sightings in nycbug's dmesg database.

Relnotes: yes


# a1db7455 21-Oct-2018 Warner Losh <imp@FreeBSD.org>

Remove bt(4) driver

The buslogic scsi driver has been tagged as gone in 12 for some time
now. Remove it. The nycbug dmesg database shows only one sighting in 6
for this driver. It was very popular in the early days of the project,
but that popularity seems to have died by 2004 when the nycbug
database started up.

Relnotes: yes


# 43b16da8 21-Oct-2018 Warner Losh <imp@FreeBSD.org>

Remove adv(4) and adw(4)

Remove the advanssy drivers (both adv and adw). They were tagged as
gone in 12 a while qgo. The nycbug dmesg database shows this was last
seen in 6 and there were only a few adv sightings then (none for adw).

Relnotes: yes


# c24bd33d 21-Oct-2018 Warner Losh <imp@FreeBSD.org>

Remove aic(4) driver

aic was marked to be gone in 12 a while ago. Go ahead and remove it.
nycbug's dmesg database shows this was last seen in 6 and one more
time in 4.x. It never was popular, and what popularity it had was over
before the nycbug databse got going in 2004.

Relnotes: yes


# 39c362e0 21-Oct-2018 Warner Losh <imp@FreeBSD.org>

Remove aha(4) from the tree.

We tagged aha as gone in 12 a while ago. Proceed with its removal.
Data from nycbug's database shows the last sighting of this driver in
6, with the prior one in 4.x show its popularity had died prior to
4.x.

Relnotes: yes


# 33a54d77 21-Oct-2018 Warner Losh <imp@FreeBSD.org>

Remove joy(4) driver.

This driver was marked as gone in 12. We're at 13 now. Remove it.
Data from nycbug's dmesg cache shows only one potential user,
suggesting it never was used much.

RelNotes: yes
Differential Revision: https://reviews.freebsd.org/D17629


# 19fa89e9 25-Aug-2018 Mark Murray <markm@FreeBSD.org>

Remove the Yarrow PRNG algorithm option in accordance with due notice
given in random(4).

This includes updating of the relevant man pages, and no-longer-used
harvesting parameters.

Ensure that the pseudo-unit-test still does something useful, now also
with the "other" algorithm instead of Yarrow.

PR: 230870
Reviewed by: cem
Approved by: so(delphij,gtetlow)
Approved by: re(marius)
Differential Revision: https://reviews.freebsd.org/D16898


# 4ca8c1ef 22-Aug-2018 Conrad Meyer <cem@FreeBSD.org>

KASSERT: Make runtime optionality optional

Add an option, KASSERT_PANIC_OPTIONAL, that allows runtime KASSERT()
behavior changes. When this option is not enabled, code that allows
KASSERTs to become optional is not enabled, and all violated assertions
cause termination.

The runtime KASSERT behavior was added in r243980.

One important distinction here is that panic has __dead2
("attribute((noreturn))"), while kassert_panic does not. Static analyzers
like Coverity understand __dead2. Without it, KASSERTs go misunderstood,
resulting in many false positives that result from violation of program
invariants.

Reviewed by: jhb, jtl, np, vangyzen
Relnotes: yes
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D16835


# 2a4650cc 09-Aug-2018 Kyle Evans <kevans@FreeBSD.org>

BOOT_TAG: Make a config(5) option, expose as sysctl and loader tunable

BOOT_TAG lived shortly in sys/msgbuf.h, but this wasn't necessarily great
for changing it or removing it. Move it into subr_prf.c and add options for
it to opt_printf.h.

One can specify both the BOOT_TAG and BOOT_TAG_SZ (really, size of the
buffer that holds the BOOT_TAG). We expose it as kern.boot_tag and also add
a loader tunable by the same name that we'll fetch upon initialization of
the msgbuf.

This allows for flexibility and also ensures that there's a consistent way
to figure out the boot tag of the running kernel, rather than relying on
headers to be in-sync.

Prodded super-super-lightly by: imp


# b5988450 01-Aug-2018 Ravi Pokala <rpokala@FreeBSD.org>

Remove jedec_ts(4)

The jedec_ts(4) driver has been marked as deprecated in stable/11, and is
now being removed from -HEAD. Add a notice in UPDATING, and update the few
remaining references (regarding jedec_dimm(4)'s compatibility and history)
to reflect the fact that jedec_ts(4) is now deleted.

Reviewed by: avg
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D16537


# 3496c981 19-Jul-2018 Ian Lepore <ian@FreeBSD.org>

Make it possible to run ntpd as a non-root user, add ntpd uid and gid.

Code analysis and runtime analysis using truss(8) indicate that the only
privileged operations performed by ntpd are adjusting system time, and
(re-)binding to privileged UDP port 123. These changes add a new mac(4)
policy module, mac_ntpd(4), which grants just those privileges to any
process running with uid 123.

This also adds a new user and group, ntpd:ntpd, (uid:gid 123:123), and makes
them the owner of the /var/db/ntp directory, so that it can be used as a
location where the non-privileged daemon can write files such as the
driftfile, and any optional logfile or stats files.

Because there are so many ways to configure ntpd, the question of how to
configure it to run without root privs can be a bit complex, so that will be
addressed in a separate commit. These changes are just what's required to
grant the limited subset of privs to ntpd, and the small change to ntpd to
prevent it from exiting with an error if running as non-root.

Differential Revision: https://reviews.freebsd.org/D16281


# 2d7e9271 11-Jul-2018 Ian Lepore <ian@FreeBSD.org>

Add various spi devices to NOTES. Add some required options for building
the cqspi and n25q drivers.


# 1fcf4de0 21-Jun-2018 Ian Lepore <ian@FreeBSD.org>

Incorporate bus and chip select numbers into spigen(4) cdev names. Rather
than assigning spigen device names in order of creation, this uses a device
name that corresponds to the owning spibus and chip-select index.

Example: /dev/spigen0.1 would be a child of spibus0, and use cs = 1

The intent is for systems like Raspberry Pi to have a consistent way of
using an SPI interface with a specific cs value from a user application.
Otherwise, there is no consistent way of knowing which cs pin will be
assigned to a particular spigen device. The alternative is to specify
everything in "the right order" in an overlay file, which is less than
ideal. Additionally, this duplicates (to some extent) the way Linux handles
a similar situation with their 'spidev' device, so it would be somewhat
familiar to those who also use Linux.

A new kernel config option, SPIGEN_LEGACY_CDEVNAME, causes the driver to
also create /dev/spigenN device name aliases, with N incrementing in the
order of device instantiation. This is provided to ease the transition
for existing systems using the original naming convention (particularly
when these changes are MFC'd to stable branches).

Differential Revision: https://reviews.freebsd.org/D15301


# 199b9ab8 21-Jun-2018 Ian Lepore <ian@FreeBSD.org>

Add a note about using option VERBOSE_SYSINIT=0 to get the verbose code
compiled in but disabled by default.


# 46033610 07-Jun-2018 Matt Macy <mmacy@FreeBSD.org>

unbreak LINT build after r334804


# 7b2c7b92 07-Jun-2018 Breno Leitao <leitao@FreeBSD.org>

md: use prestaged mfs_root

On PowerNV systems, the rootfs is passed through kexec, which loads the rootfs
into memory and set two fdt entries to describe where the file is located in
the memory;

I need to pass this memory region to the md device as a mfs_root, but, current
md driver does not support two things:

* Just getting a pointer from an external (bootloader) memory. If I need to
workaround it, I would need to declare a static array and memcopy from this
external memory to this static variable.

* The size of the image. The usage of mfs_root_end, which is not a pointer,
seems to be not possible for this prestaged scenario.

This patch simply adds a new way to load mfs_root from memory.

Differential Revision: https://reviews.freebsd.org/D15625
Approved by: kib, jhibbits (mentor)


# 97291303 02-Jun-2018 Bruce Evans <bde@FreeBSD.org>

Improve defaults for per-CPU kernel console colors, especially with 2
or 4 CPUs. Add a compile-time option SC_KERNEL_CONS_ATTRS to control the
defaults.

Default to color numbers in reverse order to CPU numbers (instead of
in the same order with white first and wrapping to dark grey), so that
the brightest bright colors are used first. Don't use dark grey at all;
replace it by dark green.

Syscons has too many compile-time options, but this one is needed in
in case the defaults give something like white on white, or the user
really hates this feature and can't wait to turn it off in rc.

MFC after: next release?


# a6bc59f2 31-May-2018 Matt Macy <mmacy@FreeBSD.org>

Reduce overhead of entropy collection

- move harvest mask check inline
- move harvest mask to frequently_read out of actively
modified cache line
- disable ether_input collection and describe its limitations
in NOTES

Typically entropy collection in ether_input was stirring zero
in to the entropy pool while at the same time greatly reducing
max pps. This indicates that perhaps we should more closely
scrutinize how much entropy we're getting from a given source
as well as what our actual entropy collection needs are for
seeding Yarrow.

Reviewed by: cem, gallatin, delphij
Approved by: secteam
Differential Revision: https://reviews.freebsd.org/D15526


# 6f78fad3 17-May-2018 Sean Bruno <sbruno@FreeBSD.org>

Retire vxge(4).

This driver was merged to HEAD one week prior to Exar publicly announcing they
had left the Ethernet market. It is not known to be used and has various code
quality issues spotted by Brooks and Hiren. Retire it in preparation for
FreeBSD 12.0.

Submitted by: kbowling
Reviewed by: brooks imp
Relnotes: yes
Sponsored by: Limelight Networks
Differential Revision: https://reviews.freebsd.org/D15442


# 57b49365 08-May-2018 Sean Bruno <sbruno@FreeBSD.org>

nxge(4):
Remove nxge(4) and associated man page and tools in FreeBSD 12.0.

Submitted by: kbowling
Reviewed by: brooks
Relnotes: yes
Sponsored by: Limelight Networks
Differential Revision: https://reviews.freebsd.org/D1529


# e5054602 05-May-2018 Mark Johnston <markj@FreeBSD.org>

Import the netdump client code.

This is a component of a system which lets the kernel dump core to
a remote host after a panic, rather than to a local storage device.
The server component is available in the ports tree. netdump is
particularly useful on diskless systems.

The netdump(4) man page contains some details describing the protocol.
Support for configuring netdump will be added to dumpon(8) in a future
commit. To use netdump, the kernel must have been compiled with the
NETDUMP option.

The initial revision of netdump was written by Darrell Anderson and
was integrated into Sandvine's OS, from which this version was derived.

Reviewed by: bdrewery, cem (earlier versions), julian, sbruno
MFC after: 1 month
X-MFC note: use a spare field in struct ifnet
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D15253


# 2695c9c1 02-May-2018 Sean Bruno <sbruno@FreeBSD.org>

Retire ixgb(4)

This driver was for an early and uncommon legacy PCI 10GbE for a single
ASIC, Intel 82597EX. Intel quickly shifted to the long lived ixgbe family.

Submitted by: kbowling
Reviewed by: brooks imp jeffrey.e.pieper@intel.com
Relnotes: yes
Sponsored by: Limelight Networks
Differential Revision: https://reviews.freebsd.org/D15234


# e6a376d1 01-May-2018 Ed Maste <emaste@FreeBSD.org>

Retire lmc(4)

This driver supports legacy, 32-bit PCI devices, and had an ambiguous
license. Supported devices were already reported to be rare in 2003
(when an earlier version of the driver was removed in r123201).

Reviewed by: rgrimes
Relnotes: Yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D15245


# 14ec0f3a 26-Apr-2018 Sean Bruno <sbruno@FreeBSD.org>

move smartpqi(4) controller out of NOTES and into sys/amd64/NOTES to
appease LINT

Submitted by: rpokala
Reported by: npn


# 1e66f787 26-Apr-2018 Sean Bruno <sbruno@FreeBSD.org>

martpqi(4):
- Microsemi SCSI driver for PQI controllers.
- Found on newer model HP servers.
- Restrict to AMD64 only as per developer request.

The driver provides support for the new generation of PQI controllers
from Microsemi. This driver is the first SCSI driver to implement the PQI
queuing model and it will replace the aacraid driver for Adaptec Series 9
controllers. HARDWARE Controllers supported by the driver include:

HPE Gen10 Smart Array Controller Family
OEM Controllers based on the Microsemi Chipset.

Submitted by: deepak.ukey@microsemi.com
Relnotes: yes
Sponsored by: Microsemi
Differential Revision: https://reviews.freebsd.org/D14514


# 5aafa305 15-Apr-2018 Brooks Davis <brooks@FreeBSD.org>

Remove device cm which was removed in r332490.


# a3d2e7b1 14-Apr-2018 Eitan Adler <eadler@FreeBSD.org>

sys: remove 'cm' from notes

Followup to r332490

MFC After: never
PR: 182297


# 3a4fc8a8 13-Apr-2018 Brooks Davis <brooks@FreeBSD.org>

Remove support for the Arcnet protocol.

While Arcnet has some continued deployment in industrial controls, the
lack of drivers for any of the PCI, USB, or PCIe NICs on the market
suggests such users aren't running FreeBSD.

Evidence in the PR database suggests that the cm(4) driver (our sole
Arcnet NIC) was broken in 5.0 and has not worked since.

PR: 182297
Reviewed by: jhibbits, vangyzen
Relnotes: yes
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D15057


# 0437c8e3 11-Apr-2018 Brooks Davis <brooks@FreeBSD.org>

Remove support for FDDI networks.

Defines in net/if_media.h remain in case code copied from ifconfig is in
use elsewere (supporting non-existant media type is harmless).

Reviewed by: kib, jhb
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D15017


# 2967ace8 09-Apr-2018 Kyle Evans <kevans@FreeBSD.org>

Retire the geom_aes class

It's had a good life, but it's not really configurable and not really used.

Obtained from: opBSD (with some changes)
Differential Revision: https://reviews.freebsd.org/D14991


# 69f0fecb 28-Mar-2018 Brooks Davis <brooks@FreeBSD.org>

Remove infrastructure for token-ring networks.

Reviewed by: cem, imp, jhb, jmallett
Relnotes: yes
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D14875


# e24e5683 23-Mar-2018 Jonathan T. Looney <jtl@FreeBSD.org>

Make the TCP blackbox code committed in r331347 be an optional feature
controlled by the TCP_BLACKBOX option.

Enable this as part of amd64 GENERIC. For now, leave it disabled on
other platforms.

Sponsored by: Netflix, Inc.


# d38677d2 14-Mar-2018 Warner Losh <imp@FreeBSD.org>

Create a sysctl kern.cam.{,a,n}da.X.invalidate

kern.cam.{,a,n}da.X.invalidate=1 forces *daX to detach by calling
cam_periph_invalidate on the underlying periph. This is for testing
purposes only. Include only with options CAM_TEST_FAILURE and rename
the former [AN]DA_TEST_FAILURE, and fix nda to compile with it set.
We're using it at work to harden geom and the buffer cache to be
resilient in the face of drive failure. Today, it far too often
results in a panic. While much work was done on SIM initiated removal
for the USB thumnb drive removal work, little has been done for periph
initiated removal. This simulates what *daerror() does for some errors
nicely: we get the same panics with it that we do with failing drives.

Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D14581


# dcd935df 22-Feb-2018 Ravi Pokala <rpokala@FreeBSD.org>

jedec_dimm(4): report asset info and temperatures for DDR3 and DDR4 DIMMs

A super-set of the functionality of jedec_ts(4). jedec_dimm(4) reports asset
information (Part Number, Serial Number) encoded in the "Serial Presence
Detect" (SPD) data on JEDEC DDR3 and DDR4 DIMMs. It also calculates and
reports the memory capacity of the DIMM, in megabytes. If the DIMM includes
a "Thermal Sensor On DIMM" (TSOD), the temperature is also reported.

Reviewed by: cem
MFC after: 1 week
Relnotes: yes
Sponsored by: Panasas
Differential Revision: https://reviews.freebsd.org/D14392
Discussed with: avg, cem
Tested by: avg, cem (previous version, no semantic changes)


# 6026dcd7 13-Feb-2018 Mark Johnston <markj@FreeBSD.org>

Add support for zstd-compressed user and kernel core dumps.

This works similarly to the existing gzip compression support, but
zstd is typically faster and gives better compression ratios.

Support for this functionality must be configured by adding ZSTDIO to
one's kernel configuration file. dumpon(8)'s new -Z option is used to
configure zstd compression for kernel dumps. savecore(8) now recognizes
and saves zstd-compressed kernel dumps with a .zst extension.

Submitted by: cem (original version)
Relnotes: yes
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D13101,
https://reviews.freebsd.org/D13633


# b6715dab 13-Jan-2018 Jeff Roberson <jeff@FreeBSD.org>

Move VM_NUMA_ALLOC and DEVICE_NUMA under the single global config option NUMA.

Sponsored by: Netflix, Dell/EMC Isilon
Discussed with: jhb


# d626b50b 02-Jan-2018 Mike Karels <karels@FreeBSD.org>

make SW_WATCHDOG dynamic

Enable the hardclock-based watchdog previously conditional on the
SW_WATCHDOG option whenever hardware watchdogs are not found, and
watchdogd attempts to enable the watchdog. The SW_WATCHDOG option
still causes the sofware watchdog to be enabled even if there is a
hardware watchdog. This does not change the other software-based
watchdog enabled by the --softtimeout option to watchdogd.

Note that the code to reprime the watchdog during kernel core dumps is
no longer conditional on SW_WATCHDOG. I think this was previously a bug.

Reviewed by: imp alfred bjk
MFC after: 1 week
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D13713


# ae3d6bfa 31-Dec-2017 Colin Percival <cperciva@FreeBSD.org>

Connect kern_tslog.c to the build and add TSLOG / TSLOGSIZE kernel options.
These are intended for debugging purposes and should not be added to
"generic" kernel configurations since they result in a nontrivial amount
of memory being set aside for this purpose, can break if kernel modules are
unloaded, and can potentially leak a dangerous amount of information about
timestamps used as a source of kernel entropy.


# 5cf10fb9 20-Dec-2017 Ian Lepore <ian@FreeBSD.org>

Add a new kernel config option, MD_ROOT_READONLY, which forces on the
MD_READONLY flag for the md device automatically instantiated during
kernel init for an mdroot filesystem.

Note that there is specifically and by design no tunable or sysctl
control over this feature. Without this option, you already have control
over whether the mdroot fs is writeable using vfs.root.mountfrom.options
from loader(8), the root_rw_mount rcvar, and by using "mount -u[rw] /"
or equivelent on the fly. This option is being added to provide a way
to make the mdroot fs truly immutable before userland code begins running.

Differential Revision: https://reviews.freebsd.org/D13411


# 9f0abda0 07-Dec-2017 Michael Tuexen <tuexen@FreeBSD.org>

Retire SCTP_WITH_NO_CSUM option.

This option was used in the early days to allow performance measurements
extrapolating the use of SCTP checksum offloading. Since this feature
is now available, get rid of this option.
This also un-breaks the LINT kernel. Thanks to markj@ for making me
aware of the problem.


# 8e94025b 20-Oct-2017 Bjoern A. Zeeb <bz@FreeBSD.org>

With r181803 on 2008-08-17 23:27:27Z the first VIMAGE commit went into
HEAD. Enable VIMAGE in GENERIC kernels and some others (where GENERIC does
not exist) on HEAD.

Disable building LINT-VIMAGE with VIMAGE being default.

This should give it a lot more exposure in the run-up to 12 to help
us evaluate whether to keep it on by default or not.
We are also hoping to get better performance testing.
The feature can be disabled using nooptions.

Requested by: many
Reviewed by: kristof, emaste, hiren
X-MFC after: never
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D12639


# 39ed7f25 17-Oct-2017 Brooks Davis <brooks@FreeBSD.org>

Remove mbpool(9) now that it has no consumers.

mbpool existed to support NICs with memory interfaces and all remaining
comsumers were removed earlier this year with NATM.

Reviewed by: jhb
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D10513


# 68467b12 12-Sep-2017 Sean Bruno <sbruno@FreeBSD.org>

Jenkins i386 LINT build uses NOTES to generate its LINT kernel config.

ixl(4) isn't in here either, so I'll remove lio(4) too.


# f173c2b7 12-Sep-2017 Sean Bruno <sbruno@FreeBSD.org>

The diff is the initial submission of Cavium Liquidio 2350/2360 10/25G
Intelligent NIC driver.

The submission conconsists of firmware binary file and driver sources.

Submitted by: pkanneganti@cavium.com (Prasad V Kanneganti)
Relnotes: Yes
Sponsored by: Cavium Networks
Differential Revision: https://reviews.freebsd.org/D11927


# 90cff13c 13-Aug-2017 Ian Lepore <ian@FreeBSD.org>

Remove the old ds1374 driver and use the ds13rtc driver instead. Adjust
several mips config files accordingly.


# bb2e8108 13-Aug-2017 Ian Lepore <ian@FreeBSD.org>

Add a new driver, ds13rtc, that handles all DS13xx series i2c RTC chips.

This driver supports only basic timekeeping functionality. It completely
replaces the ds133x driver. It can also replace the ds1374 driver, but that
will take a few other changes in MIPS code and config, and will be committed
separately. It does NOT replace the existing ds1307 driver, which provides
access to some of the extended features on the 1307 chip, such as controlling
the square wave output signal. If both ds1307 and ds13rtc drivers are
present, the ds1307 driver will outbid and win control of the device.

This driver can be configured with FDT data, or by using hints on non-FDT
systems. In addition to the standard hints for i2c devices, it requires
a "chiptype" string of the form "dallas,ds13xx" where 'xx' is the chip id
(i.e., the same format as FDT compat strings).


# 20995eab 09-Aug-2017 Warner Losh <imp@FreeBSD.org>

Mark geom classes as deprecated.

geom_bsd, geom_mbr and geom_sunlabel have been obsolete since Marcel
Moolenaar's geom_part was in FreeBSD 7. They haven't been in GENERIC
since FreeBSD 8. Add warning when used.

geom_vol_ffs has been obsolete since ufs support to geom_label was
committed in FreeBSD 5. It hasn't been in GENERIC since FreeBSD 5.
Add warning when used.

geom_fox has been obsolete since gmultipath was committed in FreeBSD 7.
(no warning added, since this is a very obscure class).

These will all be removed in FreeBSD 12.

MFC After: 3 days
Differential Revision: https://reviews.freebsd.org/D11935

Note: Classes will be removed after MFC


# 46ec180e 29-Jul-2017 Ian Lepore <ian@FreeBSD.org>

Move the device descriptions onto the device lines, so they cut and paste
nicely into other config files.


# abf199db 29-Jul-2017 Ian Lepore <ian@FreeBSD.org>

Add a few missing i2c devices that build fine on all arches.


# ae69ad88 27-Jul-2017 Bjoern A. Zeeb <bz@FreeBSD.org>

After inpcb route caching was put back in place there is no need for
flowtable anymore (as flowtable was never considered to be useful in
the forwarding path).

Reviewed by: np
Differential Revision: https://reviews.freebsd.org/D11448


# 27c8e6b8 13-Jul-2017 Glen Barber <gjb@FreeBSD.org>

Fix a missing comment marker.

MFC after: 3 days
Sponsored by: The FreeBSD Foundation


# 3c4c0efd 07-Jun-2017 Bryan Drewery <bdrewery@FreeBSD.org>

vm.defer_swapspace_pageouts was removed in r308474.


# 5033c43b 17-May-2017 John Baldwin <jhb@FreeBSD.org>

Add a driver for the Chelsio T6 crypto accelerator engine.

The ccr(4) driver supports use of the crypto accelerator engine on
Chelsio T6 NICs in "lookaside" mode via the opencrypto framework.

Currently, the driver supports AES-CBC, AES-CTR, AES-GCM, and AES-XTS
cipher algorithms as well as the SHA1-HMAC, SHA2-256-HMAC, SHA2-384-HMAC,
and SHA2-512-HMAC authentication algorithms. The driver also supports
chaining one of AES-CBC, AES-CTR, or AES-XTS with an authentication
algorithm for encrypt-then-authenticate operations.

Note that this driver is still under active development and testing and
may not yet be ready for production use. It does pass the tests in
tests/sys/opencrypto with the exception that the AES-GCM implementation
in the driver does not yet support requests with a zero byte payload.

To use this driver currently, the "uwire" configuration must be used
along with explicitly enabling support for lookaside crypto capabilities
in the cxgbe(4) driver. These can be done by setting the following
tunables before loading the cxgbe(4) driver:

hw.cxgbe.config_file=uwire
hw.cxgbe.cryptocaps_allowed=-1

MFC after: 1 month
Relnotes: yes
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D10763


# a7dc3128 24-Apr-2017 Brooks Davis <brooks@FreeBSD.org>

Remove the NATM framework including the en(4), fatm(4), hatm(4), and
patm(4) devices.

Maintaining an address family and framework has real costs when we make
infrastructure improvements. In the case of NATM we support no devices
manufactured in the last 20 years and some will not even work in modern
motherboards (some newer devices that patm(4) could be updated to
support apparently exist, but we do not currently have support).

With this change, support remains for some netgraph modules that don't
require NATM support code. It is unclear if all these should remain,
though ng_atmllc certainly stands alone.

Note well: FreeBSD 11 supports NATM and will continue to do so until at
least September 30, 2021. Improvements to the code in FreeBSD 11 are
certainly welcome.

Reviewed by: philip
Approved by: harti


# fc5bae39 07-Apr-2017 Sevan Janiyan <sevan@FreeBSD.org>

Revert previous change to sys/conf/options & associated notes so builds can
resume while I investigate what I had missed.


# ea566940 07-Apr-2017 Sevan Janiyan <sevan@FreeBSD.org>

Remove the last vestiges of FDC_DEBUG & FD_DEBUG
FDC_DEBUG is not referenced in any c or header files but traces of it
still remain in other files.

PR: 105608
Reported by: Eugene Grosbein <ports AT grosbein DOT net>
Reviewed by: imp
Approved by: bcr (mentor)
MFC after: 7 days
Differential Revision: https://reviews.freebsd.org/D10303


# aac74aea 02-Apr-2017 Andrey V. Elsukov <ae@FreeBSD.org>

Add ipfw_pmod kernel module.

The module is designed for modification of a packets of any protocols.
For now it implements only TCP MSS modification. It adds the external
action handler for "tcp-setmss" action.

A rule with tcp-setmss action does additional check for protocol and
TCP flags. If SYN flag is present, it parses TCP options and modifies
MSS option if its value is greater than configured value in the rule.
Then it adjustes TCP checksum if needed. After handling the search
continues with the next rule.

Obtained from: Yandex LLC
MFC after: 2 weeks
Relnotes: yes
Sponsored by: Yandex LLC
No objection from: #network
Differential Revision: https://reviews.freebsd.org/D10150


# 86d99b68 16-Feb-2017 Warner Losh <imp@FreeBSD.org>

Remove EISA bus support for add-in cards. Remove related kernel and
compile options. Remove doxygen pointers to now deleted files. Remove
EISA and VME as examples in bus_space.9.

Retained EISA mode code for IO PIC and MPTABLES because that's not
EISA bus, per se, and some people have abused EISA to mean "EISA-like
behavior as opposed to ISA" rather than using it for EISA add-in
cards.

Relnotes: yes


# f08a6f59 16-Feb-2017 Warner Losh <imp@FreeBSD.org>

Remove EISA attachment (fea) from pdq driver. Remove vestiges of
TurboChannel and Q-Bus support while I'm here. Remove obsolete
diagnostics from man page.


# d4bfe939 16-Feb-2017 Warner Losh <imp@FreeBSD.org>

Remove the ahb driver for the EISA Adaptec 174x.


# 596c88ee 16-Feb-2017 Warner Losh <imp@FreeBSD.org>

Remove stale MCA comment now that the MCA bus support is gone.

Relnotes: yes


# fcf59617 06-Feb-2017 Andrey V. Elsukov <ae@FreeBSD.org>

Merge projects/ipsec into head/.

Small summary
-------------

o Almost all IPsec releated code was moved into sys/netipsec.
o New kernel modules added: ipsec.ko and tcpmd5.ko. New kernel
option IPSEC_SUPPORT added. It enables support for loading
and unloading of ipsec.ko and tcpmd5.ko kernel modules.
o IPSEC_NAT_T option was removed. Now NAT-T support is enabled by
default. The UDP_ENCAP_ESPINUDP_NON_IKE encapsulation type
support was removed. Added TCP/UDP checksum handling for
inbound packets that were decapsulated by transport mode SAs.
setkey(8) modified to show run-time NAT-T configuration of SA.
o New network pseudo interface if_ipsec(4) added. For now it is
build as part of ipsec.ko module (or with IPSEC kernel).
It implements IPsec virtual tunnels to create route-based VPNs.
o The network stack now invokes IPsec functions using special
methods. The only one header file <netipsec/ipsec_support.h>
should be included to declare all the needed things to work
with IPsec.
o All IPsec protocols handlers (ESP/AH/IPCOMP protosw) were removed.
Now these protocols are handled directly via IPsec methods.
o TCP_SIGNATURE support was reworked to be more close to RFC.
o PF_KEY SADB was reworked:
- now all security associations stored in the single SPI namespace,
and all SAs MUST have unique SPI.
- several hash tables added to speed up lookups in SADB.
- SADB now uses rmlock to protect access, and concurrent threads
can do SA lookups in the same time.
- many PF_KEY message handlers were reworked to reflect changes
in SADB.
- SADB_UPDATE message was extended to support new PF_KEY headers:
SADB_X_EXT_NEW_ADDRESS_SRC and SADB_X_EXT_NEW_ADDRESS_DST. They
can be used by IKE daemon to change SA addresses.
o ipsecrequest and secpolicy structures were cardinally changed to
avoid locking protection for ipsecrequest. Now we support
only limited number (4) of bundled SAs, but they are supported
for both INET and INET6.
o INPCB security policy cache was introduced. Each PCB now caches
used security policies to avoid SP lookup for each packet.
o For inbound security policies added the mode, when the kernel does
check for full history of applied IPsec transforms.
o References counting rules for security policies and security
associations were changed. The proper SA locking added into xform
code.
o xform code was also changed. Now it is possible to unregister xforms.
tdb_xxx structures were changed and renamed to reflect changes in
SADB/SPDB, and changed rules for locking and refcounting.

Reviewed by: gnn, wblock
Obtained from: Yandex LLC
Relnotes: yes
Sponsored by: Yandex LLC
Differential Revision: https://reviews.freebsd.org/D9352


# 2b375b4e 27-Jan-2017 Yoshihiro Takahashi <nyan@FreeBSD.org>

Remove pc98 support completely.
I thank all developers and contributors for pc98.

Relnotes: yes


# ec5753e0 19-Jan-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

mppc - Finish pluging NETGRAPH_MPPC_COMPRESSION.

There were several places where reference to compression were left
unfinished. Furthermore, KASSERTs contained references to MPPC_INVALID
which is not defined in the tree and therefore were sure to break with
INVARIANTS: comment them out.

Reported by: Eugene Grosbein
PR: 216265
MFC after: 3 days


# f3e7afe2 18-Jan-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Implement kernel support for hardware rate limited sockets.

- Add RATELIMIT kernel configuration keyword which must be set to
enable the new functionality.

- Add support for hardware driven, Receive Side Scaling, RSS aware, rate
limited sendqueues and expose the functionality through the already
established SO_MAX_PACING_RATE setsockopt(). The API support rates in
the range from 1 to 4Gbytes/s which are suitable for regular TCP and
UDP streams. The setsockopt(2) manual page has been updated.

- Add rate limit function callback API to "struct ifnet" which supports
the following operations: if_snd_tag_alloc(), if_snd_tag_modify(),
if_snd_tag_query() and if_snd_tag_free().

- Add support to ifconfig to view, set and clear the IFCAP_TXRTLMT
flag, which tells if a network driver supports rate limiting or not.

- This patch also adds support for rate limiting through VLAN and LAGG
intermediate network devices.

- How rate limiting works:

1) The userspace application calls setsockopt() after accepting or
making a new connection to set the rate which is then stored in the
socket structure in the kernel. Later on when packets are transmitted
a check is made in the transmit path for rate changes. A rate change
implies a non-blocking ifp->if_snd_tag_alloc() call will be made to the
destination network interface, which then sets up a custom sendqueue
with the given rate limitation parameter. A "struct m_snd_tag" pointer is
returned which serves as a "snd_tag" hint in the m_pkthdr for the
subsequently transmitted mbufs.

2) When the network driver sees the "m->m_pkthdr.snd_tag" different
from NULL, it will move the packets into a designated rate limited sendqueue
given by the snd_tag pointer. It is up to the individual drivers how the rate
limited traffic will be rate limited.

3) Route changes are detected by the NIC drivers in the ifp->if_transmit()
routine when the ifnet pointer in the incoming snd_tag mismatches the
one of the network interface. The network adapter frees the mbuf and
returns EAGAIN which causes the ip_output() to release and clear the send
tag. Upon next ip_output() a new "snd_tag" will be tried allocated.

4) When the PCB is detached the custom sendqueue will be released by a
non-blocking ifp->if_snd_tag_free() call to the currently bound network
interface.

Reviewed by: wblock (manpages), adrian, gallatin, scottl (network)
Differential Revision: https://reviews.freebsd.org/D3687
Sponsored by: Mellanox Technologies
MFC after: 3 months


# 062a4b8c 12-Jan-2017 Sean Bruno <sbruno@FreeBSD.org>

Deprecate kernel configuration option EM_MULTIQUEUE now that the em(4)
driver conforms to iflib.


# f2d6ace4 09-Jan-2017 Sean Bruno <sbruno@FreeBSD.org>

Migrate e1000 to the IFLIB framework:
- em(4) igb(4) and lem(4)
- deprecate the igb device from kernel configurations
- create a symbolic link in /boot/kernel from if_em.ko to if_igb.ko

Devices tested:
- 82574L
- I218-LM
- 82546GB
- 82579LM
- I350
- I217

Please report problems to freebsd-net@freebsd.org

Partial review from jhb and suggestions on how to *not* brick folks who
originally would have lost their igbX device.

Submitted by: mmacy@nextbsd.org
MFC after: 2 weeks
Relnotes: yes
Sponsored by: Limelight Networks and Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D8299


# a74031a5 28-Dec-2016 John Baldwin <jhb@FreeBSD.org>

Note that the Chelsio T6 also supports 25Gbps.

To avoid overflowing 80 columns, condense the cxgbe description a bit.

Reviewed by: np


# 24957938 28-Dec-2016 John Baldwin <jhb@FreeBSD.org>

Mention T6 and 100GbE in description of cxgbe.

MFC after: 3 days


# 480f31c2 10-Dec-2016 Konrad Witaszczyk <def@FreeBSD.org>

Add support for encrypted kernel crash dumps.

Changes include modifications in kernel crash dump routines, dumpon(8) and
savecore(8). A new tool called decryptcore(8) was added.

A new DIOCSKERNELDUMP I/O control was added to send a kernel crash dump
configuration in the diocskerneldump_arg structure to the kernel.
The old DIOCSKERNELDUMP I/O control was renamed to DIOCSKERNELDUMP_FREEBSD11 for
backward ABI compatibility.

dumpon(8) generates an one-time random symmetric key and encrypts it using
an RSA public key in capability mode. Currently only AES-256-CBC is supported
but EKCD was designed to implement support for other algorithms in the future.
The public key is chosen using the -k flag. The dumpon rc(8) script can do this
automatically during startup using the dumppubkey rc.conf(5) variable. Once the
keys are calculated dumpon sends them to the kernel via DIOCSKERNELDUMP I/O
control.

When the kernel receives the DIOCSKERNELDUMP I/O control it generates a random
IV and sets up the key schedule for the specified algorithm. Each time the
kernel tries to write a crash dump to the dump device, the IV is replaced by
a SHA-256 hash of the previous value. This is intended to make a possible
differential cryptanalysis harder since it is possible to write multiple crash
dumps without reboot by repeating the following commands:
# sysctl debug.kdb.enter=1
db> call doadump(0)
db> continue
# savecore

A kernel dump key consists of an algorithm identifier, an IV and an encrypted
symmetric key. The kernel dump key size is included in a kernel dump header.
The size is an unsigned 32-bit integer and it is aligned to a block size.
The header structure has 512 bytes to match the block size so it was required to
make a panic string 4 bytes shorter to add a new field to the header structure.
If the kernel dump key size in the header is nonzero it is assumed that the
kernel dump key is placed after the first header on the dump device and the core
dump is encrypted.

Separate functions were implemented to write the kernel dump header and the
kernel dump key as they need to be unencrypted. The dump_write function encrypts
data if the kernel was compiled with the EKCD option. Encrypted kernel textdumps
are not supported due to the way they are constructed which makes it impossible
to use the CBC mode for encryption. It should be also noted that textdumps don't
contain sensitive data by design as a user decides what information should be
dumped.

savecore(8) writes the kernel dump key to a key.# file if its size in the header
is nonzero. # is the number of the current core dump.

decryptcore(8) decrypts the core dump using a private RSA key and the kernel
dump key. This is performed by a child process in capability mode.
If the decryption was not successful the parent process removes a partially
decrypted core dump.

Description on how to encrypt crash dumps was added to the decryptcore(8),
dumpon(8), rc.conf(5) and savecore(8) manual pages.

EKCD was tested on amd64 using bhyve and i386, mipsel and sparc64 using QEMU.
The feature still has to be tested on arm and arm64 as it wasn't possible to run
FreeBSD due to the problems with QEMU emulation and lack of hardware.

Designed by: def, pjd
Reviewed by: cem, oshogbo, pjd
Partial review: delphij, emaste, jhb, kib
Approved by: pjd (mentor)
Differential Revision: https://reviews.freebsd.org/D4712


# 7f68a896 09-Dec-2016 Mark Johnston <markj@FreeBSD.org>

Add a COMPAT_FREEBSD11 kernel option.

Use it wherever COMPAT_FREEBSD10 is currently specified.

Reviewed by: glebius, imp, jhb
Differential Revision: https://reviews.freebsd.org/D8736


# d933e97f 15-Nov-2016 Stephen Hurd <shurd@FreeBSD.org>

New driver for Broadcom NetXtreme-C and NetXtreme-E devices.

This driver uses the iflib framework supporting Broadcom
25/50Gbps devices.

Reviewed by: gallatin, wblock
Approved by: davidch
MFC after: 2 weeks
Relnotes: yes
Sponsored by: Broadcom Limited
Differential Revision: https://reviews.freebsd.org/D7551


# a24d62b5 30-Oct-2016 Kevin Lo <kevlo@FreeBSD.org>

Add preliminary support for the RTL8153.

Reviewed by: hselasky


# 4afdfe97 22-Oct-2016 Andriy Gapon <avg@FreeBSD.org>

jedec_ts: a driver for thermal sensors on memory modules

The driver currently supports chips that are fully compliant with the
JEDEC SPD / EEPROM / TS standard (JEDEC Standard 21-C,
TSE2002 Specification, frequenlty referred to as JEDEC JC 42.4).

Additionally some chips from STMicroelectronics are supported as well.
They are compliant except for their Device ID pattern.

Given the continued lack of any common sensor infrastructure, the driver
uses an ad-hoc sysctl to report the temperature.

Reviewed by: wblock (documentation)
MFC after: 2 weeks
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D8174


# bd79708d 11-Oct-2016 Jonathan T. Looney <jtl@FreeBSD.org>

In the TCP stack, the hhook(9) framework provides hooks for kernel modules
to add actions that run when a TCP frame is sent or received on a TCP
session in the ESTABLISHED state. In the base tree, this functionality is
only used for the h_ertt module, which is used by the cc_cdg, cc_chd, cc_hd,
and cc_vegas congestion control modules.

Presently, we incur overhead to check for hooks each time a TCP frame is
sent or received on an ESTABLISHED TCP session.

This change adds a new compile-time option (TCP_HHOOK) to determine whether
to include the hhook(9) framework for TCP. To retain backwards
compatibility, I added the TCP_HHOOK option to every configuration file that
already defined "options INET". (Therefore, this patch introduces no
functional change. In order to see a functional difference, you need to
compile a custom kernel without the TCP_HHOOK option.) This change will
allow users to easily exclude this functionality from their kernel, should
they wish to do so.

Note that any users who use a custom kernel configuration and use one of the
congestion control modules listed above will need to add the TCP_HHOOK
option to their kernel configuration.

Reviewed by: rrs, lstewart, hiren (previous version), sjg (makefiles only)
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D8185


# a6b15a34 01-Oct-2016 Oleksandr Tymoshenko <gonzo@FreeBSD.org>

Modularize evdev

- Convert "options EVDEV" to "device evdev" and "device uinput", add
modules for both new devices. They are isolated subsystems and do not
require any compile-time changes to general kernel subsytems
- For hybrid drivers that have evdev as an optional way to deliver input
events add option EVDEV_SUPPORT. Update all existing hybrid drivers
to use it instead of EVDEV
- Remove no-op DECLARE_MODULE in evdev, it's not required, MODULE_VERSION
is enough
- Add evdev module dependency to uinput

Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>


# 2b3f6d66 11-Sep-2016 Oleksandr Tymoshenko <gonzo@FreeBSD.org>

Add evdev protocol implementation

evdev is a generic input event interface compatible with Linux
evdev API at ioctl level. It allows using unmodified (apart from
header name) input evdev drivers in Xorg, Wayland, Qt.

This commit has only generic kernel API. evdev support for individual
hardware drivers like ukbd, ums, atkbd, etc. will be committed later.

Project was started by Jakub Klama as part of GSoC 2014. Jakub's
evdev implementation was later used as a base, updated and finished
by Vladimir Kondratiev.

Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>
Reviewed by: adrian, hans
Differential Revision: https://reviews.freebsd.org/D6998


# 6af45170 07-Sep-2016 John Baldwin <jhb@FreeBSD.org>

Chelsio T4/T5 VF driver.

The cxgbev/cxlv driver supports Virtual Function devices for Chelsio
T4 and T4 adapters. The VF devices share most of their code with the
existing PF4 driver (cxgbe/cxl) and as such the VF device driver
currently depends on the PF4 driver.

Similar to the cxgbe/cxl drivers, the VF driver includes a t4vf/t5vf
PCI device driver that attaches to the VF device. It then creates
child cxgbev/cxlv devices representing ports assigned to the VF.
By default, the PF driver assigns a single port to each VF.

t4vf_hw.c contains VF-specific routines from the shared code used to
fetch VF-specific parameters from the firmware.

t4_vf.c contains the VF-specific PCI device driver and includes its
own attach routine.

VF devices are required to use a different firmware request when
transmitting packets (which in turn requires a different CPL message
to encapsulate messages). This alternate firmware request does not
permit chaining multiple packets in a single message, so each packet
results in a firmware request. In addition, the different CPL message
requires more detailed information when enabling hardware checksums,
so parse_pkt() on VF devices must examine L2 and L3 headers for all
packets (not just TSO packets) for VF devices. Finally, L2 checksums
on non-UDP/non-TCP packets do not work reliably (the firmware trashes
the IPv4 fragment field), so IPv4 checksums for such packets are
calculated in software.

Most of the other changes in the non-VF-specific code are to expose
various variables and functions private to the PF driver so that they
can be used by the VF driver.

Note that a limited subset of cxgbetool functions are supported on VF
devices including register dumps, scheduler classes, and clearing of
statistics. In addition, TOE is not supported on VF devices, only for
the PF interfaces.

Reviewed by: np
MFC after: 2 months
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D7599


# 77ecef37 21-Aug-2016 Bjoern A. Zeeb <bz@FreeBSD.org>

Remove the kernel optoion for IPSEC_FILTERTUNNEL, which was deprecated
more than 7 years ago in favour of a sysctl in r192648.


# 64450fdf 19-Aug-2016 John Baldwin <jhb@FreeBSD.org>

Remove the wds(4) driver for the WD700 ISA SCSI HBA.

While this driver does do DMA, it bounce buffers all transactions through
a single 64k buffer. It also does not have a manpage.

Relnotes: yes


# 88912400 19-Aug-2016 John Baldwin <jhb@FreeBSD.org>

Remove the scd(4) driver for Sony CDU31/33 CD-ROM drives.

This is a driver for a pre-ATAPI ISA CD-ROM adapter. The driver only
uses PIO.


# 7f687043 19-Aug-2016 John Baldwin <jhb@FreeBSD.org>

Move cxgb and cxgbe down to the non-mii PCI NIC section.


# 061ae3c5 15-Aug-2016 John Baldwin <jhb@FreeBSD.org>

Remove the mcd(4) driver for Mitsumi CD-ROM players.

This is a driver for a pre-ATAPI ISA CD-ROM adapter. As noted in
the manpage, this driver is only useful as a backend to cdcontrol to
play audio CDs since it doesn't use DMA, so its data performance is
"abysmal" (and that was true in the mid 90's).


# d8caf56e 13-Aug-2016 Andrey V. Elsukov <ae@FreeBSD.org>

Add ipfw_nat64 module that implements stateless and stateful NAT64.

The module works together with ipfw(4) and implemented as its external
action module.

Stateless NAT64 registers external action with name nat64stl. This
keyword should be used to create NAT64 instance and to address this
instance in rules. Stateless NAT64 uses two lookup tables with mapped
IPv4->IPv6 and IPv6->IPv4 addresses to perform translation.

A configuration of instance should looks like this:
1. Create lookup tables:
# ipfw table T46 create type addr valtype ipv6
# ipfw table T64 create type addr valtype ipv4
2. Fill T46 and T64 tables.
3. Add rule to allow neighbor solicitation and advertisement:
# ipfw add allow icmp6 from any to any icmp6types 135,136
4. Create NAT64 instance:
# ipfw nat64stl NAT create table4 T46 table6 T64
5. Add rules that matches the traffic:
# ipfw add nat64stl NAT ip from any to table(T46)
# ipfw add nat64stl NAT ip from table(T64) to 64:ff9b::/96
6. Configure DNS64 for IPv6 clients and add route to 64:ff9b::/96
via NAT64 host.

Stateful NAT64 registers external action with name nat64lsn. The only
one option required to create nat64lsn instance - prefix4. It defines
the pool of IPv4 addresses used for translation.

A configuration of instance should looks like this:
1. Add rule to allow neighbor solicitation and advertisement:
# ipfw add allow icmp6 from any to any icmp6types 135,136
2. Create NAT64 instance:
# ipfw nat64lsn NAT create prefix4 A.B.C.D/28
3. Add rules that matches the traffic:
# ipfw add nat64lsn NAT ip from any to A.B.C.D/28
# ipfw add nat64lsn NAT ip6 from any to 64:ff9b::/96
4. Configure DNS64 for IPv6 clients and add route to 64:ff9b::/96
via NAT64 host.

Obtained from: Yandex LLC
Relnotes: yes
Sponsored by: Yandex LLC
Differential Revision: https://reviews.freebsd.org/D6434


# cc37baea 26-Jul-2016 Stephen J. Kiernan <stevek@FreeBSD.org>

Add the NUM_CORE_FILES kernel config option which specifies the limit for the
number of core files allowed by a particular process when using the %I core
file name pattern.

Sanity check at compile time to ensure the value is within the valid range of
0-10.

Reviewed by: jtl, sjg
Approved by: sjg (mentor)
Sponsored by: Juniper Networks, Inc.
Differential Revision: https://reviews.freebsd.org/D6812


# b867e84e 18-Jul-2016 Andrey V. Elsukov <ae@FreeBSD.org>

Add ipfw_nptv6 module that implements Network Prefix Translation for IPv6
as defined in RFC 6296. The module works together with ipfw(4) and
implemented as its external action module. When it is loaded, it registers
as eaction and can be used in rules. The usage pattern is similar to
ipfw_nat(4). All matched by rule traffic goes to the NPT module.

Reviewed by: hrs
Obtained from: Yandex LLC
MFC after: 1 month
Relnotes: yes
Sponsored by: Yandex LLC
Differential Revision: https://reviews.freebsd.org/D6420


# a25d93e5 25-Jun-2016 Bjoern A. Zeeb <bz@FreeBSD.org>

Unbreak building of LINT kernels after r302163.

Approved by: re (gjb)


# b38b13d8 26-May-2016 Kevin Lo <kevlo@FreeBSD.org>

Add rtwn(4) and rtwnfw(4).


# be2dfd58 17-May-2016 Mark Johnston <markj@FreeBSD.org>

Remove the MUTEX_DEBUG kernel option.

It has no counterpart among the other lock primitives and has been a
no-op for years. Mutex consistency checks are generally done whenver
INVARIANTS is enabled.


# 706923d7 17-May-2016 George V. Neville-Neil <gnn@FreeBSD.org>

Finish cleaning up after killing ReiserFS.

Remove LINT/NOTES option and file linkages.


# fb403678 16-May-2016 Adrian Chadd <adrian@FreeBSD.org>

[bhnd] Add logging macros to BHND.

There are 5 logging levels:

* ERROR
* WARN
* INFO
* DEBUG
* TRACE

There are 2 logging context:

* with
* without device

DEBUG and TRACE records are printed only if bootverbose.
Logging records are printed with source code line information if acceptable
logging level is DEBUG or TRACE.

Submitted by: Michael Zhilin <mizhka@gmail.com>
Differential Revision: https://reviews.freebsd.org/D6247


# fdce57a0 14-May-2016 John Baldwin <jhb@FreeBSD.org>

Add an EARLY_AP_STARTUP option to start APs earlier during boot.

Currently, Application Processors (non-boot CPUs) are started by
MD code at SI_SUB_CPU, but they are kept waiting in a "pen" until
SI_SUB_SMP at which point they are released to run kernel threads.
SI_SUB_SMP is one of the last SYSINIT levels, so APs don't enter
the scheduler and start running threads until fairly late in the
boot.

This change moves SI_SUB_SMP up to just before software interrupt
threads are created allowing the APs to start executing kernel
threads much sooner (before any devices are probed). This allows
several initialization routines that need to perform initialization
on all CPUs to now perform that initialization in one step rather
than having to defer the AP initialization to a second SYSINIT run
at SI_SUB_SMP. It also permits all CPUs to be available for
handling interrupts before any devices are probed.

This last feature fixes a problem on with interrupt vector exhaustion.
Specifically, in the old model all device interrupts were routed
onto the boot CPU during boot. Later after the APs were released at
SI_SUB_SMP, interrupts were redistributed across all CPUs.

However, several drivers for multiqueue hardware allocate N interrupts
per CPU in the system. In a system with many CPUs, just a few drivers
doing this could exhaust the available pool of interrupt vectors on
the boot CPU as each driver was allocating N * mp_ncpu vectors on the
boot CPU. Now, drivers will allocate interrupts on their desired CPUs
during boot meaning that only N interrupts are allocated from the boot
CPU instead of N * mp_ncpu.

Some other bits of code can also be simplified as smp_started is
now true much earlier and will now always be true for these bits of
code. This removes the need to treat the single-CPU boot environment
as a special case.

As a transition aid, the new behavior is available under a new kernel
option (EARLY_AP_STARTUP). This will allow the option to be turned off
if need be during initial testing. I plan to enable this on x86 by
default in a followup commit in the next few days and to have all
platforms moved over before 11.0. Once the transition is complete,
the option will be removed along with the !EARLY_AP_STARTUP code.

These changes have only been tested on x86. Other platform maintainers
are encouraged to port their architectures over as well. The main
things to check for are any uses of smp_started in MD code that can be
simplified and SI_SUB_SMP SYSINITs in MD code that can be removed in
the EARLY_AP_STARTUP case (e.g. the interrupt shuffling).

PR: kern/199321
Reviewed by: markj, gnn, kib
Sponsored by: Netflix


# 82cb5c3b 05-May-2016 John Baldwin <jhb@FreeBSD.org>

Native PCI-express HotPlug support.

PCI-express HotPlug support is implemented via bits in the slot
registers of the PCI-express capability of the downstream port along
with an interrupt that triggers when bits in the slot status register
change.

This is implemented for FreeBSD by adding HotPlug support to the
PCI-PCI bridge driver which attaches to the virtual PCI-PCI bridges
representing downstream ports on HotPlug slots. The PCI-PCI bridge
driver registers an interrupt handler to receive HotPlug events. It
also uses the slot registers to determine the current HotPlug state
and drive an internal HotPlug state machine. For simplicty of
implementation, the PCI-PCI bridge device detaches and deletes the
child PCI device when a card is removed from a slot and creates and
attaches a PCI child device when a card is inserted into the slot.

The PCI-PCI bridge driver provides a bus_child_present which claims
that child devices are present on HotPlug-capable slots only when a
card is inserted. Rather than requiring a timeout in the RC for
config accesses to not-present children, the pcib_read/write_config
methods fail all requests when a card is not present (or not yet
ready).

These changes include support for various optional HotPlug
capabilities such as a power controller, mechanical latch,
electro-mechanical interlock, indicators, and an attention button.
It also includes support for devices which require waiting for
command completion events before initiating a subsequent HotPlug
command. However, it has only been tested on ExpressCard systems
which support surprise removal and have none of these optional
capabilities.

PCI-express HotPlug support is conditional on the PCI_HP option
which is enabled by default on arm64, x86, and powerpc.

Reviewed by: adrian, imp, vangyzen (older versions)
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D6136


# c41df401 29-Apr-2016 John Baldwin <jhb@FreeBSD.org>

Add PCI_IOV to NOTES.


# e131ba36 29-Apr-2016 John Baldwin <jhb@FreeBSD.org>

Move 'device pci' for the PCI bus driver to the MI NOTES file.

The PCI bus was already listed in all of the MD NOTES files and the
driver should at least compile on all platforms.


# 0cc37e30 17-Apr-2016 Warner Losh <imp@FreeBSD.org>

Add CAM_NETFLIX_IOSCHED to the build.


# a13bfb09 16-Apr-2016 Luiz Otavio O Souza <loos@FreeBSD.org>

Add Codel to NOTES.

X-MFC with: r287009
Sponsored by: Rubicon Communications (Netgate)


# 14a0ca29 15-Apr-2016 Luiz Otavio O Souza <loos@FreeBSD.org>

Replace <tab><tab> with <space><tab>.

No functional change.

Sponsored by: Rubicon Communications (Netgate)


# 62d70a81 09-Apr-2016 John Baldwin <jhb@FreeBSD.org>

Add more fine-grained kernel options for NUMA support.

VM_NUMA_ALLOC is used to enable use of domain-aware memory allocation in
the virtual memory system. DEVICE_NUMA is used to enable affinity
reporting for devices such as bus_get_domain().

MAXMEMDOM must still be set to a value greater than for any NUMA support
to be effective. Note that 'cpuset -gd' always works if MAXMEMDOM is
enabled and the system supports NUMA.

Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D5782


# 46360281 07-Apr-2016 Ed Maste <emaste@FreeBSD.org>

Add option to specify built-in keymap for kbdmux

PR: 153459
Submitted by: swell.k@gmail.com


# 4f980f9f 20-Mar-2016 Adrian Chadd <adrian@FreeBSD.org>

Remove from NOTES - it's built as a module now.

Noticed by: sephe


# f3215338 01-Mar-2016 John Baldwin <jhb@FreeBSD.org>

Refactor the AIO subsystem to permit file-type-specific handling and
improve cancellation robustness.

Introduce a new file operation, fo_aio_queue, which is responsible for
queueing and completing an asynchronous I/O request for a given file.
The AIO subystem now exports library of routines to manipulate AIO
requests as well as the ability to run a handler function in the
"default" pool of AIO daemons to service a request.

A default implementation for file types which do not include an
fo_aio_queue method queues requests to the "default" pool invoking the
fo_read or fo_write methods as before.

The AIO subsystem permits file types to install a private "cancel"
routine when a request is queued to permit safe dequeueing and cleanup
of cancelled requests.

Sockets now use their own pool of AIO daemons and service per-socket
requests in FIFO order. Socket requests will not block indefinitely
permitting timely cancellation of all requests.

Due to the now-tight coupling of the AIO subsystem with file types,
the AIO subsystem is now a standard part of all kernels. The VFS_AIO
kernel option and aio.ko module are gone.

Many file types may block indefinitely in their fo_read or fo_write
callbacks resulting in a hung AIO daemon. This can result in hung
user processes (when processes attempt to cancel all outstanding
requests during exit) or a hung system. To protect against this, AIO
requests are only permitted for known "safe" files by default. AIO
requests for all file types can be enabled by setting the new
vfs.aio.enable_usafe sysctl to a non-zero value. The AIO tests have
been updated to skip operations on unsafe file types if the sysctl is
zero.

Currently, AIO requests on sockets and raw disks are considered safe
and are enabled by default. aio_mlock() is also enabled by default.

Reviewed by: cem, jilles
Discussed with: kib (earlier version)
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D5289


# 3c3cbe9c 23-Feb-2016 Maxim Sobolev <sobomax@FreeBSD.org>

Kill few remaininng instances of GEOM_UNCOMPRESS.


# f4c1f0b9 02-Feb-2016 Adrian Chadd <adrian@FreeBSD.org>

Fix MFS builds when both MD_ROOT_SIZE and MFS_IMAGE are specified

MD_ROOT_SIZE and embed_mfs.sh were basically retired as part of
https://reviews.freebsd.org/D2903 .
However, when building a kernel with 'options MD_ROOT_SIZE' specified, this
results in a non-working MFS, as within sys/dev/md/md.c we fall within the
wrong # ifdef.

This patch implements the following:

* Allow kernels to be built without the MD_ROOT_SIZE option, which results
in a kernel built as per D2903.
* Allow kernels to be built with the MD_ROOT_SIZE option, which results
in a kernel built similarly to the pre-D2903 way, with the following
differences:
* The MFS is now put in a separate section within the kernel (oldmfs,
so it differs from the mfs section introduced by D2903).
* embed_mfs.sh is changed, so it looks up the oldmfs section within the
kernel, gets its size and offset, sees if the MFS will fit within the
allocated oldmfs section and only if all is well does a dd of the MFS
image into the kernel.

Submitted by: Stanislav Galabov <sgalabov@gmail.com>
Reviewed by: brooks, imp
Differential Revision: https://reviews.freebsd.org/D5093


# f45757ca 12-Jan-2016 Christian Brueffer <brueffer@FreeBSD.org>

Document etherswitch and drivers using this framework.

MFC after: 2 weeks


# 7c309ad0 03-Jan-2016 Enji Cooper <ngie@FreeBSD.org>

Revert r293070

It seems that `options GZIP` and `options ZFS` collide because they both
define inconsistent definitions for inflate, etc

Fixing this will require upgrading zlib in the kernel, as suggested in
r245102.

Pointyhat to: ngie
Reported by: bz
Sponsored by: EMC / Isilon Storage Division


# 3baa0964 02-Jan-2016 Enji Cooper <ngie@FreeBSD.org>

Add "options ZFS" to NOTES so this will be tested with the LINT
KERNCONF when "make tinderbox" is run

This will help ensure that "options ZFS" will not be accidentally
regressed, as the current LINT configuration tests the zfs module

MFC after: 3 weeks
Sponsored by: EMC / Isilon Storage Division


# e1b74f21 30-Nov-2015 Kevin Lo <kevlo@FreeBSD.org>

Add initial support for RTL8152 USB Fast Ethernet. RTL8152 supports
IPv4/IPv6 checksum offloading and VLAN tag insertion/stripping.

Since uether doesn't provide a way to announce driver specific offload
capabilities to upper stack, checksum offloading support needs more work
and will be done in the future.

Special thanks to Hayes Wang from RealTek who gave input.


# ff6b30b9 24-Nov-2015 Kevin Lo <kevlo@FreeBSD.org>

Add dependency to uether.

Reviewed by: hselasky


# 22f2c49ab1 18-Nov-2015 Hans Petter Selasky <hselasky@FreeBSD.org>

Add the mlx5 and mlx5en modules to the i386 and amd64 kernel builds by
default and add a manual page for mlx5en. The mlx5 module contains
shared code for both infiniband and ethernet. The mlx5en module
contains specific code for ethernet functionality only. A mlx5ib
module is in the works for infiniband support.

Supported hardware:
- ConnectX-4: 10/20/25/40/50/56/100Gb/s speeds.
- ConnectX-4 LX: 10/25/40/50Gb/s speeds (low power consumption)

Refer to the mlx5en(4) manual page for a comprehensive list.

The team porting the mlx5 driver(s) to FreeBSD:
- Hans Petter Selasky <hselasky@freebsd.org>
- Oded Shanoon <odeds@mellanox.com>
- Meny Yossefi <menyy@mellanox.com>
- Shany Michaely <shanim@mellanox.com>
- Shahar Klein <shahark@mellanox.com>
- Daria Genzel <dariaz@mellanox.com>
- Mark Bloch <markb@mellanox.com>

Differential Revision: https://reviews.freebsd.org/D4163
Submitted by: Mark Block <markb@mellanox.com>
Sponsored by: Mellanox Technologies
Reviewed by: gnn @
MFC after: 3 days


# 8d59ecb2 29-Oct-2015 Hans Petter Selasky <hselasky@FreeBSD.org>

Finish process of moving the LinuxKPI module into the default kernel build.

- Move all files related to the LinuxKPI into sys/compat/linuxkpi and
its subfolders.
- Update sys/conf/files and some Makefiles to use new file locations.
- Added description of COMPAT_LINUXKPI to sys/conf/NOTES which in turn
adds the LinuxKPI to all LINT builds.
- The LinuxKPI can be added to the kernel by setting the
COMPAT_LINUXKPI option. The OFED kernel option no longer builds the
LinuxKPI into the kernel. This was done to keep the build rules for
the LinuxKPI in sys/conf/files simple.
- Extend the LinuxKPI module to include support for USB by moving the
Linux USB compat from usb.ko to linuxkpi.ko.
- Bump the FreeBSD_version.
- A universe kernel build has been done.

Reviewed by: np @ (cxgb and cxgbe related changes only)
Sponsored by: Mellanox Technologies


# 86a996e6 13-Oct-2015 Hiren Panchasara <hiren@FreeBSD.org>

There are times when it would be really nice to have a record of the last few
packets and/or state transitions from each TCP socket. That would help with
narrowing down certain problems we see in the field that are hard to reproduce
without understanding the history of how we got into a certain state. This
change provides just that.

It saves copies of the last N packets in a list in the tcpcb. When the tcpcb is
destroyed, the list is freed. I thought this was likely to be more
performance-friendly than saving copies of the tcpcb. Plus, with the packets,
you should be able to reverse-engineer what happened to the tcpcb.

To enable the feature, you will need to compile a kernel with the TCPPCAP
option. Even then, the feature defaults to being deactivated. You can activate
it by setting a positive value for the number of captured packets. You can do
that on either a global basis or on a per-socket basis (via a setsockopt call).

There is no way to get the packets out of the kernel other than using kmem or
getting a coredump. I thought that would help some of the legal/privacy concerns
regarding such a feature. However, it should be possible to add a future effort
to export them in PCAP format.

I tested this at low scale, and found that there were no mbuf leaks and the peak
mbuf usage appeared to be unchanged with and without the feature.

The main performance concern I can envision is the number of mbufs that would be
used on systems with a large number of sockets. If you save five packets per
direction per socket and have 3,000 sockets, that will consume at least 30,000
mbufs just to keep these packets. I tried to reduce the concerns associated with
this by limiting the number of clusters (not mbufs) that could be used for this
feature. Again, in my testing, that appears to work correctly.

Differential Revision: D3100
Submitted by: Jonathan Looney <jlooney at juniper dot net>
Reviewed by: gnn, hiren


# 4a3760ba 11-Oct-2015 Alexander Motin <mav@FreeBSD.org>

Remove compatibility shims for legacy ATA device names.

We got new ATA stack in FreeBSD 8.x, switched to it at 9.x, completely
removed old stack at 10.x, so at 11.x it is time to remove compat shims.


# e866d8f0 21-Aug-2015 Mark Murray <markm@FreeBSD.org>

Make the UMA harvesting go away completely if not wanted. Default to "not wanted".
Provide and document the RANDOM_ENABLE_UMA option.

Change RANDOM_FAST to RANDOM_UMA to clarify the harvesting.

Remove RANDOM_DEBUG option, replace with SDT probes. These will be of
use to folks measuring the harvesting effect when deciding whether to
use RANDOM_ENABLE_UMA.

Requested by: scottl and others.
Approved by: so (/dev/random blanket)
Differential Revision: https://reviews.freebsd.org/D3197


# 646041a8 17-Aug-2015 Mark Murray <markm@FreeBSD.org>

Add DEV_RANDOM pseudo-option and use it to "include out" random(4)
if desired.

Retire randomdev_none.c and introduce random_infra.c for resident
infrastructure. Completely stub out random(4) calls in the "without
DEV_RANDOM" case.

Add RANDOM_LOADABLE option to allow loadable Yarrow/Fortuna/LocallyWritten
algorithm. Add a skeleton "other" algorithm framework for folks
to add their own processing code. NIST, anyone?

Retire the RANDOM_DUMMY option.

Build modules for Yarrow, Fortuna and "other".

Use atomics for the live entropy rate-tracking.

Convert ints to bools for the 'seeded' logic.

Move _write() function from the algorithm-specific areas to randomdev.c

Get rid of reseed() function - it is unused.

Tidy up the opt_*.h includes.

Update documentation for random(4) modules.

Fix test program (reviewers, please leave this).

Differential Revision: https://reviews.freebsd.org/D3354
Reviewed by: wblock,delphij,jmg,bjk
Approved by: so (/dev/random blanket)


# d6579593 19-Jul-2015 Mark Murray <markm@FreeBSD.org>

Clarify the intent of the RANDOM_* options.

Approved by: so (/dev/random blanket)


# e0b231cb 14-Jul-2015 John-Mark Gurney <jmg@FreeBSD.org>

fix typos..

Submitted by: brueffer


# b65946c6 13-Jul-2015 John-Mark Gurney <jmg@FreeBSD.org>

cryptodev is not needed for TCP_SIGNATURE...

Comment that cryptodev shouldn't be used unless you know what you're
doing...

The various arm/mips and one powerpc configs that have cryptodev in
them need to be addressed, audited if they provide benefit and removed
if they don't...


# 3aa77530 12-Jul-2015 Mark Murray <markm@FreeBSD.org>

* Address review (and add a bit myself).
- Tweek man page.
- Remove all mention of RANDOM_FORTUNA. If the system owner wants YARROW or DUMMY, they ask for it, otherwise they get FORTUNA.
- Tidy up headers a bit.
- Tidy up declarations a bit.
- Make static in a couple of places where needed.
- Move Yarrow/Fortuna SYSINIT/SYSUNINIT to randomdev.c, moving us towards a single file where the algorithm context is used.
- Get rid of random_*_process_buffer() functions. They were only used in one place each, and are better subsumed into those places.
- Remove *_post_read() functions as they are stubs everywhere.
- Assert against buffer size illegalities.
- Clean up some silly code in the randomdev_read() routine.
- Make the harvesting more consistent.
- Make some requested argument name changes.
- Tidy up and clarify a few comments.
- Make some requested comment changes.
- Make some requested macro changes.

* NOTE: the thing calling itself a 'unit test' is not yet a proper
unit test, but it helps me ensure things work. It may be a proper
unit test at some time in the future, but for now please don't make
any assumptions or hold any expectations.

Differential Revision: https://reviews.freebsd.org/D2025
Approved by: so (/dev/random blanket)


# a5b789f6 24-Jun-2015 Ermal Luçi <eri@FreeBSD.org>

ALTQ FAIRQ discipline import from DragonFLY

Differential Revision: https://reviews.freebsd.org/D2847
Reviewed by: glebius, wblock(manpage)
Approved by: gnn(mentor)
Obtained from: pfSense
Sponsored by: Netgate


# 2d45d793 19-Jun-2015 Hans Petter Selasky <hselasky@FreeBSD.org>

Add USB gold driver to default kernel build.


# fcdb1ffc 08-Jun-2015 Andrey V. Elsukov <ae@FreeBSD.org>

Add makefile to build geom_map kld. Document some GEOM_* options
in NOTES and geom(4).


# 23c9098b 03-Jun-2015 Sean Bruno <sbruno@FreeBSD.org>

Change EM_MULTIQUEUE to a real kernconf entry and enable support for
up to 2 rx/tx queues for the 82574.

Program the 82574 to enable 5 msix vectors, assign 1 to each rx queue,
1 to each tx queue and 1 to the link handler.

Inspired by DragonFlyBSD, enable some RSS logic for handling tx queue
handling/processing.

Move multiqueue handler functions so that they line up better in a diff
review to if_igb.c

Always enqueue tx work to be done in em_mq_start, if unable to acquire
the TX lock, then this will be processed in the background later by the
taskqueue. Remove mbuf argument from em_start_mq_locked() as the work
is always enqueued. (stolen from igb)

Setup TARC, TXDCTL and RXDCTL registers for better performance and stability
in multiqueue and singlequeue implementations. Handle Intel errata 3 and
generic multiqueue behavior with the initialization of TARC(0) and TARC(1)

Bind interrupt threads to cpus in order. (stolen from igb)

Add 2 new DDB functions, one to display the queue(s) and their settings and
one to reset the adapter. Primarily used for debugging.

In the multiqueue configuration, bump RXD and TXD ring size to max for the
adapter (4096). Setup an RDTR of 64 and an RADV of 128 in multiqueue configuration
to cut down on the number of interrupts. RADV was arbitrarily set to 2x RDTR
and can be adjusted as needed.

Cleanup the display in top a bit to make it clearer where the taskqueue threads
are running and what they should be doing.

Ensure that both queues are processed by em_local_timer() by writing them both
to the IMS register to generate soft interrupts.

Ensure that an soft interrupt is generated when em_msix_link() is run so that
any races between assertion of the link/status interrupt and a rx/tx interrupt
are handled.

Document existing tuneables: hw.em.eee_setting, hw.em.msix, hw.em.smart_pwr_down, hw.em.sbp

Document use of hw.em.num_queues and the new kernel option EM_MULTIQUEUE

Thanks to Intel for their continued support of FreeBSD.

Reviewed by: erj jfv hiren gnn wblock
Obtained from: Intel Corporation
MFC after: 2 weeks
Relnotes: Yes
Sponsored by: Limelight Networks
Differential Revision: https://reviews.freebsd.org/D1994


# 680f1afd 08-May-2015 John Baldwin <jhb@FreeBSD.org>

Move hwpmc(4) debugging code under a new HWPMC_DEBUG option instead of
the broader DEBUG option.

Reviewed by: emaste
MFC after: 2 weeks
Sponsored by: Norse Corp, Inc.


# 41c1a233 21-Apr-2015 Gleb Smirnoff <glebius@FreeBSD.org>

Make IFMEDIA_DEBUG a kernel option.

Sponsored by: Nginx, Inc.


# cdc58367 24-Mar-2015 Alexander Motin <mav@FreeBSD.org>

Remove from legacy ata(4) driver support for hardware, supported by newer
and more functional drivers ahci(4), siis(4) and mvs(4).

This removes about 3400 lines of code, unused since FreeBSD 9.0 release.


# 758cc3dc 17-Mar-2015 Jack F Vogel <jfv@FreeBSD.org>

Update to the Intel ixgbe driver:
- Split the driver into independent pf and vf loadables. This is
in preparation for SRIOV support which will be following shortly.
This also allows us to keep a seperate revision control over the
two parts, making for easier sustaining.
- Make the TX/RX code a shared/seperated file, in the old code base
the ixv code would miss fixes that went into ixgbe, this model
will eliminate that problem.
- The driver loadables will now match the device names, something that
has been requested for some time.
- Rather than a modules/ixgbe there is now modules/ix and modules/ixv
- It will also be possible to make your static kernel with only one
or the other for streamlined installs, or both.

Enjoy!

Submitted by: jfv and erj


# aa14e9b7 08-Mar-2015 Mark Johnston <markj@FreeBSD.org>

Reimplement support for userland core dump compression using a new interface
in kern_gzio.c. The old gzio interface was somewhat inflexible and has not
worked properly since r272535: currently, the gzio functions are called with
a range lock held on the output vnode, but kern_gzio.c does not pass the
IO_RANGELOCKED flag to vn_rdwr() calls, resulting in deadlock when vn_rdwr()
attempts to reacquire the range lock. Moreover, the new gzio interface can
be used to implement kernel core compression.

This change also modifies the kernel configuration options needed to enable
userland core dump compression support: gzio is now an option rather than a
device, and the COMPRESS_USER_CORES option is removed. Core dump compression
is enabled using the kern.compress_user_cores sysctl/tunable.

Differential Revision: https://reviews.freebsd.org/D1832
Reviewed by: rpaulo
Discussed with: kib


# 6740ed37 19-Feb-2015 Gleb Smirnoff <glebius@FreeBSD.org>

Use KTR_COMPILE=(KTR_ALL) for LINTs, to get more code coverage.


# ca7fe84a 15-Jan-2015 Navdeep Parhar <np@FreeBSD.org>

Plug cxgbe(4) back into !powerpc && !arm builds, instead of building it
on amd64 only.


# 3e32dff5 06-Jan-2015 John Baldwin <jhb@FreeBSD.org>

Remove "New" label from NFSCL/NFSD now that they are the only NFS
client/server. While here, remove duplicate NFSCL from sys/conf/NOTES.

Approved by: rmacklem


# 183dc986 31-Dec-2014 Navdeep Parhar <np@FreeBSD.org>

Temporarily unplug cxgbe(4) from !amd64 builds.


# c05bafc5 25-Dec-2014 Poul-Henning Kamp <phk@FreeBSD.org>

Deorbit the IEEE-488/GPIB support.


# 91b050b2 25-Dec-2014 Poul-Henning Kamp <phk@FreeBSD.org>

Use compiled in default keymaps which are available both in syscons and vt.


# 62c23db9 23-Dec-2014 Rick Macklem <rmacklem@FreeBSD.org>

Fix kernel builds with "options NFS_DEBUG" that
were broken by r276096. Also delete the two
kernel options NFS_GATHERDELAY, NFS_WDELAYHASHSIZ
which are no longer used.

Reported by: bz


# c15882f0 22-Dec-2014 Rick Macklem <rmacklem@FreeBSD.org>

Remove the old NFS client and server from head,
which means that the NFSCLIENT and NFSSERVER
kernel options will no longer work. This commit
only removes the kernel components. Removal of
unused code in the user utilities will be done
later. This commit does not include an addition
to UPDATING, but that will be committed in a
few minutes.

Discussed on: freebsd-fs


# 603eaf79 09-Nov-2014 Alexander V. Chernikov <melifaro@FreeBSD.org>

Renove faith(4) and faithd(8) from base. It looks like industry
have chosen different (and more traditional) stateless/statuful
NAT64 as translation mechanism. Last non-trivial commits to both
faith(4) and faithd(8) happened more than 12 years ago, so I assume
it is time to drop RFC3142 in FreeBSD.

No objections from: net@


# f325335c 07-Nov-2014 Andrey V. Elsukov <ae@FreeBSD.org>

Overhaul if_gre(4).

Split it into two modules: if_gre(4) for GRE encapsulation and
if_me(4) for minimal encapsulation within IP.

gre(4) changes:
* convert to if_transmit;
* rework locking: protect access to softc with rmlock,
protect from concurrent ioctls with sx lock;
* correct interface accounting for outgoing datagramms (count only payload size);
* implement generic support for using IPv6 as delivery header;
* make implementation conform to the RFC 2784 and partially to RFC 2890;
* add support for GRE checksums - calculate for outgoing datagramms and check
for inconming datagramms;
* add support for sending sequence number in GRE header;
* remove support of cached routes. This fixes problem, when gre(4) doesn't
work at system startup. But this also removes support for having tunnels with
the same addresses for inner and outer header.
* deprecate support for various GREXXX ioctls, that doesn't used in FreeBSD.
Use our standard ioctls for tunnels.

me(4):
* implementation conform to RFC 2004;
* use if_transmit;
* use the same locking model as gre(4);

PR: 164475
Differential Revision: D1023
No objections from: net@
Relnotes: yes
Sponsored by: Yandex LLC


# 10cb2424 30-Oct-2014 Mark Murray <markm@FreeBSD.org>

This is the much-discussed major upgrade to the random(4) device, known to you all as /dev/random.

This code has had an extensive rewrite and a good series of reviews, both by the author and other parties. This means a lot of code has been simplified. Pluggable structures for high-rate entropy generators are available, and it is most definitely not the case that /dev/random can be driven by only a hardware souce any more. This has been designed out of the device. Hardware sources are stirred into the CSPRNG (Yarrow, Fortuna) like any other entropy source. Pluggable modules may be written by third parties for additional sources.

The harvesting structures and consequently the locking have been simplified. Entropy harvesting is done in a more general way (the documentation for this will follow). There is some GREAT entropy to be had in the UMA allocator, but it is disabled for now as messing with that is likely to annoy many people.

The venerable (but effective) Yarrow algorithm, which is no longer supported by its authors now has an alternative, Fortuna. For now, Yarrow is retained as the default algorithm, but this may be changed using a kernel option. It is intended to make Fortuna the default algorithm for 11.0. Interested parties are encouraged to read ISBN 978-0-470-47424-2 "Cryptography Engineering" By Ferguson, Schneier and Kohno for Fortuna's gory details. Heck, read it anyway.

Many thanks to Arthur Mesh who did early grunt work, and who got caught in the crossfire rather more than he deserved to.

My thanks also to folks who helped me thresh this out on whiteboards and in the odd "Hallway track", or otherwise.

My Nomex pants are on. Let the feedback commence!

Reviewed by: trasz,des(partial),imp(partial?),rwatson(partial?)
Approved by: so(des)


# 7d313e7b 24-Oct-2014 John Baldwin <jhb@FreeBSD.org>

Add COMPAT_FREEBSD9 and COMPAT_FREEBSD10 options to wrap code that
provides compatability for FreeBSD 9.x and 10.x binaries. Enable
these options in kernel configs that enable other COMPAT_FREEBSD<n>
options.


# 007054f0 20-Oct-2014 Bryan Venteicher <bryanv@FreeBSD.org>

Add vxlan interface

vxlan creates a virtual LAN by encapsulating the inner Ethernet frame in
a UDP packet. This implementation is based on RFC7348.

Currently, the IPv6 support is not fully compliant with the specification:
we should be able to receive UPDv6 packets with a zero checksum, but we
need to support RFC6935 first. Patches for this should come soon.

Encapsulation protocols such as vxlan emphasize the need for the FreeBSD
network stack to support batching, GRO, and GSO. Each frame has to make
two trips through the network stack, and each frame will be at most MTU
sized. Performance suffers accordingly.

Some latest generation NICs have begun to support vxlan HW offloads that
we should also take advantage of. VIMAGE support should also be added soon.

Differential Revision: https://reviews.freebsd.org/D384
Reviewed by: gnn
Relnotes: yes


# b7627840 04-Oct-2014 Konstantin Belousov <kib@FreeBSD.org>

Add kernel option KSTACK_USAGE_PROF to sample the stack depth on
interrupts and report the largest value seen as sysctl
debug.max_kstack_used. Useful to estimate how close the kernel stack
size is to overflow.

In collaboration with: Larry Baird <lab@gta.com>
Sponsored by: The FreeBSD Foundation (kib)
MFC after: 1 week


# 2c048c4a 23-Sep-2014 Bryan Drewery <bdrewery@FreeBSD.org>

Note KBI breakage with DEBUG_LOCKS.

It specifically modifies struct lock, which many other structures embed.

Noted by: kib
MFC after: 3 days
X-MFC-with: r272032


# f0656da4 23-Sep-2014 Bryan Drewery <bdrewery@FreeBSD.org>

DEBUG_LOCKS no longer modifies 'struct vnode', nor does fstat(1) use it.
fstat(1) now uses libprocstat(9). There is no userland impact to using this.

MFC after: 3 days


# 14f2533c 23-Sep-2014 Bjoern A. Zeeb <bz@FreeBSD.org>

As per [1] Intel only supports this driver on 64bit platforms.
For now restrict it to amd64. Other architectures might be
re-added later once tested.

Remove the drivers from the global NOTES and files files and move
them to the amd64 specifics.
Remove the drivers from the i386 modules build and only leave the
amd64 version.

Rather than depending on "inet" depend on "pci" and make sure that
ixl(4) and ixlv(4) can be compiled independently [2]. This also
allows the drivers to build properly on IPv4-only or IPv6-only
kernels.

PR: 193824 [2]
Reviewed by: eric.joyner intel.com
MFC after: 3 days

References:
[1] http://lists.freebsd.org/pipermail/svn-src-all/2014-August/090470.html


# 6bd03b20 05-Sep-2014 Kevin Lo <kevlo@FreeBSD.org>

The USB LED driver for the Dream Cheeky WebMail Notifier.

Reviewed by: hselasky


# a58b4afa 04-Sep-2014 Mark Johnston <markj@FreeBSD.org>

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

Approved by: ambrisko, kadesai
MFC after: 3 days


# d502eb6d 28-Aug-2014 Jack F Vogel <jfv@FreeBSD.org>

Add XL710 device entries to NOTES, and directories to the module
Makefile so they will be built.

MFC after: 1 day


# 3914ddf8 17-Aug-2014 Edward Tomasz Napierala <trasz@FreeBSD.org>

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
MFC after: 2 weeks
Relnotes: yes
Sponsored by: The FreeBSD Foundation


# 91ed2fec 04-Jul-2014 John-Mark Gurney <jmg@FreeBSD.org>

BREAK_TO_DEBUGGER is not just serial console anymore, it controls all
console's ability to enter the debugger.... rwatson forgot to document
this when he changed it back in 2011... There is more docs to write
about this, but at least fix this for now...

Reviewed by: emaste
MFC after: 1 week


# ccbb7b5e 30-Jun-2014 Ed Maste <emaste@FreeBSD.org>

Add vt(4) devices and options to NOTES

Reviewed by: marius (earlier version)


# d68d0cf5 11-Jun-2014 Andrey V. Elsukov <ae@FreeBSD.org>

Add disklabel64 support

MFC after: 2 weeks


# 81e3caaf 21-May-2014 Justin Hibbits <jhibbits@FreeBSD.org>

imagact_binmisc builds for all supported architectures, so enable it for all.

Any bugs in execution will be dealt with as they crop up.

MFC after: 3 weeks
Relnotes: Yes


# 0572ccaa 20-May-2014 Jim Harris <jimharris@FreeBSD.org>

Add ismt(4) driver.

ismt(4) supports the SMBus Message Transport controller found on Intel
C2000 series (Avoton) and S1200 series (Briarwood) Atom SoCs.

Sponsored by: Intel


# 79eb99df 17-May-2014 Li-Wen Hsu <lwhsu@FreeBSD.org>

ADd axge(4) to LINT

Approved by: markj


# 02e17f0b 02-May-2014 Marius Strobl <marius@FreeBSD.org>

Allow GEOM_VINUM to be statically compiled into the kernel.

Submitted by: gleb
MFC after: 3 days


# 84cb72d1 09-Apr-2014 Sean Bruno <sbruno@FreeBSD.org>

Really, really, really only allow this option for amd64/i386 builds.

Submitted by: imp@ and tinderbox


# b434acb3 08-Apr-2014 Sean Bruno <sbruno@FreeBSD.org>

Actually, since this is what I thought I was doing, only allow the
binmisc code to be build on amd64/i386 for the kernel.

Update NOTES with some indication of what this code is used for.

Pointed out by jhb@ ... thanks!

Submitted by: jhb@


# 45c203fc 14-Mar-2014 Gleb Smirnoff <glebius@FreeBSD.org>

Remove AppleTalk support.

AppleTalk was a network transport protocol for Apple Macintosh devices
in 80s and then 90s. Starting with Mac OS X in 2000 the AppleTalk was
a legacy protocol and primary networking protocol is TCP/IP. The last
Mac OS X release to support AppleTalk happened in 2009. The same year
routing equipment vendors (namely Cisco) end their support.

Thus, AppleTalk won't be supported in FreeBSD 11.0-RELEASE.


# 2c284d93 13-Mar-2014 Gleb Smirnoff <glebius@FreeBSD.org>

Remove IPX support.

IPX was a network transport protocol in Novell's NetWare network operating
system from late 80s and then 90s. The NetWare itself switched to TCP/IP
as default transport in 1998. Later, in this century the Novell Open
Enterprise Server became successor of Novell NetWare. The last release
that claimed to still support IPX was OES 2 in 2007. Routing equipment
vendors (e.g. Cisco) discontinued support for IPX in 2011.

Thus, IPX won't be supported in FreeBSD 11.0-RELEASE.


# 29311227 06-Feb-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

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

Obtained from: OpenBSD
Requested by: eadler @
MFC after: 2 weeks


# eed447b5 29-Jan-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Add support for trackpads found in Apple MacBook products. While at it
add some missing devd entries.

Submitted by: Huang Wen Hui <huanghwh@gmail.com>
MFC after: 1 week


# e79f350d 22-Jan-2014 Warner Losh <imp@FreeBSD.org>

Document EARLY_PRINTF


# f2b525e6 30-Nov-2013 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Make process descriptors standard part of the kernel. rwhod(8) already
requires process descriptors to work and having PROCDESC in GENERIC
seems not enough, especially that we hope to have more and more consumers
in the base.

MFC after: 3 days


# 79e0ca64 28-Oct-2013 Gleb Smirnoff <glebius@FreeBSD.org>

Remove ng_fec(4).


# b2420d4d 24-Oct-2013 Sergey Kandaurov <pluknet@FreeBSD.org>

Modernize pass(4) description to the 21st century.

Reviewed by: mav


# af52cb44 24-Oct-2013 Sergey Kandaurov <pluknet@FreeBSD.org>

Correct typo. s/an an/an/


# 997b0a64 09-Oct-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

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.


# 4e400768 20-Sep-2013 David Christensen <davidch@FreeBSD.org>

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

Approved by: re
MFC after: 4 weeks


# 3846a822 16-Sep-2013 Konstantin Belousov <kib@FreeBSD.org>

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)


# 1662b008 19-Aug-2013 Ian Lepore <ian@FreeBSD.org>

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.


# 0e6a0799 31-Jul-2013 David E. O'Brien <obrien@FreeBSD.org>

Back out r253779 & r253786.


# 31d98677 29-Jul-2013 Rui Paulo <rpaulo@FreeBSD.org>

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>


# 99ff83da 29-Jul-2013 David E. O'Brien <obrien@FreeBSD.org>

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


# 237abf0c 28-Jun-2013 Davide Italiano <davide@FreeBSD.org>

- 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.


# c2c2fc4d 08-Jun-2013 Rui Paulo <rpaulo@FreeBSD.org>

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


# 4871fc4a 16-May-2013 Julian Elischer <julian@FreeBSD.org>

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


# 941646f5 07-May-2013 Attilio Rao <attilio@FreeBSD.org>

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


# 45b395cd 26-Apr-2013 Gleb Smirnoff <glebius@FreeBSD.org>

Add usie to LINT.


# 591090c3 10-Apr-2013 Sean Bruno <sbruno@FreeBSD.org>

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


# 45f6d665 04-Apr-2013 Alexander Motin <mav@FreeBSD.org>

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


# 56fddc5d 03-Apr-2013 Brooks Davis <brooks@FreeBSD.org>

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


# 287cd4a2 02-Apr-2013 Kevin Lo <kevlo@FreeBSD.org>

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

Pointed out by: jhb


# 0990ef0a 01-Apr-2013 Kevin Lo <kevlo@FreeBSD.org>

Add VIMAGE to NOTES.

Reviewed by: zec


# 397ae429 14-Mar-2013 Joel Dahl <joel@FreeBSD.org>

Fix minor spelling error in a comment.


# 5b999a6b 04-Mar-2013 Davide Italiano <davide@FreeBSD.org>

- 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


# 08c49d65 08-Feb-2013 Xin LI <delphij@FreeBSD.org>

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


# 36b7dde4 03-Feb-2013 Andriy Gapon <avg@FreeBSD.org>

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


# 4133ee1e 23-Nov-2012 Kevin Lo <kevlo@FreeBSD.org>

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


# 21d748a9 31-Oct-2012 Alfred Perlstein <alfred@FreeBSD.org>

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


# df0adc13 30-Oct-2012 Andrey Zonov <zont@FreeBSD.org>

- Remove BCE_JUMBO_HDRSPLIT kernel option which was forgotten in r218423.

Approved by: davidch
Approved by: kib (mentor)


# c1de64a4 25-Oct-2012 Andrey V. Elsukov <ae@FreeBSD.org>

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


# e37e60c3 23-Oct-2012 Andre Oppermann <andre@FreeBSD.org>

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)


# 5050aa86 22-Oct-2012 Konstantin Belousov <kib@FreeBSD.org>

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


# 2e564269 17-Oct-2012 Attilio Rao <attilio@FreeBSD.org>

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.


# a42ac676 17-Oct-2012 Attilio Rao <attilio@FreeBSD.org>

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.


# e6116d5b 17-Oct-2012 Attilio Rao <attilio@FreeBSD.org>

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.


# 26c3f6d7 16-Oct-2012 Attilio Rao <attilio@FreeBSD.org>

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

This is not targeted for MFC.


# 4b0bdbfd 16-Oct-2012 Attilio Rao <attilio@FreeBSD.org>

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

This is not targeted for MFC.


# 55793cdc 16-Oct-2012 Attilio Rao <attilio@FreeBSD.org>

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

This is not targeted for MFC.


# 05e009c4 16-Oct-2012 Attilio Rao <attilio@FreeBSD.org>

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

This is not targeted for MFC.


# 5fe58019 13-Oct-2012 Attilio Rao <attilio@FreeBSD.org>

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


# 7f7ef494 18-Sep-2012 Gleb Smirnoff <glebius@FreeBSD.org>

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>


# 778eefa4 04-Sep-2012 John Baldwin <jhb@FreeBSD.org>

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.


# d4a2ab8c 30-Aug-2012 Attilio Rao <attilio@FreeBSD.org>

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


# f8e8af9c 21-Aug-2012 Hiroki Sato <hrs@FreeBSD.org>

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

Submitted by: Yusuke Tanaka


# 6e465ac7 30-Jul-2012 Davide Italiano <davide@FreeBSD.org>

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


# 09fe6320 19-Jun-2012 Navdeep Parhar <np@FreeBSD.org>

- 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)


# f0f25b9c 07-Jun-2012 Alexander Motin <mav@FreeBSD.org>

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.


# e2873b76 01-Jun-2012 Matt Jacob <mjacob@FreeBSD.org>

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


# dc0aa406 24-May-2012 Alexander Motin <mav@FreeBSD.org>

MFprojects/zfsd:
Generalize and unify ses device description.


# 331805a5 14-Apr-2012 Davide Italiano <davide@FreeBSD.org>

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


# 1ab68cbb 27-Mar-2012 Jayachandran C. <jchandra@FreeBSD.org>

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)


# 1513a6ff 27-Mar-2012 Jayachandran C. <jchandra@FreeBSD.org>

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.


# 02c2b7d9 21-Mar-2012 Marius Strobl <marius@FreeBSD.org>

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


# e800e2e1 19-Mar-2012 Andrey V. Elsukov <ae@FreeBSD.org>

Connect geom_part_ldm to the kernel build.

MFC after: 1 month


# c6111de5 16-Mar-2012 Davide Italiano <davide@FreeBSD.org>

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


# e4afd792 01-Mar-2012 Alexander Motin <mav@FreeBSD.org>

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


# 1748d1e5 28-Feb-2012 Gavin Atkinson <gavin@FreeBSD.org>

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

MFC after: 3 days


# d51e8487 22-Feb-2012 Josh Paetzel <jpaetzel@FreeBSD.org>

Fix various typos and normalize spelling.

Approved by: kib (mentor)


# 2f345d8e 10-Feb-2012 Luigi Rizzo <luigi@FreeBSD.org>

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)


# 130f4520 11-Jan-2012 Kenneth D. Merry <ken@FreeBSD.org>

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


# 65e4e499 16-Dec-2011 Gleb Smirnoff <glebius@FreeBSD.org>

Fix my braino in description of RADIX_MPATH.


# 9731596a 15-Dec-2011 Gleb Smirnoff <glebius@FreeBSD.org>

Add RADIX_MPATH to LINT.


# e6b42236 26-Nov-2011 Marius Strobl <marius@FreeBSD.org>

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


# 3af069c5 25-Nov-2011 Marius Strobl <marius@FreeBSD.org>

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


# e4b68814 22-Nov-2011 Luigi Rizzo <luigi@FreeBSD.org>

forgot to merge NETMAP entries in sys/conf !


# 3f850e6a 22-Nov-2011 Konstantin Belousov <kib@FreeBSD.org>

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


# b0fdc837 19-Nov-2011 Lawrence Stewart <lstewart@FreeBSD.org>

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)


# b590f210 08-Nov-2011 Pyun YongHyeon <yongari@FreeBSD.org>

Comment out TI_JUMBO_HDRSPLIT. TI_JUMBO_HDRSPLIT requires TI_SF_BUF_JUMBO.


# 10a4360c 08-Nov-2011 Pyun YongHyeon <yongari@FreeBSD.org>

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]


# ed1f6dc2 08-Nov-2011 Attilio Rao <attilio@FreeBSD.org>

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


# 0fc9f11d 02-Nov-2011 Sergey Kandaurov <pluknet@FreeBSD.org>

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.


# a9ab459b 01-Nov-2011 Marius Strobl <marius@FreeBSD.org>

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


# 8c1093fc 01-Nov-2011 Marius Strobl <marius@FreeBSD.org>

- 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)


# 4a48c68f 08-Oct-2011 Marius Strobl <marius@FreeBSD.org>

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


# fa2b39a1 07-Sep-2011 Attilio Rao <attilio@FreeBSD.org>

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


# cfb5f768 18-Aug-2011 Jonathan Anderson <jonathan@FreeBSD.org>

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


# 7a0b13ed 25-Jul-2011 Andriy Gapon <avg@FreeBSD.org>

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)


# 68b739cd 18-Jul-2011 Attilio Rao <attilio@FreeBSD.org>

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)


# de8d750f 15-Jul-2011 Joel Dahl <joel@FreeBSD.org>

Sort snd_* entries alphabetically.


# 1080a2c8 14-Jul-2011 Bjoern A. Zeeb <bz@FreeBSD.org>

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


# 55d4d6f4 02-Jul-2011 Jonathan Anderson <jonathan@FreeBSD.org>

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


# 24c1c3bf 29-Jun-2011 Jonathan Anderson <jonathan@FreeBSD.org>

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


# e3709597 31-May-2011 Attilio Rao <attilio@FreeBSD.org>

Fix KTR_CPUMASK in order to accept a string representing a cpuset_t.
This introduce all the underlying support for making this possible (via
the function cpusetobj_strscan() and keeps ktr_cpumask exported. sparc64
implements its own assembly primitives for tracing events and needs to
properly check it. Anyway the sparc64 logic is not implemented yet due
to lack of knowledge (by me) and time (by marius), but it is just a
matter of using ktr_cpumask when possible.

Tested and fixed by: pluknet
Reviewed by: marius


# d0984adc 31-May-2011 Attilio Rao <attilio@FreeBSD.org>

Revert a change that crept in during MFC.


# 217e1c0e 23-May-2011 Attilio Rao <attilio@FreeBSD.org>

Revert a patch that unvolountary sneaked in while I was MFCing.


# eabf2125 01-May-2011 Bernhard Schmidt <bschmidt@FreeBSD.org>

These are of course i386/amd64 only.


# d1f25d5d 01-May-2011 Bernhard Schmidt <bschmidt@FreeBSD.org>

Add the remaining wireless drivers.

Discussed with: joel


# 5aaea652 29-Apr-2011 Kevin Lo <kevlo@FreeBSD.org>

Add urtw(4)


# 548d35fd 28-Apr-2011 George V. Neville-Neil <gnn@FreeBSD.org>

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


# 0d307e09 26-Apr-2011 Alexander Motin <mav@FreeBSD.org>

- 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.


# 97b53e36 24-Apr-2011 Alexander Motin <mav@FreeBSD.org>

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.


# 22445463 31-Mar-2011 Kevin Lo <kevlo@FreeBSD.org>

Add 'mos' interface to NOTES


# ec125fbb 30-Mar-2011 Edward Tomasz Napierala <trasz@FreeBSD.org>

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)


# 097055e2 29-Mar-2011 Edward Tomasz Napierala <trasz@FreeBSD.org>

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)


# 89b17223 24-Mar-2011 Alexander Motin <mav@FreeBSD.org>

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.


# dd46ab31 14-Mar-2011 David Christensen <davidch@FreeBSD.org>

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

MFC after: One month


# 6a4a0510 01-Mar-2011 Robert Watson <rwatson@FreeBSD.org>

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


# 96fcc75f 01-Mar-2011 Robert Watson <rwatson@FreeBSD.org>

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


# 54e4ee71 18-Feb-2011 Navdeep Parhar <np@FreeBSD.org>

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

MFC after: 3 weeks


# 78920d0f 09-Feb-2011 Kevin Lo <kevlo@FreeBSD.org>

Add tmpfs(5) to NOTES


# 2608aefc 30-Dec-2010 Pyun YongHyeon <yongari@FreeBSD.org>

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.


# e6713fe5 30-Dec-2010 Pyun YongHyeon <yongari@FreeBSD.org>

Add RDC Semiconductor R6040 10/100 PHY driver.


# e83e229d 28-Dec-2010 Warner Losh <imp@FreeBSD.org>

Revert r216775, per jhb@


# 092a687d 28-Dec-2010 Warner Losh <imp@FreeBSD.org>

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.


# 8c9cef57 15-Dec-2010 Bjoern A. Zeeb <bz@FreeBSD.org>

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


# 15f0f952 27-Nov-2010 Matt Jacob <mjacob@FreeBSD.org>

Add ISP_INTERNAL_TARGET as an option for isp(4).


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# 857508a3 11-Oct-2010 Andrew Thompson <thompsa@FreeBSD.org>

Add the XHCI USB controller to NOTES.

Reviewed by: hselasky


# 9c0ef6d5 05-Aug-2010 Oliver Fromme <olli@FreeBSD.org>

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


# d7854da1 28-Jul-2010 Matthew D Fleming <mdf@FreeBSD.org>

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)


# 9e3e64e7 18-Jun-2010 Konstantin Belousov <kib@FreeBSD.org>

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


# d05181f9 08-Jun-2010 Andrey V. Elsukov <ae@FreeBSD.org>

Fix typo.

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


# d359a62d 08-Jun-2010 Andrey V. Elsukov <ae@FreeBSD.org>

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


# 295c646b 02-Jun-2010 Gleb Smirnoff <glebius@FreeBSD.org>

Merge 208554 from head:

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.

The driver is supported by ports/x11-drivers/xf86-input-egalax.

Approved by: re (kib)


# f25a8a01 25-May-2010 Gleb Smirnoff <glebius@FreeBSD.org>

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.


# 4567e833 19-May-2010 Alexander Motin <mav@FreeBSD.org>

MFC r207536, r207696, r208183:
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.


# dd48af36 02-May-2010 Alexander Motin <mav@FreeBSD.org>

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.


# bc391cb2 01-May-2010 Warner Losh <imp@FreeBSD.org>

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@


# ffb1296f 26-Apr-2010 Pyun YongHyeon <yongari@FreeBSD.org>

MFC r206625:
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.


# d193ed0b 14-Apr-2010 Pyun YongHyeon <yongari@FreeBSD.org>

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.


# 58c4a5a1 29-Mar-2010 Rui Paulo <rpaulo@FreeBSD.org>

Add AR9285.

Sponsored by: iXsystems, inc


# 50a8df3c 20-Mar-2010 Alexander Motin <mav@FreeBSD.org>

Correct MAXPHYS and DFLTPHYS description.


# e483194c 04-Mar-2010 Brooks Davis <brooks@FreeBSD.org>

MFC r201853:

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.


# eb5ef23c 03-Mar-2010 Weongyo Jeong <weongyo@FreeBSD.org>

Adds bwn(4) to NOTES.


# 1d7a4f3c 02-Mar-2010 Alfred Perlstein <alfred@FreeBSD.org>

include COMPRESS_USER_CORES and gzio in NOTES.

Requested by: Niclas Zeising


# aa3d547d 01-Mar-2010 Xin LI <delphij@FreeBSD.org>

MFC x86emu/x86bios emulator and make previously i386 only dpms and vesa
framebuffer driver, etc. work on FreeBSD/amd64.

A significant amount of improvements were done by jkim@ during the recent
months to make vesa(4) work better, over the initial code import. This
work is based on OpenBSD's x86emu implementation and contributed by
paradox <ddkprog yahoo com> and swell.k at gmail com.

Hopefully I have stolen all their work to 8-STABLE :)

All bugs in this commit are mine, as usual.


# dfbcd907 18-Feb-2010 Rebecca Cran <brucec@FreeBSD.org>

MFC r203685:

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)


# c1210a7d 15-Feb-2010 Attilio Rao <attilio@FreeBSD.org>

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

Reported by: danfe, julian, avg


# 31615ef7 08-Feb-2010 Rebecca Cran <brucec@FreeBSD.org>

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)


# e83bcc01 07-Feb-2010 Gavin Atkinson <gavin@FreeBSD.org>

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


# 93393dfd 28-Jan-2010 Andrew Thompson <thompsa@FreeBSD.org>

Add run(4) to NOTES.


# 93a45f0f 24-Jan-2010 Attilio Rao <attilio@FreeBSD.org>

MFC r201879:
Introduce the new kernel thread called "deadlock resolver".
It is used in order to seek within the threads state and heuristically
understand if there is any deadlock happening.

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.

Sponsored by: Sandvine Incorporated


# 13c18821 19-Jan-2010 John Baldwin <jhb@FreeBSD.org>

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

Reviewed by: imp


# bc4acc70 17-Jan-2010 Andrew Thompson <thompsa@FreeBSD.org>

MFC r202181,202243,202270

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>


# 941e2863 12-Jan-2010 Andrew Thompson <thompsa@FreeBSD.org>

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>


# f7829d0d 08-Jan-2010 Attilio Rao <attilio@FreeBSD.org>

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


# 3d26cd60 08-Jan-2010 Brooks Davis <brooks@FreeBSD.org>

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.


# 390cee87 18-Dec-2009 John Baldwin <jhb@FreeBSD.org>

- 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


# dfd77572 16-Dec-2009 John Baldwin <jhb@FreeBSD.org>

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

PR: docs/141358
Submitted by: Bruce Cran


# 71e7360e 12-Dec-2009 Alexander Motin <mav@FreeBSD.org>

MFC r200171, r200182, r200275, r200295, r200359:
Introduce ATA_CAM kernel option, turning ata(4) controller drivers into
cam(4) interface modules. When enabled, this option 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.(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)


# 066f913a 05-Dec-2009 Alexander Motin <mav@FreeBSD.org>

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)


# 5b7c4503 15-Nov-2009 Stanislav Sedov <stas@FreeBSD.org>

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


# 4b2361f8 13-Nov-2009 Ed Schouten <ed@FreeBSD.org>

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.


# e42fc368 12-Nov-2009 Ed Schouten <ed@FreeBSD.org>

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@


# b4263060 11-Nov-2009 Ruslan Ermilov <ru@FreeBSD.org>

Added option NETGRAPH_VLAN.

Submitted by: pluknet


# 58ad43fe 10-Nov-2009 Alexander Motin <mav@FreeBSD.org>

MFC r198486, r199050:
Increase ATA command timeouts. Introduce define and kernel option
ATA_REQUEST_TIMEOUT to control it.

PR: kern/111023


# fa14cada 10-Nov-2009 John Baldwin <jhb@FreeBSD.org>

Add ixgb(4) to NOTES.

Approved by: jfv


# 6fb5300b 08-Nov-2009 Alexander Motin <mav@FreeBSD.org>

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

Submitted by: keramida


# 6b7a5f80 29-Oct-2009 Alexander Motin <mav@FreeBSD.org>

MFC rev. 198480, 198483:
Document new modularised ATA kernel modules and options.

PR: kern/133162, amd64/139859


# f7e95633 29-Oct-2009 Ruslan Ermilov <ru@FreeBSD.org>

Update some comments regarding ktr(4).


# c4bda3c6 26-Oct-2009 Alexander Motin <mav@FreeBSD.org>

Document new modularised ATA kernel options.

PR: kern/133162
MFC after: 3 days


# a0d60084 20-Oct-2009 Stanislav Sedov <stas@FreeBSD.org>

- 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


# a57707e7 21-Sep-2009 Xin LI <delphij@FreeBSD.org>

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


# 205d67b0 21-Sep-2009 Xin LI <delphij@FreeBSD.org>

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>


# efba048e 08-Sep-2009 Xin LI <delphij@FreeBSD.org>

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

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


# 3132ad0d 28-Aug-2009 Warner Losh <imp@FreeBSD.org>

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)


# d0ea4743 25-Jul-2009 Bjoern A. Zeeb <bz@FreeBSD.org>

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)


# 1a00526b 25-Jul-2009 Alexander Motin <mav@FreeBSD.org>

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

Approved by: re (implicitly)


# e19ef875 25-Jul-2009 Alexander Motin <mav@FreeBSD.org>

Add ahci and siis drivers to NOTES.

Approved by: re (implicitly)


# 59aa14a9 11-Jul-2009 Rui Paulo <rpaulo@FreeBSD.org>

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


# f5e4c105 26-Jun-2009 John Baldwin <jhb@FreeBSD.org>

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)


# 991633af 23-Jun-2009 Marko Zec <zec@FreeBSD.org>

Connect ng_pipe to the default build.

Approved by: julian (mentor)


# 119051cb 15-Jun-2009 Marius Strobl <marius@FreeBSD.org>

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


# 7b495c44 12-Jun-2009 VANHULLEBUS Yvan <vanhu@FreeBSD.org>

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


# d68875eb 09-Jun-2009 Pyun YongHyeon <yongari@FreeBSD.org>

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.


# 18fe4678 07-Jun-2009 Ariff Abdullah <ariff@FreeBSD.org>

Add notes on various SND_* options.


# f44270e7 01-Jun-2009 Pawel Jakub Dawidek <pjd@FreeBSD.org>

- 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


# 1ae1c2a3 28-May-2009 Attilio Rao <attilio@FreeBSD.org>

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


# bcbdacdd 28-May-2009 Rick Macklem <rmacklem@FreeBSD.org>

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)


# 00a5db46 26-May-2009 Stacey Son <sson@FreeBSD.org>

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)


# db2e4792 23-May-2009 Bjoern A. Zeeb <bz@FreeBSD.org>

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


# b3b17597 09-May-2009 Jun Kuriyama <kuriyama@FreeBSD.org>

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


# 71aa1d32 01-May-2009 Sam Leffler <sam@FreeBSD.org>

add uath; sort usb wireless drivers


# 9d9ab10e 20-Apr-2009 Antoine Brodin <antoine@FreeBSD.org>

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

Reviewed by: jhb@
MFC after: 1 month


# 34b07340 18-Apr-2009 Kip Macy <kmacy@FreeBSD.org>

- 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.


# 6ad9a99f 15-Apr-2009 Marcel Moolenaar <marcel@FreeBSD.org>

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.


# 800422dc 09-Apr-2009 Jack F Vogel <jfv@FreeBSD.org>

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

MFC after: 2 weeks


# 2b78d306 19-Mar-2009 Andrew Thompson <thompsa@FreeBSD.org>

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


# e5adda3d 15-Mar-2009 Robert Watson <rwatson@FreeBSD.org>

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@


# b92755d1 23-Feb-2009 Andrew Thompson <thompsa@FreeBSD.org>

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


# 31ba90e1 23-Feb-2009 Andrew Thompson <thompsa@FreeBSD.org>

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


# 91e1be8b 09-Feb-2009 Marcel Moolenaar <marcel@FreeBSD.org>

Add option GEOM_PART_EBR by default on amd64 and i386.


# 1c6c2ef5 07-Feb-2009 Wojciech A. Koszek <wkoszek@FreeBSD.org>

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.


# 1caef332 07-Feb-2009 Wojciech A. Koszek <wkoszek@FreeBSD.org>

Add missing pcfclock description.


# 36782d14 07-Feb-2009 Wojciech A. Koszek <wkoszek@FreeBSD.org>

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

Reviewed by: imp


# e8bbeae7 19-Jan-2009 Maxim Sobolev <sobomax@FreeBSD.org>

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.


# 1bea7c61 19-Jan-2009 Maxim Sobolev <sobomax@FreeBSD.org>

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


# 83409a55 17-Jan-2009 Ed Schouten <ed@FreeBSD.org>

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


# 94a6c9f8 11-Jan-2009 Maxim Konovalov <maxim@FreeBSD.org>

o Tweak comments a bit.


# be9347e3 09-Jan-2009 Adrian Chadd <adrian@FreeBSD.org>

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


# fb898a2c 06-Jan-2009 Rong-En Fan <rafan@FreeBSD.org>

- 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


# 17470869 06-Jan-2009 Alexander Motin <mav@FreeBSD.org>

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


# 6e6b3f7c 14-Dec-2008 Qing Li <qingli@FreeBSD.org>

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


# 3c6e15bc 12-Nov-2008 Pyun YongHyeon <yongari@FreeBSD.org>

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


# 932ef5b5 05-Nov-2008 Ed Schouten <ed@FreeBSD.org>

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.


# 64c71632 02-Nov-2008 Scott Long <scottl@FreeBSD.org>

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.


# e0dec6eb 02-Nov-2008 Konstantin Belousov <kib@FreeBSD.org>

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

Pointy hat to: me


# 5702451c 31-Oct-2008 Warner Losh <imp@FreeBSD.org>

Add RL_TWISTER_ENABLE.


# fe75118b 24-Oct-2008 Nick Hibma <n_hibma@FreeBSD.org>

Add U3G_DEBUG to LINT


# 5e21b51b 22-Oct-2008 David E. O'Brien <obrien@FreeBSD.org>

Clarify the PREEMPTION description a little.


# 831f5dcf 21-Oct-2008 Alexander Motin <mav@FreeBSD.org>

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@


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 483b9e47 09-Oct-2008 Nick Hibma <n_hibma@FreeBSD.org>

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


# ba26d470 03-Oct-2008 Stanislav Sedov <stas@FreeBSD.org>

- 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


# 5164136d 13-Sep-2008 Bjoern A. Zeeb <bz@FreeBSD.org>

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.


# 286fa445 08-Sep-2008 Rafal Jaworowski <raj@FreeBSD.org>

ds133x: Introduce device_identify method; update NOTES.

Obtained from: Semihalf


# bc093719 20-Aug-2008 Ed Schouten <ed@FreeBSD.org>

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


# 200d80cd 03-Aug-2008 Ed Schouten <ed@FreeBSD.org>

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).


# 1f8287f8 29-Jul-2008 Pyun YongHyeon <yongari@FreeBSD.org>

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


# 0587cad8 28-Jul-2008 Pyun YongHyeon <yongari@FreeBSD.org>

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


# 02f3c16f 28-Jul-2008 John Baldwin <jhb@FreeBSD.org>

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

PR: conf/112081


# 744eaff7 18-Jul-2008 David Malone <dwmalone@FreeBSD.org>

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


# a78c3ed8 04-Jul-2008 John Baldwin <jhb@FreeBSD.org>

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.


# 67c58e8a 04-Jul-2008 John Baldwin <jhb@FreeBSD.org>

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.


# 01895a25 28-Jun-2008 Philip Paeps <philip@FreeBSD.org>

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

MFC after: 1 day


# 4d52a575 20-Jun-2008 Xin LI <delphij@FreeBSD.org>

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


# d0767c77 07-Jun-2008 Marcel Moolenaar <marcel@FreeBSD.org>

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


# cf99524a 07-Jun-2008 Marcel Moolenaar <marcel@FreeBSD.org>

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

Submitted by: Nathan Whitehorn


# 75a1bf5f 26-May-2008 Pyun YongHyeon <yongari@FreeBSD.org>

Hook up jme(4) to the build.


# e4372ceb 25-May-2008 Robert Watson <rwatson@FreeBSD.org>

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


# 597c90a2 23-May-2008 John Birrell <jb@FreeBSD.org>

Add the KDTRACE_HOOKS option for DTrace support.


# c7b3d8e2 22-May-2008 Maxim Konovalov <maxim@FreeBSD.org>

o Document two new ALT_BREAK_TO_DEBUGGER key sequences.


# cfef026a 18-May-2008 Pyun YongHyeon <yongari@FreeBSD.org>

Hook up age(4) to the build.


# 6e535f6e 17-May-2008 Remko Lodder <remko@FreeBSD.org>

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


# eead3ae9 16-May-2008 Benno Rice <benno@FreeBSD.org>

Document BOOTP_BLOCKSIZE.


# 8b07e49a 09-May-2008 Julian Elischer <julian@FreeBSD.org>

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


# 4e77d255 06-May-2008 Julian Elischer <julian@FreeBSD.org>

Fix spelling in comment.


# 6c26723b 03-May-2008 Sam Leffler <sam@FreeBSD.org>

enable IEEE80211_DEBUG and IEEE80211_AMPDU_AGE by default


# 6eeac1d9 29-Apr-2008 Julian Elischer <julian@FreeBSD.org>

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


# b032f27c 20-Apr-2008 Sam Leffler <sam@FreeBSD.org>

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)


# f4463607 20-Apr-2008 Sam Leffler <sam@FreeBSD.org>

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

Reviewed by: imp


# 8a4cd00a 02-Apr-2008 Warner Losh <imp@FreeBSD.org>

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


# b03fab12 28-Mar-2008 Marcel Moolenaar <marcel@FreeBSD.org>

Add support for PC-9800 partition tables.


# dfdcada3 26-Mar-2008 Doug Rabson <dfr@FreeBSD.org>

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


# 75a66a92 19-Mar-2008 Jeff Roberson <jeff@FreeBSD.org>

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


# 358f8d82 09-Mar-2008 Robert Watson <rwatson@FreeBSD.org>

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>


# 603d67ae 06-Mar-2008 Rink Springer <rink@FreeBSD.org>

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


# 2e7328e7 05-Mar-2008 Rink Springer <rink@FreeBSD.org>

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


# 10020e9d 01-Mar-2008 Marcel Moolenaar <marcel@FreeBSD.org>

Add the SMI VTOC8 disk label option.


# c6c22d35 29-Feb-2008 Jack F Vogel <jfv@FreeBSD.org>

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


# 96a761ec 29-Feb-2008 Jack F Vogel <jfv@FreeBSD.org>

Add entries for em, igb, and ixgbe adapters.


# 531c890b 29-Feb-2008 Paolo Pisati <piso@FreeBSD.org>

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


# 404825a7 25-Feb-2008 Kip Macy <kmacy@FreeBSD.org>

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


# 1669d8af 20-Feb-2008 Andrew Thompson <thompsa@FreeBSD.org>

Rename geom_lvm(4) to geom_linux_lvm(4).

Requested by: des, phk


# 2b8d4f5b 10-Feb-2008 Andrew Thompson <thompsa@FreeBSD.org>

Hook geom_lvm(4) up to the build.


# 5965c4b7 07-Jan-2008 John Baldwin <jhb@FreeBSD.org>

Add COMPAT_FREEBSD7 and enable it in configs that have COMPAT_FREEBSD6.


# 24550d15 27-Dec-2007 Dag-Erling Smørgrav <des@FreeBSD.org>

Unbreak LINT on non-i386/amd64 platforms.


# 716a2372 27-Dec-2007 Rui Paulo <rpaulo@FreeBSD.org>

Add asmc(4).

Approved by: njl (mentor)


# 8090c9f5 17-Dec-2007 Kip Macy <kmacy@FreeBSD.org>

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


# a47aeca9 16-Dec-2007 Kip Macy <kmacy@FreeBSD.org>

turn off building of cxgb properly ... sigh


# 6dbb9276 16-Dec-2007 Kip Macy <kmacy@FreeBSD.org>

disable cxgb build to prevent tinderbox whining


# 5aaa8fef 05-Dec-2007 Marcel Moolenaar <marcel@FreeBSD.org>

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.


# 272afb65 04-Dec-2007 Wojciech A. Koszek <wkoszek@FreeBSD.org>

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)


# 3c90d1ea 02-Dec-2007 Robert Watson <rwatson@FreeBSD.org>

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)


# 573c6b82 27-Nov-2007 Attilio Rao <attilio@FreeBSD.org>

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)


# 755911cd 05-Nov-2007 Greg Lehey <grog@FreeBSD.org>

Correct typo.

MFC after: 2 weeks


# 1ed3fed7 26-Sep-2007 Marius Strobl <marius@FreeBSD.org>

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)


# f854db0b 23-Sep-2007 Pawel Jakub Dawidek <pjd@FreeBSD.org>

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)


# 47c96e95 22-Sep-2007 Max Laier <mlaier@FreeBSD.org>

Remove PF_MPSAFE_UGID leftover.

Spotted by: bz
Approved by: re (gnn)


# 5bcb64f2 19-Sep-2007 Warner Losh <imp@FreeBSD.org>

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@


# b28624fd 12-Sep-2007 Ariff Abdullah <ariff@FreeBSD.org>

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)


# 51713b2a 13-Aug-2007 Maksim Yevmenkin <emax@FreeBSD.org>

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


# cc977adc 05-Aug-2007 Bjoern A. Zeeb <bz@FreeBSD.org>

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)


# c5933b20 24-Jul-2007 Scott Long <scottl@FreeBSD.org>

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


# f9ae0280 19-Jul-2007 Andrew Gallatin <gallatin@FreeBSD.org>

- 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)


# bd675f58 17-Jul-2007 Jeff Roberson <jeff@FreeBSD.org>

- Update ULE note to remove warnings against production use.

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


# 2b851aeb 14-Jul-2007 Robert Watson <rwatson@FreeBSD.org>

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)


# 9c89a2e9 14-Jul-2007 Robert Watson <rwatson@FreeBSD.org>

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

Approved by: re (bmah)


# 37d4ce46 10-Jul-2007 Maksim Yevmenkin <emax@FreeBSD.org>

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

Approved by: re (rwatson)


# a22fb0da 05-Jul-2007 George V. Neville-Neil <gnn@FreeBSD.org>

Added comments eplaining the requirement for device crypto with IPSEC

Approved by: re


# b2630c29 02-Jul-2007 George V. Neville-Neil <gnn@FreeBSD.org>

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


# 2cb64cb2 01-Jul-2007 George V. Neville-Neil <gnn@FreeBSD.org>

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


# fd3ddbd0 29-Jun-2007 Sam Leffler <sam@FreeBSD.org>

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)


# 534046e3 24-Jun-2007 Rong-En Fan <rafan@FreeBSD.org>

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

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


# e570d2a4 23-Jun-2007 Rong-En Fan <rafan@FreeBSD.org>

- 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)


# 2446e4f0 15-Jun-2007 Alan Cox <alc@FreeBSD.org>

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


# cb7a4976 14-Jun-2007 Randall Stewart <rrs@FreeBSD.org>

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


# 2281b8f0 13-Jun-2007 Robert Watson <rwatson@FreeBSD.org>

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)


# 6bc50445 12-Jun-2007 Marcel Moolenaar <marcel@FreeBSD.org>

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


# 68e8e04e 10-Jun-2007 Sam Leffler <sam@FreeBSD.org>

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.


# e6825691 08-Jun-2007 Attilio Rao <attilio@FreeBSD.org>

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).


# 8e0185f6 04-Jun-2007 Jeff Roberson <jeff@FreeBSD.org>

- 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


# f366931c 16-May-2007 Scott Long <scottl@FreeBSD.org>

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


# 7d3b4a08 15-May-2007 Alexander Motin <mav@FreeBSD.org>

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

Approved by: glebius (mentor)


# 6ac646b3 10-May-2007 Kevin Lo <kevlo@FreeBSD.org>

Hook wlan_amrr up to the build.


# f73e86c3 09-May-2007 Scott Long <scottl@FreeBSD.org>

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


# 4439f8b4 09-May-2007 Scott Long <scottl@FreeBSD.org>

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

Many thanks to Highpoint for providing this driver.


# 18242d3b 16-Apr-2007 Andrew Thompson <thompsa@FreeBSD.org>

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@


# 40c97c21 09-Apr-2007 Andrew Thompson <thompsa@FreeBSD.org>

Fix build, trunk is a device not an option.


# 7b62d98b 09-Apr-2007 Andrew Thompson <thompsa@FreeBSD.org>

Hook trunk(4) up to the build.


# 1eba4c79 07-Apr-2007 Scott Long <scottl@FreeBSD.org>

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.


# 9a1b0d43 01-Apr-2007 Matt Jacob <mjacob@FreeBSD.org>

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.


# 4e7f640d 31-Mar-2007 John Baldwin <jhb@FreeBSD.org>

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


# 70e04181 26-Mar-2007 Yaroslav Tykhiy <ytykhiy@gmail.com>

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


# 63518ecc 25-Mar-2007 Yaroslav Tykhiy <ytykhiy@gmail.com>

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.


# cd6e6e4e 22-Mar-2007 John Baldwin <jhb@FreeBSD.org>

- 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.


# 85c49791 21-Mar-2007 Andre Oppermann <andre@FreeBSD.org>

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.


# 6654fb12 14-Mar-2007 Kip Macy <kmacy@FreeBSD.org>

Add support for statically compiling cxgb into the kernel


# e770bc6b 26-Feb-2007 Matt Jacob <mjacob@FreeBSD.org>

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


# 0948f0a2 10-Feb-2007 Bruce M Simpson <bms@FreeBSD.org>

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


# 1d3aed33 07-Feb-2007 Marcel Moolenaar <marcel@FreeBSD.org>

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.


# 37906439 29-Jan-2007 Craig Rodrigues <rodrigc@FreeBSD.org>

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

PR: 105964
MFC after: 2 weeks


# c5286e11 28-Jan-2007 Takanori Watanabe <takawata@FreeBSD.org>

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

Obtained from: NetBSD


# 6e62b069 10-Jan-2007 Marius Strobl <marius@FreeBSD.org>

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.


# 61c0e134 03-Jan-2007 Paolo Pisati <piso@FreeBSD.org>

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


# 240589a9 29-Dec-2006 Max Laier <mlaier@FreeBSD.org>

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


# 9e6f1d3b 29-Dec-2006 Gleb Smirnoff <glebius@FreeBSD.org>

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


# c9d21ce9 12-Dec-2006 Pyun YongHyeon <yongari@FreeBSD.org>

Hook up msk(4) to the build.


# f9fbd1a4 09-Dec-2006 Matt Jacob <mjacob@FreeBSD.org>

Make MAXPHYS and DFLTPHYS options (finally).


# 9aab0d96 15-Nov-2006 Maxim Konovalov <maxim@FreeBSD.org>

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


# cf31ff26 11-Nov-2006 Ruslan Ermilov <ru@FreeBSD.org>

More MUTEX_PROFILING -> LOCK_PROFILING.


# 07dba937 10-Nov-2006 Kip Macy <kmacy@FreeBSD.org>

fix tinderbox


# f8829a4a 03-Nov-2006 Randall Stewart <rrs@FreeBSD.org>

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


# bd3fd815 01-Nov-2006 Matt Jacob <mjacob@FreeBSD.org>

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

Reviewed by multitudes.


# f348204c 31-Oct-2006 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Hook up gjournal bits to the build.

Sponsored by: home.pl


# 837f167e 23-Oct-2006 Ruslan Ermilov <ru@FreeBSD.org>

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


# 905e8b43 23-Oct-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

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

Noticed by: ru


# 66e0fb91 20-Oct-2006 Scott Long <scottl@FreeBSD.org>

Fix whitespace


# c43ac89a 20-Oct-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Move more MD devices and options out of MI NOTES.


# c2762838 20-Oct-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

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


# 2c86e568 13-Oct-2006 John Birrell <jb@FreeBSD.org>

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


# abc010b6 13-Oct-2006 John Birrell <jb@FreeBSD.org>

Remove one of the duplicate 'device nmdm' lines.

Noticed in the sun4v tinderbox log.


# 5d9f25dc 06-Oct-2006 Ruslan Ermilov <ru@FreeBSD.org>

Added the GEOM_CACHE option.

Reminded by: pjd


# 4517aab2 05-Oct-2006 Simon L. B. Nielsen <simon@FreeBSD.org>

- 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


# 4b8939a1 01-Oct-2006 Ariff Abdullah <ariff@FreeBSD.org>

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


# 9f548240 30-Sep-2006 Alexander Leidinger <netchild@FreeBSD.org>

Add spicds, envy24ht and remove ak4*.


# 6c9fdda7 25-Sep-2006 Ruslan Ermilov <ru@FreeBSD.org>

Added COMPAT_FREEBSD6 option.


# 6b31d3f7 25-Sep-2006 Scott Long <scottl@FreeBSD.org>

Add the mfi_debug.c file and MFI_DEBUG option.


# 738f14d4 20-Sep-2006 Robert Watson <rwatson@FreeBSD.org>

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


# c86eb67f 26-Aug-2006 Dmitry Morozovsky <marck@FreeBSD.org>

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

Suggested by: ru

MFC after: 3 days


# 1c9c6382 24-Aug-2006 Ruslan Ermilov <ru@FreeBSD.org>

Spellcheck.


# b7522c27 16-Aug-2006 Julian Elischer <julian@FreeBSD.org>

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


# 302981e7 29-Jul-2006 Marcel Moolenaar <marcel@FreeBSD.org>

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.


# b1ff0220 28-Jul-2006 Alexander Leidinger <netchild@FreeBSD.org>

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


# d497bdf1 24-Jul-2006 Pyun YongHyeon <yongari@FreeBSD.org>

Hook up stge(4) to the build.


# 9c499ad9 17-Jul-2006 Poul-Henning Kamp <phk@FreeBSD.org>

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

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


# cabdf61c 17-Jul-2006 Poul-Henning Kamp <phk@FreeBSD.org>

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


# 0fa7ab6a 15-Jul-2006 Alexander Leidinger <netchild@FreeBSD.org>

- 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]


# facd0e5d 09-Jul-2006 Andrew Thompson <thompsa@FreeBSD.org>

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


# d473c9d5 26-Jun-2006 Gleb Smirnoff <glebius@FreeBSD.org>

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


# d81175c7 26-Jun-2006 Sergey Babkin <babkin@FreeBSD.org>

Backed out the change by request from rwatson.

PR: kern/14584


# 7a799f1e 25-Jun-2006 Sergey Babkin <babkin@FreeBSD.org>

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


# 343ed0a8 19-Jun-2006 John Baldwin <jhb@FreeBSD.org>

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


# b41f1452 13-Jun-2006 David Xu <davidxu@FreeBSD.org>

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.


# a7bebf90 03-Jun-2006 Kris Kennaway <kris@FreeBSD.org>

Note that KTR_ENTRIES must be a power of two.

MFC after: 1 week


# 0fd7564e 15-May-2006 Marius Strobl <marius@FreeBSD.org>

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.


# 791ed2c4 13-May-2006 Mathieu Arnold <mat@FreeBSD.org>

Remove the ipfw6 config from NOTES

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


# e2c1a4e9 12-May-2006 Benno Rice <benno@FreeBSD.org>

Document VERBOSE_SYSINIT in NOTES.

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


# 67ab9fd7 11-May-2006 John Baldwin <jhb@FreeBSD.org>

First pass at removing Alpha kernel support.


# f4eb4717 07-May-2006 Alexander Leidinger <netchild@FreeBSD.org>

- 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


# 64220a7e 28-Apr-2006 Marcel Moolenaar <marcel@FreeBSD.org>

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.


# a20d25c0 18-Apr-2006 Matt Jacob <mjacob@FreeBSD.org>

Fxi tpyo.

Noticed by: maxim


# af606348 18-Apr-2006 Matt Jacob <mjacob@FreeBSD.org>

Add ISP_DEFAULT_ROLES as a config option.


# af2e25a6 30-Mar-2006 Marcel Moolenaar <marcel@FreeBSD.org>

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).


# 7f631a41 29-Mar-2006 Scott Long <scottl@FreeBSD.org>

Hook the MFI driver up to the build.


# 8d96e455 05-Mar-2006 Yaroslav Tykhiy <ytykhiy@gmail.com>

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


# cceffdee 02-Mar-2006 Andrew Thompson <thompsa@FreeBSD.org>

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


# 4d286e94 04-Feb-2006 Ken Smith <kensmith@FreeBSD.org>

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

Requested by: scottl


# fdcba197 03-Feb-2006 Robert Watson <rwatson@FreeBSD.org>

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


# 1a5d9b15 31-Jan-2006 John Baldwin <jhb@FreeBSD.org>

Add RWLOCK_NOINLINE.


# 44ac0964 31-Jan-2006 Marius Strobl <marius@FreeBSD.org>

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.


# 847a2a17 31-Jan-2006 Pawel Jakub Dawidek <pjd@FreeBSD.org>

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


# 6aec1278 28-Jan-2006 Max Laier <mlaier@FreeBSD.org>

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


# cc2824b8 14-Jan-2006 Bjoern A. Zeeb <bz@FreeBSD.org>

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


# 903b2fb9 14-Jan-2006 Joel Dahl <joel@FreeBSD.org>

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

Reviewed by: ariff


# d3e64681 10-Jan-2006 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# c3a730df 04-Jan-2006 Joel Dahl <joel@FreeBSD.org>

Fix minor sorting issue.


# 83803624 04-Jan-2006 Joel Dahl <joel@FreeBSD.org>

Remove references to snd_vortex1(4).

Approved by: tanimura, ariff


# ef39c05b 31-Dec-2005 Alexander Leidinger <netchild@FreeBSD.org>

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)


# ad3869b4 28-Dec-2005 Joseph Koshy <jkoshy@FreeBSD.org>

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


# 4d5f30e0 21-Dec-2005 Ruslan Ermilov <ru@FreeBSD.org>

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


# b0493a99 20-Dec-2005 Warner Losh <imp@FreeBSD.org>

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.


# 7b30d718 11-Dec-2005 Craig Rodrigues <rodrigc@FreeBSD.org>

Add read-only XFS to LINT.


# 5b40ce27 02-Dec-2005 David Xu <davidxu@FreeBSD.org>

Add option P1003_1B_MQUEUE for POSIX message queue.


# d9bde1ad 28-Nov-2005 Ariff Abdullah <ariff@FreeBSD.org>

Add notes about ATI IXP audio controller.


# 727ded3a 07-Oct-2005 Joel Dahl <joel@FreeBSD.org>

snd_ess needs snd_sbc, so add a note about that.


# 2bc6081c 03-Oct-2005 Scott Long <scottl@FreeBSD.org>

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


# 80f008e3 28-Sep-2005 Warner Losh <imp@FreeBSD.org>

Remove more OLDCARD references.


# b6de9e91 27-Sep-2005 Max Laier <mlaier@FreeBSD.org>

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)


# a01b4125 21-Sep-2005 Ken Smith <kensmith@FreeBSD.org>

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

Pointed out by: jhb
Pointy hat: kensmith


# 346fa631 15-Sep-2005 Poul-Henning Kamp <phk@FreeBSD.org>

Add tnt4882 driver to the build


# 5ca1fcfe 27-Jul-2005 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Connect GEOM_ELI class to the build.

MFC after: 1 week


# 869de957 25-Jul-2005 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Connect GZERO to the build.

MFC after: 3 days


# 39e5901e 14-Jul-2005 Takanori Watanabe <takawata@FreeBSD.org>

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.


# fe98fb32 21-Jun-2005 Jean-Sébastien Pédron <dumbbell@FreeBSD.org>

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

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


# 7452bc49 14-Jun-2005 Stephan Uphoff <ups@FreeBSD.org>

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

Approved by: re (scottl)


# e9110049 10-Jun-2005 Gleb Smirnoff <glebius@FreeBSD.org>

Attach ng_tcpmss to the build.


# 277fb76b 09-Jun-2005 Stephan Uphoff <ups@FreeBSD.org>

Whitespace cleanup

Submitted by: nate@


# 6097174e 09-Jun-2005 Stephan Uphoff <ups@FreeBSD.org>

Add IPI support for preempting a thread on another CPU.

MFC after: 3 weeks


# 7afc53b8 04-Jun-2005 Andrew Thompson <thompsa@FreeBSD.org>

Connect if_bridge to the build.

Approved by: mlaier (mentor)


# 32b37b0e 24-May-2005 Maxime Henrion <mux@FreeBSD.org>

- 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.


# fc7a25fd 23-May-2005 Jean-Sébastien Pédron <dumbbell@FreeBSD.org>

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

Approved by: mux (mentor)


# 85efd716 16-May-2005 Gleb Smirnoff <glebius@FreeBSD.org>

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

Submitted by: ru


# 73e87266 16-May-2005 Gleb Smirnoff <glebius@FreeBSD.org>

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

In collaboration with: ru, julian


# 6cd047a0 06-May-2005 Gleb Smirnoff <glebius@FreeBSD.org>

Attach ng_nat and libalias to build.


# 0c3757df 28-Apr-2005 Darren Reed <darrenr@FreeBSD.org>

Patches from Ruslan Ermilov to address problems compiling LINT


# c146a157 25-Apr-2005 Poul-Henning Kamp <phk@FreeBSD.org>

retire the musycc E1/T1 driver.


# d47cce3e 20-Apr-2005 Marcel Moolenaar <marcel@FreeBSD.org>

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


# f13ea502 19-Apr-2005 Warner Losh <imp@FreeBSD.org>

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.


# ebccf1e3 18-Apr-2005 Joseph Koshy <jkoshy@FreeBSD.org>

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)


# 453ffeef 15-Apr-2005 Robert Watson <rwatson@FreeBSD.org>

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


# c91a27d2 04-Apr-2005 Scott Long <scottl@FreeBSD.org>

Re-enable the atapicam driver in NOTES.


# 934761ae 30-Mar-2005 Warner Losh <imp@FreeBSD.org>

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


# 6bcf0032 22-Mar-2005 Maxim Sobolev <sobomax@FreeBSD.org>

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


# 991f5121 18-Mar-2005 Murray Stokely <murray@FreeBSD.org>

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


# bcc1205c 14-Mar-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Add PSEUDOFS_TRACE option.


# 3236b30e 06-Mar-2005 Greg Lehey <grog@FreeBSD.org>

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


# 480c6b8a 04-Mar-2005 Greg Lehey <grog@FreeBSD.org>

Add comments on setting resource limits.


# 099dd043 22-Feb-2005 Andre Oppermann <andre@FreeBSD.org>

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


# c73b559b 22-Feb-2005 Gleb Smirnoff <glebius@FreeBSD.org>

Add CARP to kernel build.


# c7219167 07-Feb-2005 Max Laier <mlaier@FreeBSD.org>

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


# f2a7ef4e 04-Feb-2005 Gleb Smirnoff <glebius@FreeBSD.org>

Hook up ng_ipfw to kernel build.


# 83820457 01-Feb-2005 Poul-Henning Kamp <phk@FreeBSD.org>

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).


# e4eb384b 21-Jan-2005 Bosko Milekic <bmilekic@FreeBSD.org>

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.


# 27dc7a92 13-Jan-2005 John Baldwin <jhb@FreeBSD.org>

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

MFC after: 2 weeks


# 560cb857 11-Jan-2005 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Connect SHSEC GEOM class to the build.


# 017bee74 10-Jan-2005 SUZUKI Shinsuke <suz@FreeBSD.org>

KAME-IPSEC has already supports TCP_SIGNATURE(IPv4)


# 34341a71 05-Jan-2005 John Baldwin <jhb@FreeBSD.org>

Typo.


# 7665f445 30-Dec-2004 Robert Watson <rwatson@FreeBSD.org>

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


# 67e4db77 19-Dec-2004 Sam Leffler <sam@FreeBSD.org>

add ancillary wlan modules and fixup comments

Requested by: silby


# b99d6e6f 19-Nov-2004 David Schultz <das@FreeBSD.org>

Update the comment about what NO_SWAPPING does.

Reviewed by: arch@


# b7c3f3a9 12-Nov-2004 Peter Wemm <peter@FreeBSD.org>

Catch a few more autofs references.

Submitted by: obrien


# f12ea43d 08-Nov-2004 Poul-Henning Kamp <phk@FreeBSD.org>

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


# 32672ba8 02-Nov-2004 Andre Oppermann <andre@FreeBSD.org>

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

Discussed on: -current


# df970488 27-Oct-2004 Robert Watson <rwatson@FreeBSD.org>

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.


# 995356dc 25-Oct-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

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.


# 84bb6a2e 25-Oct-2004 Andre Oppermann <andre@FreeBSD.org>

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.


# 7a7386a3 25-Oct-2004 Pyun YongHyeon <yongari@FreeBSD.org>

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)


# fc67901f 04-Oct-2004 Yaroslav Tykhiy <ytykhiy@gmail.com>

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


# 1270082c 04-Oct-2004 Yaroslav Tykhiy <ytykhiy@gmail.com>

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


# 08d0c00b 23-Sep-2004 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# cec50dea 16-Sep-2004 Gleb Smirnoff <glebius@FreeBSD.org>

Attach ng_netflow to kernel build.

Approved by: julian (mentor)


# 8c5923d9 11-Sep-2004 Ceri Davies <ceri@FreeBSD.org>

Typo fix.


# 673974d9 08-Sep-2004 Ruslan Ermilov <ru@FreeBSD.org>

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

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


# 46e7a66b 03-Sep-2004 Ruslan Ermilov <ru@FreeBSD.org>

Fixed more spacing bugs.


# f93675b0 02-Sep-2004 Scott Long <scottl@FreeBSD.org>

Fix whitespace from last commit.

Submitted by: ru


# 0793d4d1 02-Sep-2004 Alfred Perlstein <alfred@FreeBSD.org>

Hook autofs to the build.


# 9923b511 02-Sep-2004 Scott Long <scottl@FreeBSD.org>

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.


# b4430622 31-Aug-2004 Brooks Davis <brooks@FreeBSD.org>

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

Reviewed by: peter


# f37a929c 30-Aug-2004 Peter Wemm <peter@FreeBSD.org>

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.


# 03fd8674 29-Aug-2004 Ruslan Ermilov <ru@FreeBSD.org>

Finish the removal of the HW_WDOG option.

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


# 6c420ed9 29-Aug-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

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


# cd0bd20d 28-Aug-2004 Ruslan Ermilov <ru@FreeBSD.org>

Fixed untested change.


# 3e41e813 28-Aug-2004 Alexander Leidinger <netchild@FreeBSD.org>

Add the Intel ICH watchdog timer driver.

Approved by: des


# 44299225 27-Aug-2004 Andre Oppermann <andre@FreeBSD.org>

Properly document and enable the IPFIREWALL_FORWARD option.


# c21fd232 27-Aug-2004 Andre Oppermann <andre@FreeBSD.org>

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.


# 6c493365 19-Aug-2004 Andre Oppermann <andre@FreeBSD.org>

Add comment that IPFIREWALL now requires option PFIL_HOOKS.


# 00096801 19-Aug-2004 John-Mark Gurney <jmg@FreeBSD.org>

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.


# e81856c3 16-Aug-2004 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Connect RAID3 GEOM class to the build.


# 52c07e1c 14-Aug-2004 Marius Strobl <marius@FreeBSD.org>

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


# 1f44b0a1 14-Aug-2004 David Malone <dwmalone@FreeBSD.org>

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


# 75261008 13-Aug-2004 Max Khon <fjoe@FreeBSD.org>

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.


# a7e22394 12-Aug-2004 Hartmut Brandt <harti@FreeBSD.org>

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


# 215e417c 11-Aug-2004 Warner Losh <imp@FreeBSD.org>

Remove references to pcic for newcard from NOTES.


# bf029145 10-Aug-2004 Robert Watson <rwatson@FreeBSD.org>

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


# d23a262f 03-Aug-2004 Mark Murray <markm@FreeBSD.org>

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

Encouragement provided by: jhb (and others)


# 8ab2f5ec 01-Aug-2004 Mark Murray <markm@FreeBSD.org>

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.


# 8a8fbaca 30-Jul-2004 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Connect GEOM_MIRROR class to the build.


# a9abdce4 27-Jul-2004 Robert Watson <rwatson@FreeBSD.org>

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.


# eca77c0f 23-Jul-2004 Robert Watson <rwatson@FreeBSD.org>

Reinforce discouragement of the use of FULL_PREEMPTION.


# 31578ac8 19-Jul-2004 Gleb Smirnoff <glebius@FreeBSD.org>

Add ng_device(4) to LINT.

Reviewed by: marks
Approved by: julian (mentor)


# 701f1408 18-Jul-2004 Scott Long <scottl@FreeBSD.org>

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.


# 684acf85 16-Jul-2004 Seigo Tanimura <tanimura@FreeBSD.org>

Sync the example of MODULES_OVERRIDE with the renamed sound drivers.

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


# 0739ea1d 15-Jul-2004 Seigo Tanimura <tanimura@FreeBSD.org>

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


# a2f87f42 15-Jul-2004 Peter Pentchev <roam@FreeBSD.org>

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


# e2ee2173 10-Jul-2004 Marcel Moolenaar <marcel@FreeBSD.org>

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.


# 0ac40133 08-Jul-2004 Brian Somers <brian@FreeBSD.org>

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


# 59e1ebc9 08-Jul-2004 Brian Somers <brian@FreeBSD.org>

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.


# 3bc482ec 03-Jul-2004 Tim J. Robbins <tjr@FreeBSD.org>

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.


# 0c0b25ae 02-Jul-2004 John Baldwin <jhb@FreeBSD.org>

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)


# e1237b28 02-Jul-2004 Pawel Jakub Dawidek <pjd@FreeBSD.org>

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!


# 4f02f1d5 29-Jun-2004 John Baldwin <jhb@FreeBSD.org>

Document the MUTEX_WAKE_ALL option and turn it on in LINT.


# ef0ebfc3 28-Jun-2004 John Baldwin <jhb@FreeBSD.org>

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.


# d07af9d9 26-Jun-2004 Robert Watson <rwatson@FreeBSD.org>

Add options NETGRAPH_FEC to hook up ng_fec.c to the LINT build.


# 9d564133 26-Jun-2004 Robert Watson <rwatson@FreeBSD.org>

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.


# 3c7c6c12 26-Jun-2004 Mike Pritchard <mpp@FreeBSD.org>

Spelling fixes.


# fa43ee09 22-Jun-2004 Bruce M Simpson <bms@FreeBSD.org>

Correct a misleading comment regarding the IPSEC_FILTERGIF option.

PR: 57125
Requested by: Adrian Steinmann


# 02b199f1 13-Jun-2004 Max Laier <mlaier@FreeBSD.org>

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


# b8b33234 13-Jun-2004 Doug Rabson <dfr@FreeBSD.org>

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.


# 1930e303 11-Jun-2004 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# 1b946e21 09-Jun-2004 Scott Long <scottl@FreeBSD.org>

Add esp(4) to NOTES.


# b1dabb26 07-Jun-2004 Alexander Leidinger <netchild@FreeBSD.org>

Remove references to L1 in the comments, according to Alan they are
historical leftovers.

Approved by: alc


# a5dc42de 01-Jun-2004 Seigo Tanimura <tanimura@FreeBSD.org>

Axe the old midi drivers and framework. matk has developed a new
module-friendly midi subsystem to be merged soon.


# 7dc92b13 20-May-2004 Pawel Jakub Dawidek <pjd@FreeBSD.org>

- 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


# a00d3e61 03-May-2004 Doug Ambrisko <ambrisko@FreeBSD.org>

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)


# 7226443d 03-May-2004 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Allow geom_concat and geom_gate to be compiled in kernel.


# 33c59112 30-Apr-2004 Doug Ambrisko <ambrisko@FreeBSD.org>

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


# b84b10f9 27-Apr-2004 Maksim Yevmenkin <emax@FreeBSD.org>

Address few style issues pointed out by bde

Reviewed by: bde, ru


# 0a6818e2 24-Apr-2004 Roman Kurakin <rik@FreeBSD.org>

Connect ng_sppp to the build process.


# 666ea1b6 23-Apr-2004 Maksim Yevmenkin <emax@FreeBSD.org>

Make sure Bluetooth stuff can be statically compiled into kernel

Submitted by: ps
Reviewed by: imp (mentor), ru


# fce240d1 21-Apr-2004 Scott Long <scottl@FreeBSD.org>

garbage collect ASR_MEASURE_PERFORMANCE


# f8f8803b 20-Apr-2004 Bruce Evans <bde@FreeBSD.org>

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.


# 4680bc9e 20-Apr-2004 Bruce M Simpson <bms@FreeBSD.org>

Braino. Point out that TCP_SIGNATURE requires FAST_IPSEC et al.


# b52f8407 20-Apr-2004 Bruce M Simpson <bms@FreeBSD.org>

Add TCP_SIGNATURE (TCP-MD5) to NOTES for -CURRENT.


# e27f806a 18-Apr-2004 Nate Lawson <njl@FreeBSD.org>

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.


# a844e89f 11-Apr-2004 Warner Losh <imp@FreeBSD.org>

Move sx to i386/NOTES for the moment. I missed the
enable/disable_intr() in the code.


# d7bf7681 11-Apr-2004 Warner Losh <imp@FreeBSD.org>

Add sx driver, since it looks like it should work on all
architectures.


# 87b320bb 02-Apr-2004 Vinod Kashyap <vkashyap@FreeBSD.org>

Moved 3ware 9000 driver (twa) stuff from sys/conf/NOTES to /sys/i386/conf/NOTES.


# 9e429d38 31-Mar-2004 Vinod Kashyap <vkashyap@FreeBSD.org>

Moved comments on 3ware 9000 series RAID controller driver options from
options to NOTES.


# 662d3818 31-Mar-2004 Scott Long <scottl@FreeBSD.org>

Give in to the oblique nagging and move AAC and AHC/AHD comments out of
/sys/conf/options and into /sys/conf/NOTES


# dd1c7d13 30-Mar-2004 Bruce Evans <bde@FreeBSD.org>

Fixed a style bug in previous commit (misformatted comment). Fixed
some nearby bugs (rotted and missing comments). Use similar wording
for describing broken options.


# b21126c6 29-Mar-2004 Peter Wemm <peter@FreeBSD.org>

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.


# 13d6b675 17-Mar-2004 Christian Brueffer <brueffer@FreeBSD.org>

s/enable/enables/ in a comment


# 846ca5d0 15-Mar-2004 Scott Long <scottl@FreeBSD.org>

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.


# 8d69c48b 08-Mar-2004 Max Laier <mlaier@FreeBSD.org>

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)


# bde778e9 08-Mar-2004 Benno Rice <benno@FreeBSD.org>

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


# d1233ab3 01-Mar-2004 Bruce Evans <bde@FreeBSD.org>

Fixed some insertion sort errors for usb devcies (mainly for serial ones).


# 7de87783 29-Feb-2004 Bernd Walter <ticso@FreeBSD.org>

add driver for BWCT console management serials


# 4103b765 28-Feb-2004 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# cdd40f3b 27-Feb-2004 MIHIRA Sanpei Yoshiro <sanpei@FreeBSD.org>

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


# bfdd261e 25-Feb-2004 Bruce Evans <bde@FreeBSD.org>

Fixed some style bugs in previous commit (unsorting of the DDB_* options,
misofrmatting, and English usage errors).


# 9aece96f 24-Feb-2004 Poul-Henning Kamp <phk@FreeBSD.org>

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.
~
~
~


# ce7e8bad 26-Jan-2004 Alex Dupre <ale@FreeBSD.org>

Add missing 'device ataraid' to support ATA software RAID.

Noticed by: Dario Freni <saturnero@gufi.org>
Approved by: blackend (mentor)
Reviewed by: sos


# f5e30711 24-Jan-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Remove trailing whitespace.


# dc171447 24-Jan-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Replace description of the mutex profiling code with a reference to
the newly committed manual page.


# b998bd92 25-Jan-2004 Jeff Roberson <jeff@FreeBSD.org>

- 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


# 8a0402a4 24-Jan-2004 Jeff Roberson <jeff@FreeBSD.org>

- ULE is not exactly experimental anymore. Change some comments and enable
it in LINT.


# 65b4a1b9 06-Dec-2003 Warner Losh <imp@FreeBSD.org>

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.


# 1da8b3b9 06-Dec-2003 Warner Losh <imp@FreeBSD.org>

Now that we have the en(4) driver, we no longer need the hea driver.

Approved by: harti@


# 29b41845 06-Dec-2003 Warner Losh <imp@FreeBSD.org>

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.


# 565f53bb 15-Nov-2003 Shunsuke Akiyama <akiyama@FreeBSD.org>

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


# 79acdabb 14-Nov-2003 Hidetoshi Shimokawa <simokawa@FreeBSD.org>

Add sbp_targ(4).


# ed91f9a5 07-Nov-2003 Hartmut Brandt <harti@FreeBSD.org>

Allow the ng_uni node (NgATM signalling layer) to be built into the
kernel via options NGATM_UNI.


# 1cee000c 05-Nov-2003 Bruce Evans <bde@FreeBSD.org>

Removed references to the garbage (and soon to be deleted) options
DPT_ALLOW_MEMIO, IPFIREWALL_FORWARD and NTIMECOUNTER


# 250ebca6 04-Nov-2003 Bruce Evans <bde@FreeBSD.org>

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.


# 126f0dfa 04-Nov-2003 Scott Long <scottl@FreeBSD.org>

Hook the udf_iconv module up to the kernel build.

Submitted by: imura@ryu16.org


# 395bb186 27-Oct-2003 Sam Leffler <sam@FreeBSD.org>

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)


# 027ebd2f 27-Oct-2003 Hartmut Brandt <harti@FreeBSD.org>

Allow building the NgATM SAAL layer directly into the kernel.


# eb4f7a81 26-Oct-2003 Nate Lawson <njl@FreeBSD.org>

Fix style problems with new options.

Requested by: bde


# 869093b1 24-Oct-2003 Hidetoshi Shimokawa <simokawa@FreeBSD.org>

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.


# 3c0014e8 22-Oct-2003 Nate Lawson <njl@FreeBSD.org>

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.


# c4f02a89 26-Sep-2003 Max Khon <fjoe@FreeBSD.org>

- 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>


# 28cfb8fc 25-Sep-2003 Sam Leffler <sam@FreeBSD.org>

indicate PFIL_HOOKS is now required by IPFILTER; it used to automagically
be defined in net/pfil.h


# ad27c4c7 19-Sep-2003 John Baldwin <jhb@FreeBSD.org>

Document MUTEX_NOINLINE.

Reported by: sam


# 8194412b 11-Sep-2003 Marcel Moolenaar <marcel@FreeBSD.org>

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


# c8956b36 07-Sep-2003 Marcel Moolenaar <marcel@FreeBSD.org>

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


# d14e51c9 07-Sep-2003 Tim J. Robbins <tjr@FreeBSD.org>

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).


# 501ef98f 06-Sep-2003 Marcel Moolenaar <marcel@FreeBSD.org>

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).


# 5fdbb0d2 24-Aug-2003 Søren Schmidt <sos@FreeBSD.org>

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.


# 782f7255 21-Aug-2003 Robert Watson <rwatson@FreeBSD.org>

Hook up mac_stub to the modules Makefile.
Hook up mac_stub in files and options.
Reference mac_stub in NOTES.


# 30e27d96 12-Aug-2003 Alexander Langer <alex@FreeBSD.org>

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)


# ee4080d4 11-Aug-2003 Hartmut Brandt <harti@FreeBSD.org>

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>


# e0f688ba 07-Aug-2003 Jeffrey Hsu <hsu@FreeBSD.org>

Add support for "options PIM" in the kernel configuration file.

Submitted by: Pavlin Radoslavov <pavlin@icir.org>


# 86e2f1f1 03-Aug-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Remove the NSWAPDEV option, we have no upper limit on how many
swap devices we can have anymore.


# af991a6d 28-Jul-2003 Nate Lawson <njl@FreeBSD.org>

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.


# 58aa55ef 21-Jul-2003 Hartmut Brandt <harti@FreeBSD.org>

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.


# 8dd4275c 15-Jul-2003 Hartmut Brandt <harti@FreeBSD.org>

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.


# 7e9024cd 15-Jul-2003 Hartmut Brandt <harti@FreeBSD.org>

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.


# e14eb5a1 07-Jul-2003 Garrett Wollman <wollman@FreeBSD.org>

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.


# 4aeb6d26 07-Jul-2003 Garrett Wollman <wollman@FreeBSD.org>

Fix wording: `irregardless' is a solecism.


# 00b0445c 07-Jul-2003 Garrett Wollman <wollman@FreeBSD.org>

Put NFSSERVER in the right list of filesystem stuff. Building a kernel
with only NFSSERVER won't get you anywhere.


# 57a42501 07-Jul-2003 Garrett Wollman <wollman@FreeBSD.org>

Single-character style fix.


# ce17576a 27-Jun-2003 Scott Long <scottl@FreeBSD.org>

Announce umct to kernel build.


# 370c3cb5 26-Jun-2003 Sean Kelly <smkelly@FreeBSD.org>

- 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)


# 02152e8f 25-Jun-2003 Hartmut Brandt <harti@FreeBSD.org>

Make the netgraph ATM node compilable into the kernel.


# fb24f088 23-Jun-2003 Hartmut Brandt <harti@FreeBSD.org>

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.


# 22db1e9f 18-Jun-2003 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# c594298b 17-Jun-2003 Hartmut Brandt <harti@FreeBSD.org>

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.


# 1ba46a03 12-Jun-2003 Hartmut Brandt <harti@FreeBSD.org>

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.


# d4eba12b 09-Jun-2003 Hiten Pandya <hmp@FreeBSD.org>

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


# 7bbf05a2 14-May-2003 Juli Mallett <jmallett@FreeBSD.org>

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


# 069accaa 05-May-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Put descriptive comments on the GEOM_* options


# 11e04b05 03-May-2003 Shunsuke Akiyama <akiyama@FreeBSD.org>

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


# ca3acad1 14-Apr-2003 Bernd Walter <ticso@FreeBSD.org>

add EHCI (USB 2.0) controller support.

Approved by: joe
gallatin (mentor)
Obtained from: NetBSD


# 7d0de413 13-Apr-2003 Max Khon <fjoe@FreeBSD.org>

Driver for Granch SBNI16 SHDSL modem

Submitted by: Denis I. Timofeev <timofeev@granch.ru>
MFC after: 1 week


# 53dcc544 12-Apr-2003 Mike Silbersack <silby@FreeBSD.org>

Rename MBUF_FRAG_TEST to MBUF_STRESS_TEST as it will be extended
to include more than just frag tests.


# 4e0ee531 11-Apr-2003 Mike Barcroft <mike@FreeBSD.org>

Clarify NO_SWAPPING description.


# 4a5ccac7 28-Mar-2003 Mike Silbersack <silby@FreeBSD.org>

Add MBUF_FRAG_TEST to NOTES.

Submitted by: Hiten Pandya <hiten@unixdaemons.com>


# 5bbb8060 26-Mar-2003 Tor Egge <tegge@FreeBSD.org>

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.


# ab0f83bd 22-Mar-2003 Ruslan Ermilov <ru@FreeBSD.org>

Remove bitrot associated with `maxusers'.

Submitted by: bde


# b7c4858f 11-Mar-2003 Sam Leffler <sam@FreeBSD.org>

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)


# ac7e2c05 11-Mar-2003 Sam Leffler <sam@FreeBSD.org>

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


# 20280807 09-Mar-2003 Shunsuke Akiyama <akiyama@FreeBSD.org>

Fix device freeze to reduce output packet size.
And make this value configurable by kernel config or sysctl.


# 74c69254 07-Mar-2003 Tim J. Robbins <tjr@FreeBSD.org>

Remove unimplemented IP-in-IPX encapsulation support (options IPTUNNEL).


# 09c80124 05-Mar-2003 Alan Cox <alc@FreeBSD.org>

Remove ENABLE_VFS_IOOPT. It is a long unfinished work-in-progress.

Discussed on: arch@


# 3c6b084e 05-Mar-2003 Peter Wemm <peter@FreeBSD.org>

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.


# 9c62b3ee 05-Mar-2003 David Schultz <das@FreeBSD.org>

Make TTYHOG tunable.

Reviewed by: mike (mentor)


# 03d03162 02-Mar-2003 Robert Watson <rwatson@FreeBSD.org>

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


# 6e818956 25-Feb-2003 David E. O'Brien <obrien@FreeBSD.org>

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@


# a0450500 23-Feb-2003 Yoshihiro Takahashi <nyan@FreeBSD.org>

Move MD devices to <machine>/conf/NOTES.


# 14dd6717 22-Feb-2003 Sam Leffler <sam@FreeBSD.org>

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


# d23dc829 13-Feb-2003 David E. O'Brien <obrien@FreeBSD.org>

FB_INSTALL_CDEV not usable on Alpha.


# 1e514ebb 13-Feb-2003 David E. O'Brien <obrien@FreeBSD.org>

Only i386 has npx device.


# fa75a3c2 07-Feb-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Put makeoptions DESTDIR=/tmp in NOTES to protect people from
accidentally installing a LINT kernel on their system.


# cd53fddb 03-Feb-2003 Gordon Tetlow <gordon@FreeBSD.org>

Add config glue to add an optional GEOM_VOL to add optional volume support.

Reviewed by: jake (mentor)


# 83dde527 31-Jan-2003 Poul-Henning Kamp <phk@FreeBSD.org>

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


# 2abcaf6b 28-Jan-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Bang! Bang! Bang! etc etc.

Remove NODEVFS option.


# a61617ed 26-Jan-2003 Giorgos Keramidas <keramida@FreeBSD.org>

Fix a typo and reword a bit the description of the new SCHED_xxx stuff.

Reviewed by: jeff


# f5d05ac3 25-Jan-2003 Jeff Roberson <jeff@FreeBSD.org>

- Add entries for scheduler selection


# be7b82cd 15-Jan-2003 Sam Leffler <sam@FreeBSD.org>

config glue for new wi driver and wlan module

Reviewed by: imp
Forgotten by: sam


# 9d5abbdd 01-Jan-2003 Jens Schweikhardt <schweikh@FreeBSD.org>

Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,
especially in troff files.


# 1bebbbe2 08-Dec-2002 Robert Watson <rwatson@FreeBSD.org>

Document that ENABLE_VFS_IOOPT is dangerous. Please don't use it.

Suggested by: alc
Approved by: re (murray)


# c4725737 26-Nov-2002 Robert Watson <rwatson@FreeBSD.org>

Hook up kernel options and build information for mac_lomac.

Approved by: re
Obtained from: TrustedBSD Project
Sponsored by: DARPA, Network Associates Laboratories


# f6af4ff6 08-Nov-2002 John Baldwin <jhb@FreeBSD.org>

Make 3dfx i386-only. The memrange API it uses may be defined in an MI
header, but it is only implemented on i386.


# 787f1498 08-Nov-2002 John Baldwin <jhb@FreeBSD.org>

Move rc(4) over to MI notes and enable it as a MI module.


# 2d2f7b62 08-Nov-2002 John Baldwin <jhb@FreeBSD.org>

Make xrpu(4) i386-only. Consumers of i386_btop() are not MI.


# 1786a481 07-Nov-2002 John Baldwin <jhb@FreeBSD.org>

Move sr(4) over to i386-only as it is yet another user of kvtop().


# 7d2ba89b 07-Nov-2002 John Baldwin <jhb@FreeBSD.org>

Move firewire back to being MI.


# 246d578c 06-Nov-2002 John Baldwin <jhb@FreeBSD.org>

lnc(4) uses kvtop() and is thus i386-only for now.


# c8341b3e 06-Nov-2002 John Baldwin <jhb@FreeBSD.org>

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.


# b76c5a11 06-Nov-2002 John Baldwin <jhb@FreeBSD.org>

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


# b180bb16 06-Nov-2002 John Baldwin <jhb@FreeBSD.org>

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.


# cea108a8 06-Nov-2002 John Baldwin <jhb@FreeBSD.org>

Move digi to the i386 MD NOTES until it stops using inb() and outb().
Please use bus_space functions instead.


# 1183b972 06-Nov-2002 John Baldwin <jhb@FreeBSD.org>

- 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.


# 8a651d2c 06-Nov-2002 John Baldwin <jhb@FreeBSD.org>

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


# 6fe8789d 05-Nov-2002 Matthew N. Dodd <mdodd@FreeBSD.org>

- Convert to newbus, bus_space etc.
- Move to MI space.

Tested on: i386


# eae2f20c 24-Oct-2002 Robert Watson <rwatson@FreeBSD.org>

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


# f9d186ed 20-Oct-2002 Scott Long <scottl@FreeBSD.org>

After much delay and anticipation, welcome RAIDFrame into the FreeBSD
world. This should be considered highly experimental.

Approved-by: re


# 19b5c7bc 19-Oct-2002 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# d3d67116 17-Oct-2002 Maxim Sobolev <sobomax@FreeBSD.org>

my(4) requires miibus, so that move it into proper section and also add a
verbose description into comment area.


# 25388b6c 17-Oct-2002 Bruce Evans <bde@FreeBSD.org>

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).


# c42946c4 17-Oct-2002 Mitsuru IWASAKI <iwasaki@FreeBSD.org>

Add new syscons option SC_NO_SUSPEND_VTYSWITCH.
This disables vty switch during suspend/resume.


# b9234faf 15-Oct-2002 Sam Leffler <sam@FreeBSD.org>

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


# 64fa5108 14-Oct-2002 Matt Jacob <mjacob@FreeBSD.org>

Enable mpt && ISP_TARGET_MODE in isp (for Lint purposes)


# bb2ea9c2 14-Oct-2002 John Baldwin <jhb@FreeBSD.org>

Allow firewire, sbp (SCSI over firewire), and fwe (non-standard raw
ethernet over firewire) to be statically compiled into the kernel as
devices.


# f3d92b26 13-Oct-2002 Olivier Houchard <cognet@FreeBSD.org>

Connect trm(4) to the build.

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


# 4275e0d9 13-Oct-2002 Mike Barcroft <mike@FreeBSD.org>

Remove the P1003_1B kernel option; it is no longer used.


# ce43eaeb 13-Oct-2002 Mike Barcroft <mike@FreeBSD.org>

Remove _KPOSIX_VERSION as a kernel option, nothing uses this any more.


# 7d59efa9 07-Oct-2002 Alexander Kabaev <kan@FreeBSD.org>

Add device driver for Belkin F5U103 and compatible USB-to-serial adapters.

Reviewed by: n_hibma
Approved by: obrien


# 8cbf4973 06-Oct-2002 Alfred Perlstein <alfred@FreeBSD.org>

warn about p1003_1b_semaphores


# 3bd65612 05-Oct-2002 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# 8b7ce2ff 04-Oct-2002 Sam Leffler <sam@FreeBSD.org>

hookup new crypto support to the config/build process


# 3ae5b532 04-Oct-2002 Matthew N. Dodd <mdodd@FreeBSD.org>

newbus & bus_space the mcd(4) driver.


# 316ec49a 02-Oct-2002 Scott Long <scottl@FreeBSD.org>

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


# 89147260 26-Sep-2002 Scott Long <scottl@FreeBSD.org>

Move the aac driver from MI to MD NOTES. It is a long way from being
64-bit clean.


# 1da8092e 25-Sep-2002 Scott Long <scottl@FreeBSD.org>

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


# 679aabee 23-Sep-2002 Warner Losh <imp@FreeBSD.org>

OLDCARD -> NEWCARD
pccbb -> cbb

PR: 43263


# 44e6ce01 21-Sep-2002 Nicolas Souchu <nsouch@FreeBSD.org>

Cleanup of amdpm(4).

Add of NVIDIA nForce (nfpm) smbus support.

Obtained from: Thomas D. Dean <tomdean@speakeasy.org>


# 0be15dec 19-Sep-2002 John Baldwin <jhb@FreeBSD.org>

Ahem, actually add the DDB_TRACE option and finish changing DDB_UNATTENDED
to use its own header.


# db2cfa1f 18-Sep-2002 Peter Wemm <peter@FreeBSD.org>

move wl (isa wavelan card, not "wi") to i386-only


# 6938800e 18-Sep-2002 Peter Wemm <peter@FreeBSD.org>

move "profile 2" to i386


# b80ad83e 18-Sep-2002 Peter Wemm <peter@FreeBSD.org>

move ncv, nsp, stg to i386-only section (there is no pc98-specific version)


# 2b412989 18-Sep-2002 Peter Wemm <peter@FreeBSD.org>

Move dgb to the i386 section


# 3ffb9fad 18-Sep-2002 Alfred Perlstein <alfred@FreeBSD.org>

Regen for added syscalls.


# 8579e9cf 10-Sep-2002 Nate Lawson <njl@FreeBSD.org>

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


# f367e2f2 09-Sep-2002 Maxim Sobolev <sobomax@FreeBSD.org>

Add `device gre'.

Reminded by: bde
MFC after: 28 days
(along with other if_gre stuff)


# b37a9be2 08-Sep-2002 Jun Kuriyama <kuriyama@FreeBSD.org>

Use "options " rather than "options<tab>".


# cd6d1d76 05-Sep-2002 Bruce Evans <bde@FreeBSD.org>

Uncommented MAC options so that they get linted. This exposes brokenness
in kern_mac.c.


# 1519d15c 03-Sep-2002 John Baldwin <jhb@FreeBSD.org>

- Move $FreeBSD$ to the top of the file.
- Fix a few grammar bogons.
- Add a small style guide.

Reviewed by: bde (a while ago)


# 3a937198 02-Sep-2002 Brooks Davis <brooks@FreeBSD.org>

Make SCSI_DELAY setable at boot time and runtime via the
kern.cam.scsi_delay tunable/sysctl.

Reviewed by: mdodd, njl


# 43e9d8a3 01-Sep-2002 Scott Long <scottl@FreeBSD.org>

Minor fixups


# f4dcc047 01-Sep-2002 Bruce Evans <bde@FreeBSD.org>

Unbreak LINT a little by not attempting to configure the nonexist option
AHC_DEBUG_SEQUENCER.


# b1acc4a2 23-Aug-2002 Murray Stokely <murray@FreeBSD.org>

Add a belated entry for amdpm(4).

Submitted by: marius@alchemy.franken.de
MFC After: 1 day


# 901fadf7 20-Aug-2002 Archie Cobbs <archie@FreeBSD.org>

New L2TP netgraph node type.

Obtained from: Packet Design


# f453022c 19-Aug-2002 Peter Wemm <peter@FreeBSD.org>

remove unit counts from atkbdc, pckbd, sc


# f050add5 16-Aug-2002 Robert Watson <rwatson@FreeBSD.org>

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


# 48b68edf 12-Aug-2002 Josef Karthauser <joe@FreeBSD.org>

Update for recent changes in the usb code.


# fd4b4ecc 09-Aug-2002 Søren Schmidt <sos@FreeBSD.org>

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>


# 05c872ad 09-Aug-2002 Brooks Davis <brooks@FreeBSD.org>

Make ppp(4) devices clonable and unloadable.


# 12e9f256 27-Jul-2002 Robert Watson <rwatson@FreeBSD.org>

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


# ee739cd1 21-Jul-2002 Peter Wemm <peter@FreeBSD.org>

Add unit count to 'card'


# c06a3350 21-Jul-2002 Peter Wemm <peter@FreeBSD.org>

The following devices do not take a static unit 'count' argument:
ar, fe, lnc, sr, wl, fpa, bktr, sbni


# dde04295 16-Jul-2002 John Baldwin <jhb@FreeBSD.org>

Various comment and minor style fixes. No actual content changes.

Inspired by: bde


# 5e4fa891 15-Jul-2002 John Baldwin <jhb@FreeBSD.org>

KSTACK_PAGES is only an option on i386, so move it to the i386 NOTES file.


# b9285855 15-Jul-2002 John Baldwin <jhb@FreeBSD.org>

Whitespace fix.


# 522a5d72 15-Jul-2002 John Baldwin <jhb@FreeBSD.org>

The hardware bus configuration section is now empty, so axe it. The
architecture specific NOTES files define which hardware busses each
architecture supports.


# f309f881 15-Jul-2002 John Baldwin <jhb@FreeBSD.org>

Move NTIMECOUNTER and PPS_SYNC from the ISA bus section to the clock
options section.


# 601969b9 15-Jul-2002 John Baldwin <jhb@FreeBSD.org>

The EISA_SLOTS option appears to be i386-only.


# 122b088a 15-Jul-2002 John Baldwin <jhb@FreeBSD.org>

COMPAT_OLDISA is only used on i386.


# 7b529586 15-Jul-2002 John Baldwin <jhb@FreeBSD.org>

Properly document NDGBPORTS and use a better value in NOTES. The normal
values for settings in NOTES is to use the default value + 1.


# e03e67ef 15-Jul-2002 John Baldwin <jhb@FreeBSD.org>

Remove SIMOS option from here. It will be moving to a new home shortly.


# 722e9593 15-Jul-2002 John Baldwin <jhb@FreeBSD.org>

Adjust a comment, the vga device only supports VGA cards.


# a916ce1a 15-Jul-2002 John Baldwin <jhb@FreeBSD.org>

Move ACPI device and options from MI NOTES to the i386 MD NOTES file.


# f0eb293e 13-Jul-2002 Alfred Perlstein <alfred@FreeBSD.org>

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


# b147fcf9 11-Jul-2002 Bruce Evans <bde@FreeBSD.org>

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).


# 2c8f5a28 10-Jul-2002 Kenneth D. Merry <ken@FreeBSD.org>

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


# b7c5c8fb 08-Jul-2002 Mark Peek <mp@FreeBSD.org>

Back out previous TCBHASHSIZE change. This should not be a kernel option.

Pointed out by: bde


# 08d6c461 07-Jul-2002 Mark Peek <mp@FreeBSD.org>

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


# 98cb733c 25-Jun-2002 Kenneth D. Merry <ken@FreeBSD.org>

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.


# e35e7aba 21-Jun-2002 Robert Watson <rwatson@FreeBSD.org>

Remove CAPABILITIES from NOTES


# 11b2dcdb 10-Jun-2002 Poul-Henning Kamp <phk@FreeBSD.org>

Put geom_gpt.c under the GEOM option instead of having a special GEOM_GPT
option for it.


# ea3fc8e4 06-Jun-2002 John Baldwin <jhb@FreeBSD.org>

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


# 26837af4 06-Jun-2002 Matthew N. Dodd <mdodd@FreeBSD.org>

'device hea' is no longer broken.
Add 'nowerror' to a few 'hea' files to ignore warnings on volatiles.


# cdd49e97 06-Jun-2002 Justin T. Gibbs <gibbs@FreeBSD.org>

Hook up the ahd driver.


# 09d225d8 31-May-2002 Brooks Davis <brooks@FreeBSD.org>

The loop back device hasn't been a count device for a while so remove
the number of interfaces.


# bcd46c60 28-May-2002 Marcel Moolenaar <marcel@FreeBSD.org>

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.


# 2498cf8c 21-May-2002 John Baldwin <jhb@FreeBSD.org>

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


# 2bab796d 18-May-2002 Robert Watson <rwatson@FreeBSD.org>

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)


# d394511d 16-May-2002 Tom Rhodes <trhodes@FreeBSD.org>

More s/file system/filesystem/g


# 7085e708 07-May-2002 Bruce Evans <bde@FreeBSD.org>

Reconnect db_elf.c to the build (now under "options DDB_NOKLDSYM"). It
doesn't actually build yet.


# 44b00b1d 30-Apr-2002 Scott Long <scottl@FreeBSD.org>

Note that the aacp device requires CAM


# 9a27ef0d 30-Apr-2002 Julian Elischer <julian@FreeBSD.org>

Add the myson controllers to LINT

MFC after: 2 weeks


# 67a2a28f 27-Apr-2002 Eric Anholt <anholt@FreeBSD.org>

Hook the DRM up to the build and add it to NOTES.

Approved by: des


# fe3cb0e1 26-Apr-2002 Scott Long <scottl@FreeBSD.org>

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


# 04961ff8 20-Apr-2002 Mike Barcroft <mike@FreeBSD.org>

Reenable the newly unbroken hfa device.


# b4ff0fb0 19-Apr-2002 Mike Barcroft <mike@FreeBSD.org>

Comment out and mark broken the hea and hfa devices until someone has
time to fix them.


# aa4019ef 17-Apr-2002 Robert Watson <rwatson@FreeBSD.org>

Witness doesn't just track mutexes, so don't say mutexes specifically. It
also tracks sxlocks, etc.


# 4db0d7f1 15-Apr-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Document WITNESS_PROFILING.

Submitted by: Hiten Pandya <hiten@uk.FreeBSD.org>


# df263cbd 14-Apr-2002 Scott Long <scottl@FreeBSD.org>

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


# c0285bef 10-Apr-2002 Brian Somers <brian@FreeBSD.org>

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.


# 7f5092f3 09-Apr-2002 John Baldwin <jhb@FreeBSD.org>

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


# 2ce7d7a0 09-Apr-2002 Poul-Henning Kamp <phk@FreeBSD.org>

GC various bits and pieces of USERCONFIG from all over the place.


# 36fea630 04-Apr-2002 Brian Somers <brian@FreeBSD.org>

Mention that options BOOTP requires options NFSCLIENT and options NFS_ROOT


# dd267672 03-Apr-2002 John Baldwin <jhb@FreeBSD.org>

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.


# 12c79eb2 03-Apr-2002 Ruslan Ermilov <ru@FreeBSD.org>

Dike out a highly insecure UCONSOLE option.
TIOCCONS must be able to VOP_ACCESS() /dev/console to succeed.

Obtained from: OpenBSD


# 0f8870a2 01-Apr-2002 John Baldwin <jhb@FreeBSD.org>

Remove references to KTR_EXTEND.

Pointy-hat to: jake


# 38fd6d01 31-Mar-2002 Poul-Henning Kamp <phk@FreeBSD.org>

A couple of bits survived Dans nukage of CV_DEBUG in favour of INVARIANTS,
take them out with tacticals.


# 106d5017 26-Mar-2002 Poul-Henning Kamp <phk@FreeBSD.org>

Uncomment GEOM in LINT


# b708809f 23-Mar-2002 Nicolas Souchu <nsouch@FreeBSD.org>

Forgot viapm in the NOTES. Fixed.


# c17d4340 23-Mar-2002 Nicolas Souchu <nsouch@FreeBSD.org>

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


# 916e6e02 18-Mar-2002 Josef Karthauser <joe@FreeBSD.org>

Add a USB comm driver.

Ported from NetBSD by: akiyama


# 3b6c640c 17-Mar-2002 Crist J. Clark <cjc@FreeBSD.org>

Spelling: s/guesst/guessed/


# 7b03a440 11-Mar-2002 Poul-Henning Kamp <phk@FreeBSD.org>

Add commented out GEOM line to NOTES


# c445626a 09-Mar-2002 Luigi Rizzo <luigi@FreeBSD.org>

Enable DEVICE_POLLING in LINT now that it is safe to compile it there.


# 7ed3fd6d 08-Mar-2002 Robert Watson <rwatson@FreeBSD.org>

Note that several of the recently documented clock-related kernel options
are for debugging purposes only.

Suggested by: bde


# 552c7f1b 08-Mar-2002 Robert Watson <rwatson@FreeBSD.org>

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>


# 08d38d45 08-Mar-2002 Robert Watson <rwatson@FreeBSD.org>

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>


# daaa73b5 08-Mar-2002 Robert Watson <rwatson@FreeBSD.org>

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.


# 63c6b757 03-Mar-2002 Alfred Perlstein <alfred@FreeBSD.org>

Support for USB fm radio.

Submitted by: David Yeske <dyeske@yahoo.com>


# 093d7296 18-Feb-2002 Chris D. Faulhaber <jedgar@FreeBSD.org>

Correct path to pucdata.c

Reviewed by: jhay


# 9c564b6c 16-Feb-2002 John Hay <jhay@FreeBSD.org>

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


# 1e92845e 15-Feb-2002 Bruce Evans <bde@FreeBSD.org>

Garbage-collect options ACPI_NO_ENABLE_ON_BOOT, AML_DEBUG, BLEED,
DEVICE_SYSCTLS, KEY, LOUTB, NFS_MUIDHASHSIZ, NFS_UIDHASHSIZ, PCI_QUIET
and SIMPLELOCK_DEBUG.


# 039b360d 15-Feb-2002 Bruce Evans <bde@FreeBSD.org>

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.


# 1e9ea774 15-Feb-2002 Bruce Evans <bde@FreeBSD.org>

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.


# a59716d2 13-Feb-2002 Prafulla Deuskar <pdeuskar@FreeBSD.org>

- 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


# 6df7ca7b 12-Feb-2002 David Malone <dwmalone@FreeBSD.org>

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


# 586d7c2e 26-Jan-2002 John Polstra <jdp@FreeBSD.org>

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


# a245737c 20-Jan-2002 Mike Smith <msmith@FreeBSD.org>

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


# eda6ecb2 08-Jan-2002 Max Khon <fjoe@FreeBSD.org>

- generic Arcnet framework
- device driver for SMC COM90cx6 Arcnet network adapters

Obtained from: NetBSD


# 6d823e81 31-Dec-2001 Julian Elischer <julian@FreeBSD.org>

Add the nullmodem device


# 1823355c 22-Dec-2001 Gary Jennejohn <gj@FreeBSD.org>

Add the ifpi2 driver.

MFC after: 4 weeks


# 417c87d1 20-Dec-2001 Jim Pirzyk <pirzyk@FreeBSD.org>

Add support for the Intel 82443MX chipset

PR: kern/33032
MFC after: 1 month


# 96efd94a 19-Dec-2001 Poul-Henning Kamp <phk@FreeBSD.org>

Comment out DEVICE_POLLING so that LINT compiles again.


# c7c78163 14-Dec-2001 Luigi Rizzo <luigi@FreeBSD.org>

Add description of DEVICE_POLLING option.


# c578eeb3 14-Dec-2001 Luigi Rizzo <luigi@FreeBSD.org>

Clarify the comments related to DUMMYNET and HZ

MFC after: 3 days


# 0cbe2ad6 14-Dec-2001 Robert Watson <rwatson@FreeBSD.org>

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.


# c8b4c292 13-Dec-2001 Matthew Dillon <dillon@FreeBSD.org>

Add maxusers auto-sizing description to NOTES file for -current


# 4d2647f9 03-Dec-2001 Dag-Erling Smørgrav <des@FreeBSD.org>

PROCFS requires PSEUDOFS now.


# 3a31b7eb 27-Nov-2001 Mike Smith <msmith@FreeBSD.org>

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


# ea38b939 21-Nov-2001 Max Khon <fjoe@FreeBSD.org>

Add driver for Granch SBNI12-xx ISA and PCI network adapters.

MFC after: 1 week


# a9032e75 15-Nov-2001 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

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>]


# 2ffc1262 15-Nov-2001 John Baldwin <jhb@FreeBSD.org>

Axe NFS_NOSERVER since it doesn't do anything anymore. Remove NFSSERVER
from your config file instead.


# 06a9ff8e 02-Nov-2001 Warner Losh <imp@FreeBSD.org>

The sound drivers live in sound/driver, not sound/drivers

submitted by: Alex Kapranoff <alex@kapran.bitmcnit.bryansk.su>


# 42108a77 24-Oct-2001 Bruce Evans <bde@FreeBSD.org>

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.


# c797ab47 25-Oct-2001 Bruce Evans <bde@FreeBSD.org>

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".


# 0103e55f 25-Oct-2001 Hellmuth Michaelis <hm@FreeBSD.org>

add options line for Compaq Microcom 610 ISDN card.


# ae4da688 24-Oct-2001 Jonathan Lemon <jlemon@FreeBSD.org>

Add PCI_ENABLE_IO_MODES option, for BIOSen that neglect this.

Submitted by: Andrew R. Reiter arr@watson.org


# 9e90edd4 22-Oct-2001 Warner Losh <imp@FreeBSD.org>

wx is an ex-parrot. wx doesn't exist any more, so remove it.


# 8c7c272c 20-Oct-2001 Matt Jacob <mjacob@FreeBSD.org>

Remove wx.


# e903bd58 18-Oct-2001 Jonathan Lemon <jlemon@FreeBSD.org>

Add entry for the PRO/1000.


# 0e3d06b1 18-Oct-2001 Warner Losh <imp@FreeBSD.org>

Add verbage for MODULES_OVERRIDE.


# b3783114 16-Oct-2001 Dag-Erling Smørgrav <des@FreeBSD.org>

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.


# 446975de 16-Oct-2001 Dag-Erling Smørgrav <des@FreeBSD.org>

Document TCBHASHSIZE.


# 4479e72c 11-Oct-2001 Crist J. Clark <cjc@FreeBSD.org>

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


# 572ce00d 08-Oct-2001 Matt Jacob <mjacob@FreeBSD.org>

Note that this driver is soon to be deprecated and removed from FreeBSD.


# c6cd7661 07-Oct-2001 Ian Dowse <iedowse@FreeBSD.org>

Mention that ed requires miibus.

Suggested by: Eugene Grosbein <eugen@grosbein.pp.ru>


# ec84f103 04-Oct-2001 Mark Peek <mp@FreeBSD.org>

Add nmdm driver.

PR: 31027
Submitted by: Edwin Groothuis <edwin@mavetju.org>
MFC after: 1 day


# 9d60f0cb 04-Oct-2001 John Baldwin <jhb@FreeBSD.org>

Comment out RESTARTABLE_PANICS so that it is not defined in LINT. It
introduces many useless warnings obscuring the useful ones.


# 9b04180c 29-Sep-2001 Ian Dowse <iedowse@FreeBSD.org>

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.


# 95d67482 27-Sep-2001 Bill Paul <wpaul@FreeBSD.org>

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.


# 37379158 27-Sep-2001 Brooks Davis <brooks@FreeBSD.org>

Add the new ng_gif, ng_gif_demux, and ng_ip_input nodes to NOTES so they
get compiled with LINT.


# fd197202 27-Sep-2001 Murray Stokely <murray@FreeBSD.org>

Update a comment to reflect the param.c -> subr_param.c move.

PR: kern/30766
Submitted by: Kevin Way <kevin.way@overtone.org>


# efacde1b 26-Sep-2001 Brooks Davis <brooks@FreeBSD.org>

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.


# 2f653328 25-Sep-2001 Brooks Davis <brooks@FreeBSD.org>

The faith(4) device is no longer a count device so don't specify a count.


# 78f45204 21-Sep-2001 Maxim Sobolev <sobomax@FreeBSD.org>

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


# 9789c757 21-Sep-2001 Peter Wemm <peter@FreeBSD.org>

Add some comments about KVA_PAGES and a test.


# eb25edbd 18-Sep-2001 Peter Wemm <peter@FreeBSD.org>

Cleanup and split of nfs client and server code.
This builds on the top of several repo-copies.


# e469dc2c 13-Sep-2001 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

Place CPU_UPGRADE_HW_CACHE in the right section.


# b40ce416 12-Sep-2001 Julian Elischer <julian@FreeBSD.org>

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


# 0fa2bf54 05-Sep-2001 Brooks Davis <brooks@FreeBSD.org>

Don't specify the number of vlan interfaces any more, they are created
at runtime.


# 5f5e1ff3 02-Sep-2001 Takeshi Shibagaki <shiba@FreeBSD.org>

Always turned on 8bit access card support for the fe driver
both i386/pc98, so options FE_8BIT_SUPPORT was deleted.

Reviewed by: nyan


# e8a0f829 31-Aug-2001 Matt Jacob <mjacob@FreeBSD.org>

note 2300/2312 support


# a14859cd 29-Aug-2001 Mike Smith <msmith@FreeBSD.org>

Note that compiling ACPI into the kernel is deprecated for normal use.


# 268bdb43 24-Aug-2001 Peter Wemm <peter@FreeBSD.org>

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.


# 1432aa0c 23-Aug-2001 John Baldwin <jhb@FreeBSD.org>

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.


# 74a40576 08-Aug-2001 Peter Wemm <peter@FreeBSD.org>

Add the screen savers for test coverage.


# d4b85e6a 06-Aug-2001 Nate Williams <nate@FreeBSD.org>

-Finished cleanup of old 'ThinkPad' comments that are no longer useful.

Reminded by: bde


# 4d60fee2 24-Jul-2001 Brooks Davis <brooks@FreeBSD.org>

Allow ng_split to be compiled in staticly.

MFC after: 7 weeks


# 362c5c1e 23-Jul-2001 Bill Paul <wpaul@FreeBSD.org>

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.


# 6521db35 22-Jul-2001 Kris Kennaway <kris@FreeBSD.org>

Note that the umass device requires scbus and da


# 5ecfb8f9 20-Jul-2001 Jim Pirzyk <pirzyk@FreeBSD.org>

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


# 9753d2f8 20-Jul-2001 Brooks Davis <brooks@FreeBSD.org>

gif isn't a count device anymore so don't put a number after it.

Pointed out by: brian


# 2e1b1231 13-Jul-2001 Dima Dorfman <dd@FreeBSD.org>

`pcn' supports AMD Am79C97x cards, not Am79C79x cards.

PR: 28946
Submitted by: Ryuichiro Imura <imura@ryu16.org>


# 9d146ac5 12-Jul-2001 Peter Wemm <peter@FreeBSD.org>

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.


# 660e0297 11-Jul-2001 Bill Paul <wpaul@FreeBSD.org>

Another NatSemi gigE card; the Netgear GA622T


# 01019292 11-Jul-2001 Bill Paul <wpaul@FreeBSD.org>

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.


# 9b5ad47f 10-Jul-2001 Ian Dowse <iedowse@FreeBSD.org>

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


# b29f9e40 02-Jul-2001 Matt Jacob <mjacob@FreeBSD.org>

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


# 39425c9a 27-Jun-2001 Brian Somers <brian@FreeBSD.org>

Remove dgm


# 6f41f4ab 27-Jun-2001 Brian Somers <brian@FreeBSD.org>

Spell digi right


# ba23229e 21-Jun-2001 Dima Dorfman <dd@FreeBSD.org>

Don't set CONSPEED to the default and deobfuscate the comment.

PR: 28296
Submitted by: bde, Giorgos Keramidas <keramida@ceid.upatras.gr>


# 5e331acd 19-Jun-2001 Garrett Wollman <wollman@FreeBSD.org>

Actually document TCPDEBUG.


# 1a02faf6 19-Jun-2001 Garrett Wollman <wollman@FreeBSD.org>

Fix punctuation in comment.


# 2398f0cd 12-Jun-2001 Peter Wemm <peter@FreeBSD.org>

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.


# 52ebde4f 11-Jun-2001 Dag-Erling Smørgrav <des@FreeBSD.org>

Add PSEUDOFS, and note that LINPROCFS depends on it.


# d9282887 09-Jun-2001 Dima Dorfman <dd@FreeBSD.org>

Document the PANIC_REBOOT_WAIT_TIME option.

PR: 22228
Submitted by: Keith Jones <keith@mithy.demon.co.uk>


# c7ff3825 06-Jun-2001 Bruce Evans <bde@FreeBSD.org>

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.


# a9672a81 04-Jun-2001 John Baldwin <jhb@FreeBSD.org>

Use bitmasks of the KTR_* constants instead of hexidecimal values for
the KTR_COMPILE and KTR_MASK examples.


# 64dddc18 01-Jun-2001 Kris Kennaway <kris@FreeBSD.org>

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


# c678bc4f 31-May-2001 Bill Paul <wpaul@FreeBSD.org>

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.)


# 888a8e35 29-May-2001 Poul-Henning Kamp <phk@FreeBSD.org>

Remove MFS options from all example kernel configs.


# fe1bd330 28-May-2001 Poul-Henning Kamp <phk@FreeBSD.org>

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


# ffd41c98 26-May-2001 Doug Barton <dougb@FreeBSD.org>

Update reality in the strings comment


# 6b244dc5 25-May-2001 Hellmuth Michaelis <hm@FreeBSD.org>

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.


# 99d300a1 23-May-2001 Ruslan Ermilov <ru@FreeBSD.org>

- 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.


# ab9f3b29 13-May-2001 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# ce4946da 11-May-2001 Bill Paul <wpaul@FreeBSD.org>

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.


# 0142c727 09-May-2001 John Baldwin <jhb@FreeBSD.org>

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


# ad01e0c8 01-May-2001 Brian Somers <brian@FreeBSD.org>

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.


# d1745f45 20-Apr-2001 Jesper Skriver <jesper@FreeBSD.org>

Say goodbye to TCP_COMPAT_42

Reviewed by: wollman
Requested by: wollman


# 51be6918 19-Apr-2001 Chris D. Faulhaber <jedgar@FreeBSD.org>

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


# 0b5438c6 11-Apr-2001 Robert Watson <rwatson@FreeBSD.org>

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


# 6f2d8adb 09-Apr-2001 Boris Popov <bp@FreeBSD.org>

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


# 49993db0 19-Mar-2001 Robert Watson <rwatson@FreeBSD.org>

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


# 11b876c9 19-Mar-2001 Dag-Erling Smørgrav <des@FreeBSD.org>

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)


# 48c14243 16-Mar-2001 Søren Schmidt <sos@FreeBSD.org>

Remove the now defunct ATA_ENABLE* options

Spotted by: phk


# d6f40bb4 16-Mar-2001 Warner Losh <imp@FreeBSD.org>

add cnw driver to notes/lint


# 4664a8d5 12-Mar-2001 Jonathan Lemon <jlemon@FreeBSD.org>

Move the fxp driver so it is under the miibus section.


# e10469fe 09-Mar-2001 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# 0787f2b8 03-Mar-2001 Matt Jacob <mjacob@FreeBSD.org>

Add some default hints for isp.


# 5a44842b 01-Mar-2001 Mark Murray <markm@FreeBSD.org>

Back out a removal that I was far to quick to apply. The root cause
has been fixed.


# e962abb3 01-Mar-2001 Mark Murray <markm@FreeBSD.org>

No longer an option. Config(8) is whining over LINT.


# cf87044e 27-Feb-2001 Matt Jacob <mjacob@FreeBSD.org>

Update NOTES wrt hint for fxp.


# 52bcdc9a 27-Feb-2001 Peter Wemm <peter@FreeBSD.org>

Add and document the LINPROCFS option, so that we can build linprocfs
(either as a module or in the kernel) after sys/modules/* dies.


# 26086a03 27-Feb-2001 Peter Wemm <peter@FreeBSD.org>

"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.


# b9e3a5d3 24-Feb-2001 Peter Wemm <peter@FreeBSD.org>

Drop the 'count' from the aha device specs


# 34b15f2a 24-Feb-2001 John Baldwin <jhb@FreeBSD.org>

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.


# d8589bd5 24-Feb-2001 Boris Popov <bp@FreeBSD.org>

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


# f1532aad 22-Feb-2001 Peter Wemm <peter@FreeBSD.org>

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


# ad7f2365 22-Feb-2001 John Baldwin <jhb@FreeBSD.org>

Now that zerror() and SPLASSERT() have been laid to rest, INVARIANT_SUPPORT
is no longer needed. R.I.P.


# 0cc2be21 07-Feb-2001 Semen Ustimenko <semenu@FreeBSD.org>

Reflect recently added support for SMC9432FTX cards.


# 1a6e52d0 06-Feb-2001 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

Fix typo: seperate -> separate.

Seperate does not exist in the english language.


# bcf77694 04-Feb-2001 Peter Wemm <peter@FreeBSD.org>

Clean up some leftovers from the root mount cleanup that was done some
time ago. FFS_ROOT and CD9660_ROOT are obsolete.


# a7ecc804 03-Feb-2001 Peter Wemm <peter@FreeBSD.org>

'device agp' was missing


# e1d756ce 04-Feb-2001 Poul-Henning Kamp <phk@FreeBSD.org>

Remove the LABPC driver.

Doesn't work, no maintainer, more promising code exists elsewhere.


# 2849b131 01-Feb-2001 Bruce Evans <bde@FreeBSD.org>

Unbreak test coverage of cy driver.


# 0adb9b96 30-Jan-2001 Peter Wemm <peter@FreeBSD.org>

Add hpfs and the config glue for it. It was being skipped from test
coverage.


# 98eb9009 30-Jan-2001 Seigo Tanimura <tanimura@FreeBSD.org>

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.


# bb0030a4 29-Jan-2001 Søren Schmidt <sos@FreeBSD.org>

Add text for option ATA_ENABLE_WC.


# 73cee67c 28-Jan-2001 Poul-Henning Kamp <phk@FreeBSD.org>

Remove an outdated DEVFS non-description.


# 4a29e8f9 26-Jan-2001 Hellmuth Michaelis <hm@FreeBSD.org>

Add experimental support for Eicon.Diehl DIVA 2.0 and 2.02 ISA PnP cards.


# 7670e012 24-Jan-2001 Coleman Kane <cokane@FreeBSD.org>

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.


# d42df833 24-Jan-2001 Peter Wemm <peter@FreeBSD.org>

Disable cy - it is now completely broken and needs non-trivial work.


# 8b6f5e65 19-Jan-2001 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

Document some more options.

Apologies to Bruce for not yet cleaning it up in sections. Coming
soon.


# 90d3341e 19-Jan-2001 Peter Wemm <peter@FreeBSD.org>

Add missing twe (3ware) and ahb (adaptec 174x) devices (!)


# 2727da4c 16-Jan-2001 Dag-Erling Smørgrav <des@FreeBSD.org>

Change NSWAPDEV to something else than the default value.


# e44a0ea3 16-Jan-2001 Peter Wemm <peter@FreeBSD.org>

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)


# 8f7939ae 14-Jan-2001 Matthew Dillon <dillon@FreeBSD.org>

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>


# b79ad7e6 14-Jan-2001 Mark Murray <markm@FreeBSD.org>

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


# 8301794f 11-Jan-2001 Hellmuth Michaelis <hm@FreeBSD.org>

Add itjc ISDN hardware driver


# 8a10dafb 04-Jan-2001 Peter Wemm <peter@FreeBSD.org>

use 'profile 2' instead of 1, since it causes more code to be tested.


# c89863e8 03-Jan-2001 Nicolas Souchu <nsouch@FreeBSD.org>

Remove alpm numbering.


# ccf67a96 29-Dec-2000 Takanori Watanabe <takawata@FreeBSD.org>

Remove the old acpi stuff entry.

Submitted by:kurinyma


# dd488b6d 27-Dec-2000 Dag-Erling Smørgrav <des@FreeBSD.org>

Retire kernfs (kernel part).


# bffb191e 19-Dec-2000 Takanori Watanabe <takawata@FreeBSD.org>

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


# 48ecc012 15-Dec-2000 Poul-Henning Kamp <phk@FreeBSD.org>

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...


# e8d5a722 12-Dec-2000 Mike Smith <msmith@FreeBSD.org>

Remove the COMPAT_OLDPCI option, it's going away.

Turn 'lnc' off in GENERIC for the moment, pending its update to newbus.


# ac918c84 11-Dec-2000 Matt Jacob <mjacob@FreeBSD.org>

add comment about ispfw


# 4323578d 11-Dec-2000 Nick Sayer <nsayer@FreeBSD.org>

Add the spic driver, which is a simple first attempt at providing access
to the jog dial device.


# b2ca5572 03-Dec-2000 Alexander Langer <alex@FreeBSD.org>

Add the NS DP83815 to the list of supported chips by the sis driver.

Inspired by: Oliver Fromme


# 7d7a5b89 16-Nov-2000 Archie Cobbs <archie@FreeBSD.org>

Add kernel option NETGRAPH_ONE2MANY.


# c7ba4194 15-Nov-2000 Warner Losh <imp@FreeBSD.org>

vx no longer uses pci compat shims and this doesn't need a count


# a88d714c 08-Nov-2000 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

Document DISABLE_PSE.


# 28d7984f 07-Nov-2000 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

Document CLUSTERDEBUG, CPU_UPGRADE_HW_CACHE and LOCKF_DEBUG.


# edd5302d 08-Nov-2000 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

Document the following options:
FB_DEBUG,
FB_INSTALL_CDEV,
FE_8BIT_SUPPORT,
IBCS2,
KEY,
LOUTB,
SPX_HACK


# f57fc21c 08-Nov-2000 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

Document XBONEHACK option.


# fac70739 08-Nov-2000 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

Document some AHC_* options.


# 44b5247d 07-Nov-2000 Kenjiro Cho <kjc@FreeBSD.org>

newbusify the en atm driver.


# d902baa4 06-Nov-2000 John Baldwin <jhb@FreeBSD.org>

Document the KTR_VERBOSE option.


# 54dfbb14 30-Oct-2000 Poul-Henning Kamp <phk@FreeBSD.org>

Comment out the (old) acpi stuff, it breaks LINT.


# 918dbed3 28-Oct-2000 Noriaki Mitsunaga <non@FreeBSD.org>

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>.


# 0da9b781 28-Oct-2000 Mike Smith <msmith@FreeBSD.org>

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.


# c9e6ddc6 27-Oct-2000 Doug Barton <dougb@FreeBSD.org>

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


# 5f3431b5 27-Oct-2000 Mark Murray <markm@FreeBSD.org>

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.


# 660d1e3a 26-Oct-2000 John Baldwin <jhb@FreeBSD.org>

Add and document the WITNESS_SKIPSPIN and WITNESS_DDB kernel options.


# 2fd84f56 25-Oct-2000 Nick Hibma <n_hibma@FreeBSD.org>

The USB scanner driver. To be used together with SANE.


# 821c54a1 23-Oct-2000 Sergey Babkin <babkin@FreeBSD.org>

Added lines for the wds driver.

Approved by: gibbs


# ae94720d 22-Oct-2000 Noriaki Mitsunaga <non@FreeBSD.org>

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


# ab4f2c18 20-Oct-2000 John Baldwin <jhb@FreeBSD.org>

Catch up to SMP_DEBUG -> MUTEX_DEBUG.


# 8ccc600f 18-Oct-2000 Hellmuth Michaelis <hm@FreeBSD.org>

Add ifpnp driver to list of i4b hardware drivers.


# 1b3c07c8 14-Oct-2000 Poul-Henning Kamp <phk@FreeBSD.org>

Duh! LINT is called NOTES these days.

Make sure LINT checks profiling code as well.


# 0b0c10b4 13-Oct-2000 Adrian Chadd <adrian@FreeBSD.org>

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!


# 46aa8b9b 12-Oct-2000 Archie Cobbs <archie@FreeBSD.org>

Add missing option NETGRAPH_ETHER.

PR: kern/20288


# 3374f8cc 10-Oct-2000 Hellmuth Michaelis <hm@FreeBSD.org>

correct "device iwic0" to "device iwic"


# 31a539a5 09-Oct-2000 Hellmuth Michaelis <hm@FreeBSD.org>

update to i4b version 0.95.04


# 1b1728ad 09-Oct-2000 Poul-Henning Kamp <phk@FreeBSD.org>

A couple of negative options was not commented out in NOTES/LINT. This
obscured a #include bug in syscons.


# 376cb06d 08-Oct-2000 Bruce Evans <bde@FreeBSD.org>

Unbreak detection of breakage in cy driver.


# 4bcd76bd 07-Oct-2000 Poul-Henning Kamp <phk@FreeBSD.org>

Cy driver doesn't compile and nobody seems to care.


# 3c5656bf 05-Oct-2000 Archie Cobbs <archie@FreeBSD.org>

Driver for the Intel 82801AA (ICH) SMBus controller and compatibles.

Obtained from: Whistle source tree


# 41f7d2d5 03-Oct-2000 Bill Paul <wpaul@FreeBSD.org>

Add the pcn device to NEWCARD and NOTES.


# a9763f0a 03-Oct-2000 Søren Schmidt <sos@FreeBSD.org>

Add ATA_ENABLE_TAGS options description


# 2da5dbec 01-Oct-2000 Peter Wemm <peter@FreeBSD.org>

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.


# 3ffcacc9 01-Oct-2000 Mitsuru IWASAKI <iwasaki@FreeBSD.org>

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 ?


# ff3f2f5c 26-Sep-2000 Mitsuru IWASAKI <iwasaki@FreeBSD.org>

Document the pmtimer driver.

Pointed-out by: esu@yk.rim.or.jp (Shinya Esu)


# 1653e9c3 24-Sep-2000 Mitsuru IWASAKI <iwasaki@FreeBSD.org>

Formatting fix on ACPI options. Sort them, comment out negative options.

Suggested by: bde


# 7321545f 22-Sep-2000 Paul Saab <ps@FreeBSD.org>

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


# fe44e2ea 21-Sep-2000 Mitsuru IWASAKI <iwasaki@FreeBSD.org>

Fix LINT breakage by options ACPI_NO_OSDFUNC_INLINE.
Also space/tab-fix in NOTE.
Grrr, my bad.

Pointed-out by: eivind


# 1fe4c660 21-Sep-2000 John Baldwin <jhb@FreeBSD.org>

Add in and document two new debugging options used in the mutex code:
SMP_DEBUG and WITNESS.


# c508c1b6 21-Sep-2000 John Baldwin <jhb@FreeBSD.org>

Add in documentation and examples of the KTR kernel config options.

Prompted by: phk's kernel include script


# ead270f1 19-Sep-2000 Mike Smith <msmith@FreeBSD.org>

Mention the AAC_COMPAT_LINUX option


# c16dc61b 19-Sep-2000 Eivind Eklund <eivind@FreeBSD.org>

Document ENABLE_VFS_IOOPT


# 215e338b 14-Sep-2000 Mitsuru IWASAKI <iwasaki@FreeBSD.org>

Add pmtimer instance.


# 35863739 12-Sep-2000 Mike Smith <msmith@FreeBSD.org>

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.


# ac519db0 12-Sep-2000 Mark Murray <markm@FreeBSD.org>

Turn the /dev/random device into a (pseudo-)device, not an option.

(I didn't realise that it was this easy!)
Submitted by: jhb


# eed59f52 11-Sep-2000 Semen Ustimenko <semenu@FreeBSD.org>

Sign tx driver as using miibus code.


# 5d4850e7 09-Sep-2000 Alexander Langer <alex@FreeBSD.org>

Add a comment, that a LINT file can be produced from NOTES via
``make LINT''.

Reviewed by: nbm via IRC


# fb91fd69 02-Sep-2000 Gerard Roudier <groudier@FreeBSD.org>

Add device list supported by `sym'


# 4c12b435 01-Sep-2000 Nick Sayer <nsayer@FreeBSD.org>

Document the tap driver


# ef137fd3 01-Sep-2000 Mike Smith <msmith@FreeBSD.org>

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.


# b1f12b61 31-Aug-2000 Takanori Watanabe <takawata@FreeBSD.org>

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


# 153cbcc3 22-Aug-2000 Mike Smith <msmith@FreeBSD.org>

Add entries for the 'mly' driver. Re-group 'mly' and 'dpt' into a new
classification for RAID controllers that have CAM interfaces.


# 6d04301d 13-Aug-2000 Alexander Langer <alex@FreeBSD.org>

Add PAO devices supported by drivers.


# 7c43028b 08-Aug-2000 Kelly Yancey <kbyanc@FreeBSD.org>

Fix the comments to properly document the PQ_MEDIUMCACHE and
PQ_NORMALCACHE options.

PR: 20409
Submitted by: Tony Finch <dot@dotat.at>


# 446af86d 26-Jul-2000 John Baldwin <jhb@FreeBSD.org>

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>


# 8259bcdf 25-Jul-2000 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

Document IPFILTER_DEFAULT_BLOCK.

PR: 20075
Submitted by: Arjan de Vet <Arjan.deVet@adv.iae.nl>


# 899266e3 24-Jul-2000 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

Document device tdfx and options TDFX_LINUX.


# 914594ea 19-Jul-2000 Kris Kennaway <kris@FreeBSD.org>

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>


# e9fb12d3 18-Jul-2000 Nick Hibma <n_hibma@FreeBSD.org>

Add the umodem driver.


# f2744793 17-Jul-2000 Sheldon Hearn <sheldonh@FreeBSD.org>

Rename MDNSECT to MD_NSECT and declare it as something that isn't
default in NOTES.

Requested by: bde
Approved by: phk


# 059e4684 16-Jul-2000 Jun-ichiro itojun Hagino <itojun@FreeBSD.org>

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.


# 866c1fb1 13-Jul-2000 Sheldon Hearn <sheldonh@FreeBSD.org>

Add options<sp><tab>MDNSECT=2000 .


# fb0ef528 11-Jul-2000 Seigo Tanimura <tanimura@FreeBSD.org>

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


# cf2458c9 10-Jul-2000 Matt Jacob <mjacob@FreeBSD.org>

Beef up a bit descriptions of SCSI devices and what the drive.


# d0a28baf 09-Jul-2000 Alexander Langer <alex@FreeBSD.org>

Add missing "a" in "Soft updates is technique".

PR: 19770
Submitted by: Udo Erdelhoff <ue@nathan.ruhr.de>


# d61e6649 08-Jul-2000 Alexander Langer <alex@FreeBSD.org>

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)


# 64ed91d5 08-Jul-2000 Matt Jacob <mjacob@FreeBSD.org>

Update SCSI device section, per Peter Wemm. I still
think the commented entries in GENERIC are the
right thing to do.


# d5015639 04-Jul-2000 Munechika SUMIKAWA <sumikawa@FreeBSD.org>

Add 'device stf', 6to4(one of IPv6 over IPv4 encapsulations) interface.


# 9a20f99a 04-Jul-2000 John Baldwin <jhb@FreeBSD.org>

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>


# 3d5c4fdc 03-Jul-2000 Poul-Henning Kamp <phk@FreeBSD.org>

Include SOFTUPDATES in NOTES/LINT by default.


# dba11ce5 29-Jun-2000 Alexander Langer <alex@FreeBSD.org>

- 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.


# 19dde963 26-Jun-2000 Peter Wemm <peter@FreeBSD.org>

Fix some fat-fingering of the isic lines. (argh!)
Fix some negative options that got turned on.

Submitted by: bde (mostly)


# 15bbdecf 25-Jun-2000 Mark Murray <markm@FreeBSD.org>

Get the build bits right for the new Architecture Independant null- and
entropy drivers.
Reviewed by: dfr(mostly)


# a79b7128 19-Jun-2000 Alfred Perlstein <alfred@FreeBSD.org>

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


# 1fd9039f 18-Jun-2000 Matt Jacob <mjacob@FreeBSD.org>

Remove all but ISP_TARGET_MODE options for isp and ispfw pseudo device.


# 42b04349 14-Jun-2000 Peter Wemm <peter@FreeBSD.org>

s/iomem/maddr/
s/iosiz/msize/


# 26b6ea69 14-Jun-2000 Paul Saab <ps@FreeBSD.org>

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


# f71c01cc 13-Jun-2000 Peter Wemm <peter@FreeBSD.org>

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


# 65cbb03c 13-Jun-2000 KATO Takenori <kato@FreeBSD.org>

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.


# 8a28ce0e 09-Jun-2000 John Baldwin <jhb@FreeBSD.org>

Document flags 0x100 in syscons.4, and document syscons' flags in LINT.

Reviewed by: yokota, obrien


# 855e2f19 09-Jun-2000 Alexander Langer <alex@FreeBSD.org>

Since many people use LINT as "supported hardware" list, add
all supported cards to the description of the ep-driver.

Reviewed by: asmodai


# aaf8e082 06-Jun-2000 Joerg Wunsch <joerg@FreeBSD.org>

Mention that i4bisppp requires sppp; too many people use LINT as a
configuration guide and then miss this one.


# 11ca1e30 31-May-2000 Mike Smith <msmith@FreeBSD.org>

Bump the default NBUS value to 8.


# c0c5a953 30-May-2000 Brian Feldman <green@FreeBSD.org>

Change sl(4) configuration lines to reflect its new dynamic nature.


# 4f14ee00 22-May-2000 Dan Moschuk <dan@FreeBSD.org>

sysctl'ize ICMP_BANDLIM and ICMP_BANDLIM_SUPPRESS_OUTPUT.

Suggested by: des/nbm


# fcdc0216 22-May-2000 Dan Moschuk <dan@FreeBSD.org>

Add option ICMP_BANDLIM_SUPPRESS_OUTPUT to the mix. With this option,
badport_bandlim() will not muck up your console with printf() messages.


# 24488c74 21-May-2000 Peter Wemm <peter@FreeBSD.org>

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.


# 8b140d57 19-May-2000 Mike Smith <msmith@FreeBSD.org>

Correct the syntax of ROOTDEVNAME and describe it somewhat better.


# b5ea1f0c 01-May-2000 Nick Hibma <n_hibma@FreeBSD.org>

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.


# 599fcb02 26-Apr-2000 Poul-Henning Kamp <phk@FreeBSD.org>

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>


# 300451c4 16-Apr-2000 Mike Smith <msmith@FreeBSD.org>

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.


# f7cdd633 16-Apr-2000 Poul-Henning Kamp <phk@FreeBSD.org>

Add the scsi-target driver to LINT.


# a64ed089 14-Apr-2000 Robert Watson <rwatson@FreeBSD.org>

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


# 9d45f435 10-Apr-2000 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

The ASUSCOM_IPAC isn't broken according to submitter.

PR: 17840
Submitted by: Ari Suutari <ari@suutari.iki.fi>


# a2b408ad 09-Apr-2000 Archie Cobbs <archie@FreeBSD.org>

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.)


# b44dfc0d 07-Apr-2000 Brian Somers <brian@FreeBSD.org>

Don't use ``grep | sed'' in the example for INCLUDE_CONFIG_FILE
when sed can do both.


# 0d5c223d 05-Apr-2000 Warner Losh <imp@FreeBSD.org>

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>


# f0cf8dfe 02-Apr-2000 Brian Feldman <green@FreeBSD.org>

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>


# a06da083 31-Mar-2000 Hellmuth Michaelis <hm@FreeBSD.org>

Oops, PCVT_FREEBSD is useless too. Add new PCVT_GREENSAVER option.


# 7ec3d24b 31-Mar-2000 Hellmuth Michaelis <hm@FreeBSD.org>

remove useless PCVT_EMU_MOUSE option.


# 000033d0 23-Mar-2000 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

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)


# 9ac61e92 20-Mar-2000 Peter Wemm <peter@FreeBSD.org>

Argh, fix cut/paste mistake. This contributed to LINT not building.


# 4e64b0d3 19-Mar-2000 Peter Wemm <peter@FreeBSD.org>

Document and supply COMPAT_OLDPCI and COMPAT_OLDISA so 'make release'
still works.


# cb211653 19-Mar-2000 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

Add device isic to the ASUSCOM_IPAC entry.

Remove quotes around some i4b options to be consistent with the rest.


# 1eeb917c 18-Mar-2000 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

Put ASUSCOM_IPAC in the section where it belongs, namely i4b.


# bc0e3a03 18-Mar-2000 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

Put the undocumented options back at the bottom as per old
practice.

Place the debug options above the undocumented options.


# 5d6f1468 18-Mar-2000 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

Document three debug options: npx, bus and vfs locks debugging.


# e2dbd15f 16-Mar-2000 Nick Hibma <n_hibma@FreeBSD.org>

Please welcome the URio driver. Written by
Iwasa Kazmi <kzmi\@ca2.so-net.ne.jp>


# 000da71a 14-Mar-2000 Søren Schmidt <sos@FreeBSD.org>

Fix the spelling, and some minor tweaks on the ata device...


# 612a914d 14-Mar-2000 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

Remove wd entries.

Reviewed by: sos
Approved by: sos, phk, peter


# ef61e9f9 13-Mar-2000 Ruslan Ermilov <ru@FreeBSD.org>

Remove option MD5, it has been standardized almost two years ago.


# 5e3488e3 09-Mar-2000 Jonathan Lemon <jlemon@FreeBSD.org>

Add Compaq `ida' driver to GENERIC, update it's LINT entry.

Approved by: jordan


# 9e54a8ce 07-Mar-2000 Nik Clayton <nik@FreeBSD.org>

Document the discard device appearing as 'ds0', 'ds1', etc.

PR: docs/16994
Submitted by: Giorgos Keramidas <keramida@ceid.upatras.gr>


# a535079a 25-Feb-2000 Matthew N. Dodd <mdodd@FreeBSD.org>

MCA is supported to some extent. Modify a comment that claims otherwise.

Approved by: jkh


# dd85920a 23-Feb-2000 Jason Evans <jasone@FreeBSD.org>

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


# 528b8853 15-Feb-2000 Kazutaka YOKOTA <yokota@FreeBSD.org>

Make it clear that 'options XSERVER' is for pcvt and not for syscons.

Submitted by: Doug Barton <Doug@gorean.org>
Approved by: jkh


# a6dd44de 14-Feb-2000 Matt Jacob <mjacob@FreeBSD.org>

Add comments about 12160 options.
Approved: jkh


# 242c5536 12-Feb-2000 Peter Wemm <peter@FreeBSD.org>

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


# 68b538c7 29-Jan-2000 Peter Wemm <peter@FreeBSD.org>

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.


# 81bb901e 29-Jan-2000 Peter Wemm <peter@FreeBSD.org>

Add some more comments about sound card bridge devices and their
relationship with pcm and other things like newmidi.


# 67245194 29-Jan-2000 Peter Wemm <peter@FreeBSD.org>

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.


# ce253636 29-Jan-2000 Peter Wemm <peter@FreeBSD.org>

Remove (commented out and marked as broken) pseudo-device tb. This was
added in rev 1.205 (october 1995).


# 210d0432 29-Jan-2000 Yoshinobu Inoue <shin@FreeBSD.org>

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


# d3041acd 27-Jan-2000 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

Completely remove ATA_16BIT_ONLY, since this is done automatically
by the ata driver nowadays.

OK'd by: sos,peter


# 310430f9 27-Jan-2000 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

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


# ba601790 25-Jan-2000 Peter Wemm <peter@FreeBSD.org>

Fix left over references to things like 'ata0' in comments.

Submitted by: Jim Bloom <bloom@acm.org>


# d224cddc 24-Jan-2000 Peter Wemm <peter@FreeBSD.org>

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


# b33b1940 24-Jan-2000 Peter Wemm <peter@FreeBSD.org>

Remove a bunch of no-op "port ?" and "irq ?" declarations.


# 0d31b179 23-Jan-2000 Peter Wemm <peter@FreeBSD.org>

Drop 'at ppbus?' and the trailing '0' from the ppbus children.


# 37973e86 23-Jan-2000 Peter Wemm <peter@FreeBSD.org>

I missed some trailing digits in a comment.

Submitted by: asmodai


# c9953c3b 22-Jan-2000 Peter Wemm <peter@FreeBSD.org>

Update GENERIC/LINT to leave out the useless digit at the end of pci
or other unwired devices.


# 5d94d71c 22-Jan-2000 Boris Popov <bp@FreeBSD.org>

Allow if_ef driver to be compiled into kernel.


# 3b2d592c 19-Jan-2000 Jordan K. Hubbard <jkh@FreeBSD.org>

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>


# 80756f7e 16-Jan-2000 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

Convert last examples of `controller' to `device'.


# 8904e70b 15-Jan-2000 Matt Jacob <mjacob@FreeBSD.org>

Add reference to SES device (it won't be in GENERIC unless folks clamor
for it). Document it's only option.


# 261b9b30 14-Jan-2000 Bill Paul <wpaul@FreeBSD.org>

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.


# a7c517ce 14-Jan-2000 Peter Wemm <peter@FreeBSD.org>

Add back the 'at ppbus?' for the lpt etc drivers. Now it's used.


# 01779872 13-Jan-2000 Bill Paul <wpaul@FreeBSD.org>

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.


# 0f210c92 13-Jan-2000 Nicolas Souchu <nsouch@FreeBSD.org>

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).


# 1f3e0d3d 13-Jan-2000 Matthew N. Dodd <mdodd@FreeBSD.org>

Remove the 'at isa? ...' bits for ex0.

Remove the confusing text about pccard and unit numbers for ep0.


# 86807e16 09-Jan-2000 Poul-Henning Kamp <phk@FreeBSD.org>

Remove controller miibus, there already were a device miibus.


# 5e93c211 09-Jan-2000 David E. O'Brien <obrien@FreeBSD.org>

* 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.


# b7d1b977 09-Jan-2000 Bruce Evans <bde@FreeBSD.org>

Removed defunct options EXTRA_SIO and KEY_DEBUG.


# a052e717 08-Jan-2000 Peter Wemm <peter@FreeBSD.org>

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)


# 70c43495 08-Jan-2000 Peter Wemm <peter@FreeBSD.org>

s/controller/device/ as per config(8)


# d04bb221 07-Jan-2000 Bill Paul <wpaul@FreeBSD.org>

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.


# 6e2972b8 07-Jan-2000 Mark Newton <newton@FreeBSD.org>

Changes as suggested by bde

Submitted by: bde


# 46121c12 06-Jan-2000 Warner Losh <imp@FreeBSD.org>

FDC_YE has been removed as a valid option.

Noticed by: bde


# 0e741a5b 05-Jan-2000 Mark Newton <newton@FreeBSD.org>

Add documentation for SVR4 options in LINT.


# dfd1e98e 04-Jan-2000 Bill Paul <wpaul@FreeBSD.org>

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


# eb6088c8 04-Jan-2000 Matthew Dillon <dillon@FreeBSD.org>

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


# b6ca8f5a 04-Jan-2000 Matt Jacob <mjacob@FreeBSD.org>

add wx0 driver


# 9b8ea224 03-Jan-2000 Matt Jacob <mjacob@FreeBSD.org>

Add in ISP_TARGET_MODE description.


# ad20e57a 03-Jan-2000 Mark Newton <newton@FreeBSD.org>

Add options for COMPAT_SVR4 and DEBUG_SVR4 for completeness.


# ed63a7aa 27-Dec-1999 Bill Paul <wpaul@FreeBSD.org>

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


# 6a800098 22-Dec-1999 Yoshinobu Inoue <shin@FreeBSD.org>

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


# c2f8aaa8 21-Dec-1999 Seigo Tanimura <tanimura@FreeBSD.org>

Correct the spelling and description of sbc.


# f584c087 18-Dec-1999 Brian Feldman <green@FreeBSD.org>

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.


# f8cf3008 17-Dec-1999 Warner Losh <imp@FreeBSD.org>

Remove vestiages of now obsolete zp and ze drivers.

Forgotten by: phk


# 22ffd22d 17-Dec-1999 Warner Losh <imp@FreeBSD.org>

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


# fb8e78a5 16-Dec-1999 Seigo Tanimura <tanimura@FreeBSD.org>

newpcm no longer requires 'controller pnp'. (And some other drivers?)

Noticed by: julian


# b8fe6668 15-Dec-1999 Hellmuth Michaelis <hm@FreeBSD.org>

update to isdn4bsd beta release 0.90: make LINT compile again, at least
one "device isic0 ..." line has to be uncommented.


# 273157da 15-Dec-1999 Kazutaka YOKOTA <yokota@FreeBSD.org>

- 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.


# e3c43911 14-Dec-1999 Seigo Tanimura <tanimura@FreeBSD.org>

Add the description and example of sbc for non-PnP cards.

Noticed by: Kentaro Inagaki <inagaki@tg.rim.or.jp>


# e5981bd1 14-Dec-1999 Hellmuth Michaelis <hm@FreeBSD.org>

update to isdn4bsd beta release 0.90
drivers which are likely to be ported to newbus are commented out for now


# 5fe1db5b 10-Dec-1999 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# add85a1d 08-Dec-1999 Archie Cobbs <archie@FreeBSD.org>

New netgraph node type 'pptpgre': this performs GRE encapsulation
for the PPTP protocol as specified in RFC 2637.


# cfa1ca9d 07-Dec-1999 Yoshinobu Inoue <shin@FreeBSD.org>

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


# 9e03cab5 06-Dec-1999 Peter Wemm <peter@FreeBSD.org>

Fold the pnp code into the base isa system to pave the way for PNPBIOS.

Reviewed by: dfr (a few weeks ago)


# 96f2e892 04-Dec-1999 Bill Paul <wpaul@FreeBSD.org>

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.


# 92a3e552 03-Dec-1999 Archie Cobbs <archie@FreeBSD.org>

New netgraph node type, ng_bpf(8). This node type allows you to
apply bpf(4) filters to data travelling through a netgraph network.


# abe54267 02-Dec-1999 Matthew N. Dodd <mdodd@FreeBSD.org>

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.


# 2ba5960c 01-Dec-1999 Jonathan Lemon <jlemon@FreeBSD.org>

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


# e49e7bd4 01-Dec-1999 Bill Fumerola <billf@FreeBSD.org>

Grammar nit.


# 98a44096 01-Dec-1999 Sheldon Hearn <sheldonh@FreeBSD.org>

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)


# 658743b5 27-Nov-1999 David E. O'Brien <obrien@FreeBSD.org>

/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.


# 9cd1e66e 27-Nov-1999 David E. O'Brien <obrien@FreeBSD.org>

options should be formatted as "#options ^IFOO".

Spammed by: sos, mjacob, and phk


# 71e4fff8 26-Nov-1999 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# dda0e6f5 25-Nov-1999 Bill Paul <wpaul@FreeBSD.org>

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.


# 869f459c 24-Nov-1999 Seigo Tanimura <tanimura@FreeBSD.org>

Add the description for the configuration of GUS non-PnP bridge driver.

Submitted by: Pascal Hofstee <daeron@shadowmere.student.utwente.nl>


# 9cc86ee9 23-Nov-1999 Guido van Rooij <guido@FreeBSD.org>

Add kernel parts of revived ipfilter (3.3.3.)


# 51f4c152 22-Nov-1999 Yoshinobu Inoue <shin@FreeBSD.org>

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


# 46d6fe72 21-Nov-1999 Seigo Tanimura <tanimura@FreeBSD.org>

Add the descriptions of the bridge drivers for Sound Blaster, GUS
and Crystal Semiconductor CS461x/428x.


# 75099bed 20-Nov-1999 Matt Jacob <mjacob@FreeBSD.org>

document new ISP config options


# 48e94174 16-Nov-1999 Archie Cobbs <archie@FreeBSD.org>

Add option NETGRAPH_KSOCKET.


# fc67908f 08-Nov-1999 Kazutaka YOKOTA <yokota@FreeBSD.org>

Cosmetic change: correct formatting error in my previous commit.
"Options" should be:

options<ascii space><tab>OPTION_NAME

Pointed out by: obrien


# 7a88382d 08-Nov-1999 Kazutaka YOKOTA <yokota@FreeBSD.org>

- Document SC_TWOBUTTON_MOUSE, SC_NORM_ATTR, SC_NORM_REV_ATTR,
SC_KERNEL_CONS_ATTR and SC_KERNEL_CONS_REV_ATTR.

Nudged by eivind


# 73027df7 08-Nov-1999 Kazutaka YOKOTA <yokota@FreeBSD.org>

- Removed SC_VIDEO_DEBUG. It is broken and useless now.


# 74d8e840 07-Nov-1999 Søren Schmidt <sos@FreeBSD.org>

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)


# 909232c4 06-Nov-1999 Eivind Eklund <eivind@FreeBSD.org>

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


# cb6da56e 05-Nov-1999 David E. O'Brien <obrien@FreeBSD.org>

Style lint LINT.
mostly this was fixing options to be "options<sp>^IOPTION", along with
many <sp> replaced by ^I to be consistant.


# 98067211 05-Nov-1999 David E. O'Brien <obrien@FreeBSD.org>

Change some wdX entries from "disk" to "device". These got missed in the
rev 1.665 commit.


# b0801bac 02-Nov-1999 Archie Cobbs <archie@FreeBSD.org>

Add new options NETGRAPH_PPP and NETGRAPH_PPPOE, plus NETGRAPH_SOCKET which
was missing from before.


# 3cf4d0bf 02-Nov-1999 Poul-Henning Kamp <phk@FreeBSD.org>

Add mn0 in the netgraph section.


# f1cdff80 01-Nov-1999 Eivind Eklund <eivind@FreeBSD.org>

Elminiate the (unused) TUNE_1542 option.


# 51124de7 31-Oct-1999 Peter Wemm <peter@FreeBSD.org>

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").


# e72032e9 27-Oct-1999 Matthew N. Dodd <mdodd@FreeBSD.org>

Modify the entries regarding the 'ep' driver to take into account
my recent changes to that driver.


# 4f76d87b 24-Oct-1999 Warner Losh <imp@FreeBSD.org>

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.


# b58a8a3b 22-Oct-1999 Julian Elischer <julian@FreeBSD.org>

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>


# dc112b44 21-Oct-1999 Luoqi Chen <luoqi@FreeBSD.org>

Resurrect the aic driver.


# 4cf49a43 21-Oct-1999 Julian Elischer <julian@FreeBSD.org>

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


# b5137699 15-Oct-1999 Warner Losh <imp@FreeBSD.org>

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.


# 55c86d34 10-Oct-1999 Peter Wemm <peter@FreeBSD.org>

Don't try and build IPFILTER in LINT.


# 6ac4727a 06-Oct-1999 Mike Smith <msmith@FreeBSD.org>

Connect the 'amr' and 'mlx' drivers. They can be built as modules or
integrated into a static kernel as the user wishes.


# 503e6666 03-Oct-1999 Bruce Evans <bde@FreeBSD.org>

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.


# 9f050ed5 02-Oct-1999 Matt Jacob <mjacob@FreeBSD.org>

Document SA_1FM_AT_EOD option.


# e83e2322 01-Oct-1999 Boris Popov <bp@FreeBSD.org>

ncplib continued: add appropriate options to LINT.


# c9c350b7 26-Sep-1999 Bill Fumerola <billf@FreeBSD.org>

Spell 'timecounter' correctly.


# 40bc58df 25-Sep-1999 Poul-Henning Kamp <phk@FreeBSD.org>

Oops! I enabled SOFTUPDATES by accident.

Pointed out by: eivind


# a236d14c 22-Sep-1999 Jordan K. Hubbard <jkh@FreeBSD.org>

MFS: firewall -> firewall_type


# efee742e 22-Sep-1999 Bill Paul <wpaul@FreeBSD.org>

Mention in the documentation that the AOpen/Acer ALN-320 is a supported
ethernet card (PCI, VIA Rhine II chipset).


# 8b22cebb 21-Sep-1999 Matthew Dillon <dillon@FreeBSD.org>

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.


# 1088f6c7 21-Sep-1999 Bill Paul <wpaul@FreeBSD.org>

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.


# a59d364a 21-Sep-1999 Matthew Dillon <dillon@FreeBSD.org>

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.


# 8b3642e1 21-Sep-1999 Poul-Henning Kamp <phk@FreeBSD.org>

Add md driver to LINT


# 8dc47ef6 13-Sep-1999 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix disordering introduced in my previous commit.

Pointed out by: bde


# 01b91415 13-Sep-1999 Dag-Erling Smørgrav <des@FreeBSD.org>

"\t\t" -> " \t" as per rev. 1.611 (mangled in the previous commit)

Pointed out by: bde


# e46cd3d4 12-Sep-1999 Dag-Erling Smørgrav <des@FreeBSD.org>

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.


# 0e985713 11-Sep-1999 Justin T. Gibbs <gibbs@FreeBSD.org>

Add the AMD driver.


# c9d9f1a0 08-Sep-1999 Peter Wemm <peter@FreeBSD.org>

Zap EXPORTMFS, it's no longer an option. (mfs_vfsops.c rev 1.58)


# 5ca8dcf6 06-Sep-1999 Doug Rabson <dfr@FreeBSD.org>

Update for newpcm.


# e5a9fd54 06-Sep-1999 Bill Paul <wpaul@FreeBSD.org>

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.


# 9555e59a 05-Sep-1999 Bill Paul <wpaul@FreeBSD.org>

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.


# d7320dd1 03-Sep-1999 Bruce Evans <bde@FreeBSD.org>

Removed defunct option NULLFS_DIAGNOSTIC.


# 7012bab9 02-Sep-1999 Julian Elischer <julian@FreeBSD.org>

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.


# 586e1b7b 31-Aug-1999 Poul-Henning Kamp <phk@FreeBSD.org>

Make buffered acces to bdevs from userland controllable with
a sysctl vfs.bdev_access.


# 02e15769 30-Aug-1999 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# 4047cd0b 30-Aug-1999 Bruce Evans <bde@FreeBSD.org>

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.


# 09c12446 29-Aug-1999 Bruce Evans <bde@FreeBSD.org>

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.


# c3aac50f 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


# 23e4757c 21-Aug-1999 Bill Paul <wpaul@FreeBSD.org>

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.


# d0027533 21-Aug-1999 Bill Paul <wpaul@FreeBSD.org>

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.


# 3ece1bd2 19-Aug-1999 Kenneth D. Merry <ken@FreeBSD.org>

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


# c6ba8fec 15-Aug-1999 Poul-Henning Kamp <phk@FreeBSD.org>

Give if_tun the "almost clone" makeover.


# bd3a5320 15-Aug-1999 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# ef40c561 08-Aug-1999 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# 5f3136d4 08-Aug-1999 Chris Costello <chris@FreeBSD.org>

Fix a reference to `st' by replacing it with `sa'.


# d4ebee28 06-Aug-1999 Poul-Henning Kamp <phk@FreeBSD.org>

Add driver support for M-systems DiskOnChip Products.

Sponsored by: M-systems Inc. http://www.m-sys.com


# 0df6adec 06-Aug-1999 Hellmuth Michaelis <hm@FreeBSD.org>

updating isdn4bsd to beta version 0.83


# e4484d02 04-Aug-1999 Brian Feldman <green@FreeBSD.org>

Correction: "ans" -> "and."


# 784648c6 25-Jul-1999 Martin Cracauer <cracauer@FreeBSD.org>

Various formatting fixes on my FPE trapcode commit.

Submitted by: BDE


# a7674320 25-Jul-1999 Martin Cracauer <cracauer@FreeBSD.org>

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.


# 691c1528 24-Jul-1999 Bill Paul <wpaul@FreeBSD.org>

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.


# 3ebb0905 08-Jul-1999 Bill Paul <wpaul@FreeBSD.org>

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).


# 6b5ca0d8 06-Jul-1999 Dag-Erling Smørgrav <des@FreeBSD.org>

Rename bpfilter to bpf.


# 8b7c163d 03-Jul-1999 John Polstra <jdp@FreeBSD.org>

Update comment for new location of soft-updates sources.


# 4f018929 01-Jul-1999 Jordan K. Hubbard <jkh@FreeBSD.org>

Remove the now-bogus comment about using iosiz with npx0 for memory
sizing - environment does this properly now. Thanks, Peter!


# 9fefb84a 29-Jun-1999 Peter Wemm <peter@FreeBSD.org>

Drop old-scsi drivers (was commented out) od0 and (not commented) sctarg0


# ba965cf7 29-Jun-1999 Matthew Hunt <mph@FreeBSD.org>

Correct spelling of NMBCLUSTERS in a comment.

Submitted by: Peter Radcliffe <pir@pir.net>


# cc6c2ad0 29-Jun-1999 Peter Wemm <peter@FreeBSD.org>

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.


# b5f3861b 27-Jun-1999 Matt Jacob <mjacob@FreeBSD.org>

add description of Qlogic ISP FC Full Duplex option


# 13066c5f 23-Jun-1999 Jonathan Lemon <jlemon@FreeBSD.org>

Add ida/id lines


# 6e8394b8 22-Jun-1999 Kazutaka YOKOTA <yokota@FreeBSD.org>

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.


# ec4e5afb 19-Jun-1999 Robert Nordier <rnordier@FreeBSD.org>

Goodbye to vaules, becasue, similiar, backgroud, aquired, freelisat, etc.


# 9b953cf6 15-Jun-1999 Dag-Erling Smørgrav <des@FreeBSD.org>

Kill option FAILSAFE.

PR: i386/12187
Approved by: bde


# 77835954 01-Jun-1999 Jonathan Lemon <jlemon@FreeBSD.org>

Make vm86 a standard component

Reviewed by: silence on on -current


# 1c2b5939 28-May-1999 Roger Hardiman <roger@FreeBSD.org>

Add new Bt848/Bt878 driver options.
(Eventually I expect to move these into the man page)


# a0ca5507 23-May-1999 Peter Wemm <peter@FreeBSD.org>

Don't reference non-existant ATAPI option..

PR: 11814
Submitted by: Sheldon Hearn <sheldonh@uunet.co.za>


# ab431312 20-May-1999 Bill Paul <wpaul@FreeBSD.org>

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.


# f26c33d2 20-May-1999 Nick Hibma <n_hibma@FreeBSD.org>

usbdi.h:
Implement priorities.
GENERIC, LINT, files:
Remove remarks about ordering of device names.
GENERIC, LINT:
Sort the devices alphabetically in LINT and GENERIC.


# 80037d6e 20-May-1999 Hellmuth Michaelis <hm@FreeBSD.org>

upgrade isdn4bsd from version 0.71 to the just released version 0.81


# 0f3563b6 17-May-1999 Roger Hardiman <roger@FreeBSD.org>

Update text on using the smbus, iibus, iicbb controllers
with the bktr device.


# 282462f9 13-May-1999 David E. O'Brien <obrien@FreeBSD.org>

Add the `xe' Xircom PC Card driver.


# 8a13a924 11-May-1999 John Birrell <jb@FreeBSD.org>

Change the INIT_PATH option example to use colons instead of semi-colons
(per rev 1.122 of sys/kern/init_main.c).


# 2c8635c6 09-May-1999 Peter Wemm <peter@FreeBSD.org>

Put an example of 'makeoptions KERNEL=foo' to replace the old
'config foo' functionality.


# b307e58f 09-May-1999 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# 5f0d0590 06-May-1999 Peter Wemm <peter@FreeBSD.org>

Add missing comment characters from wi driver description.


# 785d2100 04-May-1999 John Birrell <jb@FreeBSD.org>

Add the INIT_PATH option for embedded systems.


# 31a08ab0 05-May-1999 Bill Paul <wpaul@FreeBSD.org>

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.


# b7b075a2 02-May-1999 Nick Hibma <n_hibma@FreeBSD.org>

Add driver for the Iomega Zip 100 drive.


# db7cb131 02-May-1999 Peter Wemm <peter@FreeBSD.org>

Disable second declaration of oltr0 - the first one (intended for isa) will
cause the device to be found on all busses, including pci.


# 5895e3c8 24-Apr-1999 Peter Wemm <peter@FreeBSD.org>

De-quote where possible and minor tweaks. depends on a current config(8).


# ea7b76b1 24-Apr-1999 Peter Wemm <peter@FreeBSD.org>

Drop tty/net/bio/cam interrupt class labels, it's meaningless here now.


# 6757ed7e 23-Apr-1999 Peter Wemm <peter@FreeBSD.org>

Update VM86 comment - it's used for VESA too.

PR: 7976
Submitted by: Stefan Eggers <seggers@semyam.dinoco.de>


# d95939af 19-Apr-1999 Peter Wemm <peter@FreeBSD.org>

Zap LKM option and support. Farewell old friend.


# f71c851c 19-Apr-1999 Peter Wemm <peter@FreeBSD.org>

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).


# 23f7bd17 19-Apr-1999 Brian Somers <brian@FreeBSD.org>

Spelling police


# 6182fdbd 16-Apr-1999 Peter Wemm <peter@FreeBSD.org>

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


# ec71ab8e 16-Apr-1999 Nick Hibma <n_hibma@FreeBSD.org>

Remove the entries for umodem and ucom. These drivers only probe
and attach, nothing else. This is confusing to people.


# 7bf01a14 14-Apr-1999 Peter Wemm <peter@FreeBSD.org>

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 :-).


# 3e3e4375 13-Apr-1999 Peter Wemm <peter@FreeBSD.org>

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


# 7b598cd2 12-Apr-1999 Brian Somers <brian@FreeBSD.org>

ppp != iijppp any more
Mention nos-tun as a tun device user.


# 7dc1a5bd 11-Apr-1999 Nick Hibma <n_hibma@FreeBSD.org>

Make debugging more selective.
Remove debugging options from GENERIC


# 8f2a96f2 10-Apr-1999 Nick Hibma <n_hibma@FreeBSD.org>

uncomment the uhci entry


# c64aec80 09-Apr-1999 Nik Clayton <nik@FreeBSD.org>

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


# d02c2331 06-Apr-1999 Bill Paul <wpaul@FreeBSD.org>

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.


# 3ee9bf69 31-Mar-1999 Eivind Eklund <eivind@FreeBSD.org>

Add NTFS


# 4a64714f 29-Mar-1999 Kenneth D. Merry <ken@FreeBSD.org>

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.


# c867b0e5 29-Mar-1999 Poul-Henning Kamp <phk@FreeBSD.org>

Spelling fixes.

PR: 10764
Submitted by: Chris Piazza <cpiazza@home.net>


# f4694a87 28-Mar-1999 Dmitrij Tejblum <dt@FreeBSD.org>

Fix syntax error. While I am here, comment out a negative option and add
another two commented out negative options.


# 1afb37ef 16-Mar-1999 Matt Jacob <mjacob@FreeBSD.org>

describe new ISP options


# 495967e4 16-Mar-1999 Eivind Eklund <eivind@FreeBSD.org>

Remove old reference to needing 'make clean' for QUOTAS - that is no
longer correct.


# d99434fb 16-Mar-1999 Søren Schmidt <sos@FreeBSD.org>

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.


# aae5936e 13-Mar-1999 Joerg Wunsch <joerg@FreeBSD.org>

Make NDGBPORTS an official option.


# 4cc4752c 12-Mar-1999 Greg Lehey <grog@FreeBSD.org>

Add a dire warning about the folly of configuring vinum in
the kernel.


# 0a0319c2 10-Mar-1999 Kazutaka YOKOTA <yokota@FreeBSD.org>

- 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.


# a2210fe1 09-Mar-1999 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# 4f5f3f07 08-Mar-1999 Brian Somers <brian@FreeBSD.org>

typo police


# 61f625f0 04-Mar-1999 Søren Schmidt <sos@FreeBSD.org>

Add the atapi fd driver (LS120 & ZIP drive support)


# 8b89ef0a 01-Mar-1999 Søren Schmidt <sos@FreeBSD.org>

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


# 1b968362 22-Feb-1999 Dag-Erling Smørgrav <des@FreeBSD.org>

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


# 1571f899 21-Feb-1999 Nick Hibma <n_hibma@FreeBSD.org>

Rename hid device to uhid (HID: Human Interface Device)


# bca70763 21-Feb-1999 Nicolas Souchu <nsouch@FreeBSD.org>

Fix controller/device ppc0 inconsistency with GENERIC

Suggested by: Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>


# af1b53b1 20-Feb-1999 Nick Hibma <n_hibma@FreeBSD.org>

Removed uhub from list. Mandatory with usb device and this was already
forced in conf/files. Unneccessary entry.


# 722012cc 20-Feb-1999 Julian Elischer <julian@FreeBSD.org>

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>


# fdf94d1a 13-Feb-1999 Nicolas Souchu <nsouch@FreeBSD.org>

Rename nlpt to lpt.

Remove from ppi.c the old depreciated module stuff.
Print info when if_plip can't use interrupts.


# c5ea635c 13-Feb-1999 Nicolas Souchu <nsouch@FreeBSD.org>

Add alpm, Acer Aladdin-IV/V/Pro2 Power Management Unit. See alpm(4).


# a360b6bd 11-Feb-1999 Brian Somers <brian@FreeBSD.org>

Correct i/o addresses for dgb & dgm
Submitted for dgm by: Andre Oppermann <opi@opi.flirtbox.ch>


# 807ef708 09-Feb-1999 Dag-Erling Smørgrav <des@FreeBSD.org>

Remove the lpt driver, as discussed on -hackers.


# 017b0edc 08-Feb-1999 Matt Jacob <mjacob@FreeBSD.org>

add isp specific config options and explanations


# a467384b 07-Feb-1999 Joerg Wunsch <joerg@FreeBSD.org>

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>


# 38ebe562 04-Feb-1999 Adam David <adam@FreeBSD.org>

replace previous stupid comment with one more appropriate
where it will be easily found


# d1721fe1 29-Jan-1999 Mark Newton <newton@FreeBSD.org>

Add streams pseudo-device


# b4e36adf 27-Jan-1999 Matthew Dillon <dillon@FreeBSD.org>

Fix warnings preparing for -Wall -Wcast-qual

Also disable one usb module in LINT due to fatal compilation errors,
temporary.


# 04fb1490 25-Jan-1999 Nicolas Souchu <nsouch@FreeBSD.org>

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>


# 97b3f983 24-Jan-1999 Peter Wemm <peter@FreeBSD.org>

NO_LKM is no longer an option. LKM support is an option itself.


# be174c7e 23-Jan-1999 Greg Lehey <grog@FreeBSD.org>

Add comment indicating that the vinum pseudo-device is experimental,
and that vinum should be started as a kld.

Tripped-over-by: many people


# ef8f7626 23-Jan-1999 Nicolas Souchu <nsouch@FreeBSD.org>

Add various documented ppbus options


# a29a2986 23-Jan-1999 Robert Nordier <rnordier@FreeBSD.org>

Fix a dot too many in path.
PR: 9445
Noticed by: Ying-Chieh Liao <ijliao@Terry.Dorm10.NCTU.edu.tw>


# c619f2ac 23-Jan-1999 Kazutaka YOKOTA <yokota@FreeBSD.org>

- Remove reference to obsolete options.
- Describe options for the vga driver.
Reviewed by: bde


# 053a2b61 21-Jan-1999 Eivind Eklund <eivind@FreeBSD.org>

Move EXT2FS to be more visible, and give it a description. Also make
the text from my last commit somewhat better.


# 15a1057c 20-Jan-1999 Eivind Eklund <eivind@FreeBSD.org>

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.


# 36b5facd 19-Jan-1999 Mike Smith <msmith@FreeBSD.org>

Remove 'alog'. G'bye Jamil.


# 1857b6fe 19-Jan-1999 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix comment wording.


# 90b66aad 17-Jan-1999 Peter Wemm <peter@FreeBSD.org>

Add LKM option so that the remaining code (hopefully) doesn't go stale.


# b8cf6ea7 15-Jan-1999 Bruce Evans <bde@FreeBSD.org>

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.


# e1b5fc4c 13-Jan-1999 Kazutaka YOKOTA <yokota@FreeBSD.org>

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)


# e81feb8a 11-Jan-1999 Eivind Eklund <eivind@FreeBSD.org>

SLOW_VGA -> VGA_SLOW_IOACCESS here, too.


# 2ad872c5 10-Jan-1999 Kazutaka YOKOTA <yokota@FreeBSD.org>

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.


# 86415b71 10-Jan-1999 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# 302a1102 09-Jan-1999 Dag-Erling Smørgrav <des@FreeBSD.org>

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


# 31188d61 09-Jan-1999 Bill Paul <wpaul@FreeBSD.org>

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).


# 5526d2d9 08-Jan-1999 Eivind Eklund <eivind@FreeBSD.org>

Split DIAGNOSTIC -> DIAGNOSTIC, INVARIANTS, and INVARIANT_SUPPORT as
discussed on -hackers.

Introduce 'KASSERT(assertion, ("panic message", args))' for simple
check + panic.

Reviewed by: msmith


# f8f8d7af 08-Jan-1999 Eivind Eklund <eivind@FreeBSD.org>

Instead of providing bad instructions here, point people at the
appropriate docs.

Prodded by: Sheldon Hearn <axl@iafrica.com>'s message in -current


# c19da41e 01-Jan-1999 Peter Wemm <peter@FreeBSD.org>

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


# 3ea799d5 31-Dec-1998 Peter Wemm <peter@FreeBSD.org>

Oops, forgot to commit entry in LINT for statically configured vinum.


# 68ec4eb6 31-Dec-1998 Luigi Rizzo <luigi@FreeBSD.org>

Enable entries for DUMMYNET, BRIDGE and device pcm. LINT compiles
fine with these enabled.


# 4dfe8ba8 30-Dec-1998 Poul-Henning Kamp <phk@FreeBSD.org>

We don't specify "vector mumble" anymore

Submitted by: Boris Staeblow <balu@dva.in-berlin.de>


# 925f3681 27-Dec-1998 Mike Smith <msmith@FreeBSD.org>

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>


# 19c74962 27-Dec-1998 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# 29504a82 27-Dec-1998 Poul-Henning Kamp <phk@FreeBSD.org>

followup to
Pre 3.0 branch cleanup casualty #4: pcvt


# 50bac46f 27-Dec-1998 Søren Schmidt <sos@FreeBSD.org>

Pre 3.0 branch cleanup sos#2: sound

Superceded by the snd driver...


# fe433548 27-Dec-1998 Søren Schmidt <sos@FreeBSD.org>

Pre 3.0 branch cleanup sos#1: wcd

Superceded by acd driver...


# fc47545e 27-Dec-1998 Poul-Henning Kamp <phk@FreeBSD.org>

Pre 3.0 branch cleanup casualty #6: ft


# 11ceeec2 27-Dec-1998 Poul-Henning Kamp <phk@FreeBSD.org>

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


# 9034de81 26-Dec-1998 Poul-Henning Kamp <phk@FreeBSD.org>

Pre 3.0 branch cleanup casualty #4: pcvt


# e86310b9 26-Dec-1998 Poul-Henning Kamp <phk@FreeBSD.org>

Pre 3.0 branch cleanup casualty #3: 3c505 ethernet support


# 36b2d2c2 26-Dec-1998 Poul-Henning Kamp <phk@FreeBSD.org>

Pre 3.0 branch cleanup casualty #2: Transputer support


# 65d9f1de 26-Dec-1998 Poul-Henning Kamp <phk@FreeBSD.org>

Pre 3.0 branch cleanup casualty #1: DSI_SOFT_MODEM support.


# 68e9d934 22-Dec-1998 Luigi Rizzo <luigi@FreeBSD.org>

Add entries for DUMMYNET and BRIDGE


# 30cfb5b6 21-Dec-1998 Joerg Wunsch <joerg@FreeBSD.org>

Include rdp(4).

Should i also include it into GENERIC?


# 1d33cf3d 13-Dec-1998 Nick Hibma <n_hibma@FreeBSD.org>

Added all the options to LINT with descriptions. Haven't tried to compile
the LINT kernel yet however...


# 69acd21d 12-Dec-1998 Warner Losh <imp@FreeBSD.org>

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)


# 726ff6a1 04-Dec-1998 Bill Paul <wpaul@FreeBSD.org>

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.


# 3b60b6ac 03-Dec-1998 Matthew Dillon <dillon@FreeBSD.org>

Reviewed by: freebsd-current

Add ICMP_BANDLIM option


# c2906d55 23-Nov-1998 Poul-Henning Kamp <phk@FreeBSD.org>

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


# 340fe9ae 15-Nov-1998 Eivind Eklund <eivind@FreeBSD.org>

Make it possible to adjust the IDE probe delay from kernel config files.


# f98d49a8 11-Nov-1998 Mike Smith <msmith@FreeBSD.org>

Remove all mention of the 'amd' driver. It can come back if we grow
support for it again.


# ba5e60d1 08-Nov-1998 Peter Wemm <peter@FreeBSD.org>

Missing newline at end of file causes syntax error.


# ed91f3ba 06-Nov-1998 Mike Smith <msmith@FreeBSD.org>

USERCONFIG_BOOT -> INTRO_USERCONFIG

Submitted by: des


# 9e22648b 06-Nov-1998 David E. O'Brien <obrien@FreeBSD.org>

make lnc0 definition in LINT match GENERIC


# 9a093170 06-Nov-1998 David E. O'Brien <obrien@FreeBSD.org>

add AMD Am7990 & Am79C960 to description of lnc(4)


# 9dab0776 05-Nov-1998 David Greenman <dg@FreeBSD.org>

Document the new NSFBUFS option.


# fb46af4f 03-Nov-1998 Dag-Erling Smørgrav <des@FreeBSD.org>

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.


# 10b4ab47 03-Nov-1998 Dag-Erling Smørgrav <des@FreeBSD.org>

Rename the 'bpfilter' pseudo-device to 'bpf'. The old syntax is still legal
and will stick around for a while.


# 9cd97de5 01-Nov-1998 Nicolas Souchu <nsouch@FreeBSD.org>

Oops forgot to remove peter's 'device iicbb0' declaration. Done.


# 28ebb692 01-Nov-1998 Nicolas Souchu <nsouch@FreeBSD.org>

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


# 213cbcbe 31-Oct-1998 Peter Wemm <peter@FreeBSD.org>

I do not know if this is correct, but add iicbb0 as a device so that
LINT links.


# 903a1a16 30-Oct-1998 Dag-Erling Smørgrav <des@FreeBSD.org>

Document that we support i82595-based Ethernet adapters (Intel EtherExpress
Pro/10 and Pro/10+).


# 4a04f6f6 22-Oct-1998 Bruce Evans <bde@FreeBSD.org>

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.


# 78e33712 21-Oct-1998 Bruce Evans <bde@FreeBSD.org>

Removed all `vector xxxintr' specifications. Interrupt handlers are now
configured in drivers.


# 589e38a6 18-Oct-1998 Bill Paul <wpaul@FreeBSD.org>

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.


# 04fb8e53 16-Oct-1998 Alexander Langer <alex@FreeBSD.org>

Complete the description of sio flag 0x40.

Reviewed by: bde


# 1315dabd 11-Oct-1998 Bruce Evans <bde@FreeBSD.org>

Fixed bitrot in mfs options. MFS_ROOT split into MFS_ROOT and
MFS_ROOT_SIZE, and MFS_AUTOLOAD went away.


# 32a023dc 10-Oct-1998 David E. O'Brien <obrien@FreeBSD.org>

Add GENERIC rev 1.124 changes


# abd931ff 07-Oct-1998 David E. O'Brien <obrien@FreeBSD.org>

Fix syntax errors I introduced.


# 859244a6 06-Oct-1998 Justin T. Gibbs <gibbs@FreeBSD.org>

Add entries for the adw device driver.


# 4536af6a 06-Oct-1998 KATO Takenori <kato@FreeBSD.org>

- 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


# a788bdc4 05-Oct-1998 David E. O'Brien <obrien@FreeBSD.org>

Document that ``options xFS_ROOT'' requires the associated ``options xFS''.
Reordered xFS_ROOT's to be below the associated xFS.


# d05caa00 02-Oct-1998 Kenneth D. Merry <ken@FreeBSD.org>

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


# 9dfb4471 01-Oct-1998 Kenneth D. Merry <ken@FreeBSD.org>

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>


# 38e152d2 01-Oct-1998 Kazutaka YOKOTA <yokota@FreeBSD.org>

Fix typo.
PR: kern/8118
Submitted by: Sheldon Hearn


# c796cfa1 29-Sep-1998 Andrzej Bialecki <abial@FreeBSD.org>

Make #define NO_SWAPPING a normal kernel config option.

Warn unsuspecting users against current DEVFS pitfalls.

Reviewed by: jkh


# 71c1bf9f 27-Sep-1998 Joseph Koshy <jkoshy@FreeBSD.org>

`strings' -> `strings -aout -n 3'

Pointer out by: Ben Smithurst <ben@scientia.demon.co.uk> and
<des@freebsd.org>


# 10baba4b 25-Sep-1998 Peter Wemm <peter@FreeBSD.org>

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


# 60d4fee4 25-Sep-1998 Kazutaka YOKOTA <yokota@FreeBSD.org>

Slightly adjust the description on SC_ALT_SEQACCESS in the previous
commit.


# 85e36760 25-Sep-1998 Jordan K. Hubbard <jkh@FreeBSD.org>

Match LINT with SC_BAD_FLICKER change.
Submitted by: Sheldon Hearn <axl@iafrica.com>


# 58bcaed0 20-Sep-1998 Nicolas Souchu <nsouch@FreeBSD.org>

vpo now compiles with CAM, #!CAM# removed.


# 3e82ad76 20-Sep-1998 Justin T. Gibbs <gibbs@FreeBSD.org>

Re-enable the advansys driver.


# 7c0daaa8 18-Sep-1998 Eivind Eklund <eivind@FreeBSD.org>

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


# 3dd37e438 17-Sep-1998 Matt Jacob <mjacob@FreeBSD.org>

(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).


# 56234437 17-Sep-1998 Kenneth D. Merry <ken@FreeBSD.org>

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


# f7d09fba 17-Sep-1998 Nicolas Souchu <nsouch@FreeBSD.org>

vpo comments updated for cam, nlpt suggested instead of lpt


# c009fe30 16-Sep-1998 Mike Smith <msmith@FreeBSD.org>

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.


# a8445737 15-Sep-1998 Søren Schmidt <sos@FreeBSD.org>

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


# 3f8c4506 15-Sep-1998 Poul-Henning Kamp <phk@FreeBSD.org>

(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.


# 700daf5e 15-Sep-1998 Justin T. Gibbs <gibbs@FreeBSD.org>

sd->da, od is gone, no SCSI control devices.
new pass, xpt, and targ devices.

Nuke no longer used AHC options.


# d024c955 14-Sep-1998 Søren Schmidt <sos@FreeBSD.org>

Remove the SLICE code.
This clearly needs alot more thought, and we dont need this to hunt
us down in 3.0-RELEASE.


# 9afcea2f 11-Sep-1998 Robert V. Baron <rvb@FreeBSD.org>

All the references to cfs, in symbols, structs, and strings
have been changed to coda. (Same for CFS.)


# 6773d00e 10-Sep-1998 Søren Schmidt <sos@FreeBSD.org>

Oops missed a line in the previous commit


# a9c5b8d0 10-Sep-1998 Søren Schmidt <sos@FreeBSD.org>

Update info on the bt848 driver.

Submitted by: Roger Hardiman <roger@cs.strath.ac.uk>


# eeded4d8 08-Sep-1998 Søren Schmidt <sos@FreeBSD.org>

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.


# 8aa25588 08-Sep-1998 Brian Somers <brian@FreeBSD.org>

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)


# 8afa373c 03-Sep-1998 Nicolas Souchu <nsouch@FreeBSD.org>

Reviewed by: Doug Rabson
Submitted by: nsouch
Adding I2C and SMB entries to LINT, CONFIGVERS modified in Makefile.i386


# a1d55890 26-Aug-1998 Jordan K. Hubbard <jkh@FreeBSD.org>

Add CFS options to LINT, though commented out for now.
Submitted by: Robert Baron <rvb@sicily.odyssey.cs.cmu.edu>


# a84d40fb 26-Aug-1998 David E. O'Brien <obrien@FreeBSD.org>

NULLFS_DIAGNOSTICS and PCVT_SCANSET=2 listed twice.


# 16e164e3 17-Aug-1998 Bruce Evans <bde@FreeBSD.org>

Oops, the previous commit was of a local version.


# c7e2a132 17-Aug-1998 Bruce Evans <bde@FreeBSD.org>

FIxed typo (syntax error) in previous commit.


# e30938ce 16-Aug-1998 Bill Paul <wpaul@FreeBSD.org>

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.)


# c0fad1a4 10-Aug-1998 Kazutaka YOKOTA <yokota@FreeBSD.org>

- Added SC_BAD_FLICKER for syscons.
- Added the flag 0x40 (quiet bell) for syscons.


# b755b885 04-Aug-1998 Eivind Eklund <eivind@FreeBSD.org>

Update DPT driver from 1.4.3 to 1.4.5

Submitted by: Simon Shapiro <shimon@simon-shapiro.org>


# c35bda94 04-Aug-1998 Brian Somers <brian@FreeBSD.org>

Add driver dgm - for the Digiboard PC/Xem
Submitted by: "IBS / Andre Oppermann" <andre@pipeline.ch>
DEVFS additions: brian

dgm gets major number 101.


# 46f3ff79 03-Aug-1998 Mike Smith <msmith@FreeBSD.org>

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>


# b16d163d 20-Jul-1998 Mike Smith <msmith@FreeBSD.org>

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>


# e06ccb17 10-Jul-1998 Julian Elischer <julian@FreeBSD.org>

Add ipforward option


# 673796a7 30-Jun-1998 Bruce Evans <bde@FreeBSD.org>

Nuked opt_defunct.h and kern_opt.c. config(8) now generates good enough
warnings about all unknown options.


# a9e837f4 30-Jun-1998 John-Mark Gurney <jmg@FreeBSD.org>

document options to hardwire GUS irq/dmas...


# e261d589 30-Jun-1998 John-Mark Gurney <jmg@FreeBSD.org>

document PCI_QUIET that prevents pci from compiling in so many strings


# 20f71813 30-Jun-1998 John-Mark Gurney <jmg@FreeBSD.org>

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


# a9c94e9b 30-Jun-1998 John-Mark Gurney <jmg@FreeBSD.org>

document and make EXPORTMFS a new style option


# df394aff 29-Jun-1998 John-Mark Gurney <jmg@FreeBSD.org>

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....


# 324bac9f 24-Jun-1998 Mike Smith <msmith@FreeBSD.org>

Oops, add ppc to the 'tty' imask.


# abc97a06 21-Jun-1998 Bruce Evans <bde@FreeBSD.org>

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).


# ea0be999 08-Jun-1998 Bruce Evans <bde@FreeBSD.org>

Updated yet another ioctl, and put wst in LINT to inhibit further bitrot.


# e256a933 05-Jun-1998 Julian Elischer <julian@FreeBSD.org>

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.


# 5db3b831 30-May-1998 Poul-Henning Kamp <phk@FreeBSD.org>

Add minimum driver for XC6200 based cards. Currently it knows about
the HOT1 from www.vcc.com.


# e21faf3e 20-May-1998 Bill Paul <wpaul@FreeBSD.org>

And entries for ThunderLAN driver.


# 0346e0fe 19-May-1998 Julian Elischer <julian@FreeBSD.org>

Change the description of where to get the Soft Updates files.


# 58067a99 19-May-1998 Poul-Henning Kamp <phk@FreeBSD.org>

Make the size of the msgbuf (dmesg) a "normal" option.


# 6110161f 16-May-1998 Dag-Erling Smørgrav <des@FreeBSD.org>

Spotted a misplaced comma in my previous patch.


# 276756a4 16-May-1998 Dag-Erling Smørgrav <des@FreeBSD.org>

Typo nits in SUIDDIR comment (removed some parentheses, moved some
commas, replaced "partition" with "filesystem", reformatted the
paragraph)


# a2ba45e5 29-Apr-1998 Andreas Klemm <andreas@FreeBSD.org>

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


# 8bafc245 22-Apr-1998 Matt Jacob <mjacob@FreeBSD.org>

Add support for the Qlogic ISP SCSI && FC/AL Adapters


# 992109b5 19-Apr-1998 Julian Elischer <julian@FreeBSD.org>

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.


# 3e425b96 19-Apr-1998 Julian Elischer <julian@FreeBSD.org>

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.


# 9ff07e32 17-Apr-1998 Amancio Hasty <ahasty@FreeBSD.org>

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


# f559a836 09-Apr-1998 Søren Schmidt <sos@FreeBSD.org>

Add the new LBA mode support in the wd? config examples.


# 94316d1d 29-Mar-1998 Wolfgang Helbig <helbig@FreeBSD.org>

pcics are devices not controllers.


# 8a6472b7 28-Mar-1998 Peter Dufault <dufault@FreeBSD.org>

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.


# c4118fc0 23-Mar-1998 Kazutaka YOKOTA <yokota@FreeBSD.org>

Describe the SC_DISABLE_REBOOT option.


# 1689d8bd 21-Mar-1998 Peter Wemm <peter@FreeBSD.org>

Add IPFILTER, IPFILTER_LOG and note IPFILTER_LKM.


# c0a3aab8 20-Mar-1998 Peter Wemm <peter@FreeBSD.org>

zap 'vector siintr' from example si0 config


# f909c15b 16-Mar-1998 Eivind Eklund <eivind@FreeBSD.org>

Clear up DPT comment to avoid further confusion. This is a hardware
driver.


# 8f7030a7 13-Mar-1998 Tor Egge <tegge@FreeBSD.org>

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>


# 04fa1e6c 10-Mar-1998 Eivind Eklund <eivind@FreeBSD.org>

Change PMAP_SHPGPERPROC to not be equal to the default, for the
benefit of bde's "unused include files" script.

Requested by: bde


# 005092bb 09-Mar-1998 Eivind Eklund <eivind@FreeBSD.org>

Turn "PMAP_SHPGPERPROC" into a new-style option, add it to LINT, and
document it there.


# b1897c19 08-Mar-1998 Julian Elischer <julian@FreeBSD.org>

Reviewed by: dyson@freebsd.org (john Dyson), dg@root.com (david greenman)
Submitted by: Kirk McKusick (mcKusick@mckusick.com)
Obtained from: WHistle development tree


# 751bf650 27-Feb-1998 Jun-ichiro itojun Hagino <itojun@FreeBSD.org>

make sys/netkey/key{,_debug}.c compile. I believe it works but not tested.
I'll polish the code later on.


# 828c63ae 24-Feb-1998 Poul-Henning Kamp <phk@FreeBSD.org>

Add loran0 to LINT


# c2469add 21-Feb-1998 Eivind Eklund <eivind@FreeBSD.org>

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 :-)


# ee16b430 19-Feb-1998 Bruce Evans <bde@FreeBSD.org>

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.


# 1f98b2eb 18-Feb-1998 Mike Smith <msmith@FreeBSD.org>

Remove the 'qcam' driver. Development has ceased, and the driver is
nonfunctional.
Submitted by: pst (conversation some time ago)


# d94f38ac 16-Feb-1998 Eivind Eklund <eivind@FreeBSD.org>

Add HW_WDOG to LINT, and turn it into a new-style option.


# 507e2e44 13-Feb-1998 Poul-Henning Kamp <phk@FreeBSD.org>

Add a skelleton pulse-per-second timing driver. This will become more
useful when I get my timecounter changes past the Bruce-filter.


# bd45deef 11-Feb-1998 Dima Ruban <dima@FreeBSD.org>

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.


# 8da0cd62 11-Feb-1998 Kazutaka YOKOTA <yokota@FreeBSD.org>

Remove description on the flags for psm. They are adequately
documented in the man page for psm(4).


# 8b8cd792 11-Feb-1998 Jordan K. Hubbard <jkh@FreeBSD.org>

Clean up comments describing Luigi's alternate sound driver.


# a5b88b01 09-Feb-1998 KATO Takenori <kato@FreeBSD.org>

NULL and UMAP filesystems also unstable.


# 4c890f3b 04-Feb-1998 Eivind Eklund <eivind@FreeBSD.org>

Remove old, commented-out option SUIDDIR after Julian added a proper
entry for it.


# 346ebe51 03-Feb-1998 Eivind Eklund <eivind@FreeBSD.org>

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.


# cb800e34 31-Jan-1998 Julian Elischer <julian@FreeBSD.org>

add the SUIDDIR option and tell people what it is for. (And when NOT to use it)


# 3f2076da 31-Jan-1998 Eivind Eklund <eivind@FreeBSD.org>

Make the debug options new-style.

This also zaps a DPT option from lint; it wasn't referenced from
anywhere.


# c6de6a69 30-Jan-1998 Eivind Eklund <eivind@FreeBSD.org>

Add various options people have ignored.

Submitted by: bde


# c5b193bf 30-Jan-1998 Poul-Henning Kamp <phk@FreeBSD.org>

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


# 16094866 25-Jan-1998 Julian Elischer <julian@FreeBSD.org>

Add the DPT driver and options.
GENERIC with dpt may wait a few days if required.


# c007c0bc 24-Jan-1998 Eivind Eklund <eivind@FreeBSD.org>

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 ;-)


# 7b778b5e 23-Jan-1998 Eivind Eklund <eivind@FreeBSD.org>

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.


# ec4f65d2 21-Jan-1998 Jordan K. Hubbard <jkh@FreeBSD.org>

Add entries for tx card.


# aaf86206 16-Jan-1998 Paul Traina <pst@FreeBSD.org>

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


# 595f6341 14-Jan-1998 Poul-Henning Kamp <phk@FreeBSD.org>

Add and document PPS_SYNC


# 9bc192de 31-Dec-1997 David E. O'Brien <obrien@FreeBSD.org>

Explain that MAXMEM maynot be nessicary for detection of >64MB RAM.


# d46e059f 28-Dec-1997 Poul-Henning Kamp <phk@FreeBSD.org>

wash, sort and put in order various nits from the i586_ctr -> tsc
commit.

Pointed out by: bde


# 0031f3a9 27-Dec-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

Update comment to match updated sb0 line (conflicts keyword no longer needed
at IRQ 5).


# cb0a3a95 26-Dec-1997 Poul-Henning Kamp <phk@FreeBSD.org>

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!


# 3e176bdf 23-Dec-1997 Kazutaka YOKOTA <yokota@FreeBSD.org>

Document `flags' for the psm driver.


# 5eaf45f6 12-Dec-1997 Peter Wemm <peter@FreeBSD.org>

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


# a1e9e308 08-Dec-1997 Jamil J. Weatherbee <jamil@FreeBSD.org>

add entry in LINT for alog driver
added line to files.i386 to compile in alog.c optionally as a driver


# 821ecb19 07-Dec-1997 Kazutaka YOKOTA <yokota@FreeBSD.org>

Removed obsolete options: PSM_CHECKSYNC, PSM_ACCEL and PSM_EMULATION.


# b0050656 04-Dec-1997 John-Mark Gurney <jmg@FreeBSD.org>

document and make the NO_F00F_HACK a proper option...

Forgotten by: sef


# 61ca8499 25-Nov-1997 Mark Murray <markm@FreeBSD.org>

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)


# e43a9900 17-Nov-1997 Alexander Langer <alex@FreeBSD.org>

Typo fix.

PR: 5068
Submitted by: Studded@dal.net


# 0f1d6a82 04-Nov-1997 Steve Price <steve@FreeBSD.org>

Note that the Intel EtherExpress' driver is ie(4).


# 343b84b4 28-Oct-1997 Joerg Wunsch <joerg@FreeBSD.org>

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).


# 1160da92 28-Oct-1997 Joerg Wunsch <joerg@FreeBSD.org>

Remove the stale `log' non-pseudodevice.

Found by: the new config(8) ;-)


# e7e437db 25-Oct-1997 Nate Williams <nate@FreeBSD.org>

- 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


# d37346ee 18-Oct-1997 Joerg Wunsch <joerg@FreeBSD.org>

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.


# 829b5d55 18-Oct-1997 Peter Wemm <peter@FreeBSD.org>

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


# 96be526a 17-Oct-1997 Peter Wemm <peter@FreeBSD.org>

Doc PPP_* options and add PPP_FILTER


# f88c1346 15-Oct-1997 Mike Smith <msmith@FreeBSD.org>

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>


# 6593be60 06-Oct-1997 KATO Takenori <kato@FreeBSD.org>

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.


# 8dd4744e 23-Sep-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

Fix merge spam
Spotted by: Alex Nash


# ab6e02da 23-Sep-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

Be more explicit about one of IPFIREWALL's features.


# e871e61f 20-Sep-1997 John Dyson <dyson@FreeBSD.org>

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>


# 6a796ce0 19-Sep-1997 John-Mark Gurney <jmg@FreeBSD.org>

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)


# d2fb4892 16-Sep-1997 Joerg Wunsch <joerg@FreeBSD.org>

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.


# c7406082 14-Sep-1997 John-Mark Gurney <jmg@FreeBSD.org>

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


# ffdd472d 09-Sep-1997 Peter Wemm <peter@FreeBSD.org>

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>


# 53a7a570 08-Sep-1997 John-Mark Gurney <jmg@FreeBSD.org>

add pnp device entries...


# 297976f7 04-Sep-1997 Kazutaka YOKOTA <yokota@FreeBSD.org>

Add a new compile option SC_HISTORY_SIZE for syscons.


# 1f7727a9 04-Sep-1997 Søren Schmidt <sos@FreeBSD.org>

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>


# adeb9a12 28-Aug-1997 Jonathan Lemon <jlemon@FreeBSD.org>

Document the VM86 option.
Reminded-by: John-Mark Gurney


# 3b577e1f 27-Aug-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

Add entries for Comtrol Rocketport serial card.
Submitted by: Amir Farah <amir@comtrol.com>


# 89327d27 19-Aug-1997 Peter Wemm <peter@FreeBSD.org>

Mention PPP_DEFLATE and PPP_BSDCOMP for kernel ppp.


# ab4c624b 14-Aug-1997 Mike Smith <msmith@FreeBSD.org>

Add support for the new Parallel-Port Bus and devices thereon.
Submitted by: Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>


# 3476cdb9 01-Aug-1997 Mike Smith <msmith@FreeBSD.org>

Sanitise the Wavelan entries.
Submitted by: bde


# 36bdbe94 31-Jul-1997 Mike Smith <msmith@FreeBSD.org>

New LINT comments and options for the Wavelan (wl) driver.
Submitted by: Jim Binkley <jrb@cs.pdx.edu>


# 25717e99 25-Jul-1997 Steve Passe <fsmp@FreeBSD.org>

Removed "options SMP_TIMER_NC".


# 38d8a113 25-Jul-1997 Poul-Henning Kamp <phk@FreeBSD.org>

Add option for compiling in a 8x16 font.


# 96b89afc 19-Jul-1997 Bruce Evans <bde@FreeBSD.org>

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.


# 955bc151 17-Jul-1997 John Dyson <dyson@FreeBSD.org>

Add some support for the 16650 type UARTS.


# 29a4cf6d 08-Jul-1997 Andrey A. Chernov <ache@FreeBSD.org>

Remove 'conflicts' keyword from SB family devices, it is not
needed now. Uncomment awe0 device


# 06daa051 30-Jun-1997 Bruce Evans <bde@FreeBSD.org>

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.


# 5d3b1465 30-Jun-1997 Kazutaka YOKOTA <yokota@FreeBSD.org>

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.


# 4962d938 27-Jun-1997 KATO Takenori <kato@FreeBSD.org>

Added CPU_DIRECT_MAPPED_CACHE option which sets L1 cache in direct
mapped mode on Cyrix 486DLC box.


# b3196e4b 22-Jun-1997 Peter Wemm <peter@FreeBSD.org>

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


# 3cbceb82 16-Jun-1997 Kenjiro Cho <kjc@FreeBSD.org>

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.


# 818de095 05-Jun-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

YAMF22 - XSERVER comment changes.


# 562d05df 04-Jun-1997 Paul Traina <pst@FreeBSD.org>

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


# 5ea6cb03 04-Jun-1997 Paul Traina <pst@FreeBSD.org>

Bring back CONSPEED as a last-ditch default if you can't change the speed
any other way.

Requested by: dfr


# 69d2ceed 03-Jun-1997 Paul Traina <pst@FreeBSD.org>

CONSPEED is defunct.


# 2321ce34 25-May-1997 Peter Wemm <peter@FreeBSD.org>

uncomment wl again now that it compiles...


# e83d2f26 23-May-1997 Peter Wemm <peter@FreeBSD.org>

The wavelan driver doesn't even compile!


# 98d46ad0 22-May-1997 Mike Smith <msmith@FreeBSD.org>

Add the 'wl' ISA Wavelan driver.
Obtained from: Jim Binkley <jrb@cs.pdx.edu>


# 432aad0e 11-May-1997 Tor Egge <tegge@FreeBSD.org>

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.


# a56fb4ee 10-May-1997 Steve Passe <fsmp@FreeBSD.org>

Documented SMP_AUTOSTART to be working.


# 02c186c9 10-May-1997 John Hay <jhay@FreeBSD.org>

Remove IPXPRINTFS, it is now a sysctl knob.


# 5719a93c 10-May-1997 John-Mark Gurney <jmg@FreeBSD.org>

forgot to add the "longer" description of bktr and add an example device
line.


# 6baab376 10-May-1997 John-Mark Gurney <jmg@FreeBSD.org>

add a line for bktr (Bt848 base capture cards) to LINT.


# 68713f97 08-May-1997 Kenjiro Cho <kjc@FreeBSD.org>

merge ATM driver


# 53850c2f 06-May-1997 Steve Passe <fsmp@FreeBSD.org>

A *little* more descriptive test for options.


# 5a9714de 04-May-1997 Joerg Wunsch <joerg@FreeBSD.org>

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.


# 2b450063 27-Apr-1997 Steve Passe <fsmp@FreeBSD.org>

remove the SMP_INVLTLB option, making the code default for APIC_IO.

Reviewed by: informal discussion with Peter Wemm <peter@spinner.DIALix.COM>


# 477a642c 26-Apr-1997 Peter Wemm <peter@FreeBSD.org>

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!


# c1aa7eb5 13-Apr-1997 Justin T. Gibbs <gibbs@FreeBSD.org>

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.


# 9546766a 06-Apr-1997 Bruce Evans <bde@FreeBSD.org>

Documented new serial console flags.

Removed dead serial console options.

Reorganised sio and serial console options.

Added undocumented options CLUSTERDEBUG and NPX_DEBUG.


# 3d4d8fe9 29-Mar-1997 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# 5fba67d1 26-Mar-1997 Andrey A. Chernov <ache@FreeBSD.org>

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


# 348a8a6a 26-Mar-1997 Andrey A. Chernov <ache@FreeBSD.org>

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


# add8f412 26-Mar-1997 Andrey A. Chernov <ache@FreeBSD.org>

Don't trick with opl0 address since we have conflicts keyword


# 0baa5ad9 24-Mar-1997 Andrey A. Chernov <ache@FreeBSD.org>

Use port? for sbxvi0 since it is autoconfigured from sb0
Change sb0 irq from 7 to 5 since 5 is Creative default now.


# 56be1833 23-Mar-1997 KATO Takenori <kato@FreeBSD.org>

Created new section `CPU OPTIONS'. CPU classes and math emulator are
moved to there. Options for CPU feature is also described there.


# 35846a81 20-Mar-1997 Mike Pritchard <mpp@FreeBSD.org>

Typo police.


# c85cfdb2 18-Mar-1997 David E. O'Brien <obrien@FreeBSD.org>

typo (nthe --> the)


# 25292acb 13-Mar-1997 Bruce Evans <bde@FreeBSD.org>

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.


# 2928e6b5 12-Mar-1997 Stefan Eßer <se@FreeBSD.org>

Add option CMD640 which is required to use both channels of that
EIDE chip


# 1b0d3143 12-Mar-1997 Joerg Wunsch <joerg@FreeBSD.org>

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.


# 6875d254 22-Feb-1997 Peter Wemm <peter@FreeBSD.org>

Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not
ready for it yet.


# 56a956e5 12-Feb-1997 Bruce Evans <bde@FreeBSD.org>

Use a valid value for MSGSSZ
Don't specify PSM_CHECKSYNC twice.

Submitted by: MSGSSZ by mi@aldan.ziplink.net


# c37ddbb8 01-Feb-1997 Joerg Wunsch <joerg@FreeBSD.org>

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.


# 50c193eb 30-Jan-1997 Kazutaka YOKOTA <yokota@FreeBSD.org>

Removed reference to PSM_NO_RESET which is no longer available.


# d73ffacd 26-Jan-1997 Bruce Evans <bde@FreeBSD.org>

Removed bogus options CHILD_MAX and OPEN_MAX.


# 4bc24b97 27-Jan-1997 Bruce Evans <bde@FreeBSD.org>

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.


# 0942673f 17-Jan-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

Adjust ex0 entries properly after talking with Javier.


# 5131d64e 16-Jan-1997 Bruce Evans <bde@FreeBSD.org>

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).


# 3b204261 15-Jan-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

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>


# 827d623e 16-Jan-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

Document INCLUDE_CONFIG_FILE.


# 1130b656 14-Jan-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

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.


# ec0ae37d 12-Jan-1997 Nate Williams <nate@FreeBSD.org>

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


# 078d4ac9 23-Dec-1996 Bruce Evans <bde@FreeBSD.org>

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.


# 392cefd1 23-Dec-1996 Bruce Evans <bde@FreeBSD.org>

Fixed quoting of MAXDSIZ and DFLTDSIZ. The quoting rules changed when
they were put in an options header.

Should be in 2.2.


# d43f0f0a 22-Dec-1996 John Dyson <dyson@FreeBSD.org>

Document MAXDSIZ and DFLDSIZ. This is a 2.2 candidate change.


# 94801746 22-Dec-1996 Poul-Henning Kamp <phk@FreeBSD.org>

Add & Document MD5 option.


# e69742d7 18-Dec-1996 Stefan Eßer <se@FreeBSD.org>

Add Tekram DC390/390T driver "amd0", which is expected to work with
generic AMD 53c974 PCI SCSI controllers as well.


# 64a6e05c 29-Nov-1996 John Dyson <dyson@FreeBSD.org>

Clarified the comment about removing other CPU defs. Specifically,
I added the suggestion to remove the I386_CPU def if possible.


# f0b48537 27-Nov-1996 Andrey A. Chernov <ache@FreeBSD.org>

Remove warning at AHC_SCBPAGING_ENABLE, not needed now


# 11b5ea72 15-Nov-1996 Justin T. Gibbs <gibbs@FreeBSD.org>

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.


# 431995f1 15-Nov-1996 Jordan K. Hubbard <jkh@FreeBSD.org>

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>


# 7dbff5bf 13-Nov-1996 Andrey A. Chernov <ache@FreeBSD.org>

Change WARNING line about SCB paging to:
# WARNING: with AHC_TAGENABLE set can be dangerous on Adaptec 2842


# 8ba1fe21 11-Nov-1996 Andrey A. Chernov <ache@FreeBSD.org>

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)


# 6620cf78 11-Nov-1996 Nate Williams <nate@FreeBSD.org>

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


# 1fe04850 11-Nov-1996 Bruce Evans <bde@FreeBSD.org>

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().


# 6fb5e0fa 10-Nov-1996 Justin T. Gibbs <gibbs@FreeBSD.org>

Add the AHC_FORCE_PIO option.
Update comment on AHC_SCBPAGING_ENABLE since I think it works now.


# 33c58c9f 07-Nov-1996 Satoshi Asami <asami@FreeBSD.org>

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.


# 11bfa65a 06-Nov-1996 Bruce Evans <bde@FreeBSD.org>

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.


# dcb21864 23-Oct-1996 Paul Traina <pst@FreeBSD.org>

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


# bd7ea4dc 20-Oct-1996 Poul-Henning Kamp <phk@FreeBSD.org>

Removing old isdn stuff.


# 889eef6f 17-Oct-1996 Jordan K. Hubbard <jkh@FreeBSD.org>

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.


# d656e316 09-Oct-1996 Bruce Evans <bde@FreeBSD.org>

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.


# 8996308b 05-Oct-1996 Jordan K. Hubbard <jkh@FreeBSD.org>

Document USERCONFIG_BOOT, even though it doesn't belong where it is. ;-)


# 6e702c99 30-Sep-1996 Paul Traina <pst@FreeBSD.org>

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.


# e8993539 19-Sep-1996 Poul-Henning Kamp <phk@FreeBSD.org>

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...


# cefdbb04 12-Sep-1996 Bruce Evans <bde@FreeBSD.org>

Added undocumented option SPX_HACK.


# 96fc6efb 11-Sep-1996 Poul-Henning Kamp <phk@FreeBSD.org>

Make userconfig two (default: on) options:
USERCONFIG to enable
VISUAL_USERCONFIG to get the gui stuff too.
Requested by: pst


# 683cbdf4 10-Sep-1996 Bruce Evans <bde@FreeBSD.org>

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.


# 53809eab 06-Sep-1996 Paul Traina <pst@FreeBSD.org>

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.


# 56086e0d 15-Aug-1996 Satoshi Asami <asami@FreeBSD.org>

Add comment about fxp device (Intel EE Pro/100B).


# 93e0e116 10-Jul-1996 Julian Elischer <julian@FreeBSD.org>

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.


# d805b866 05-Jul-1996 John Hay <jhay@FreeBSD.org>

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.


# 2aba17b3 26-Jun-1996 Gary Palmer <gpalmer@FreeBSD.org>

Correct comment relating to pty's. There can be 256 (probably
higher actually, but that's all our MAKEDEV supports at this time)


# e72a188e 23-Jun-1996 Andrey A. Chernov <ache@FreeBSD.org>

Oops, forget the fact that LINT compiles (fixing previos PAS commi)


# 5839779a 23-Jun-1996 Andrey A. Chernov <ache@FreeBSD.org>

Describe the way how to add OPL for PAS without conflict


# a675c0c6 23-Jun-1996 Bruce Evans <bde@FreeBSD.org>

Describe MAXMEM better. Enable it by default. (It's a positive option.
Only negative options in LINT should be enabled.)


# a85fadfc 19-Jun-1996 Nate Williams <nate@FreeBSD.org>

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


# b2796687 18-Jun-1996 Nate Williams <nate@FreeBSD.org>

Document MAXMEM option.

[ Closes PR#1334, slightly modified by me ]

Submitted by: James Raynard <james@jraynard.demon.co.uk>


# 34b5fca7 18-Jun-1996 Julian Elischer <julian@FreeBSD.org>

As we have appletalk protocol support we might as well show
how to get it..


# 93063432 16-Jun-1996 Joerg Wunsch <joerg@FreeBSD.org>

Explain the options for the `od' driver.


# f7ef42a0 14-Jun-1996 Satoshi Asami <asami@FreeBSD.org>

Document LINT.

Reminded by: jkh, j, bde


# b8484eb3 10-Jun-1996 Peter Wemm <peter@FreeBSD.org>

*blush* I used EXTRAVNODES everywhere else, but put EXTRA_VNODES in the
example here.. :-(


# ff6f025a 09-Jun-1996 Alexander Langer <alex@FreeBSD.org>

Clarify the meaning of IPFIREWALL_VERBOSE. Add IPFIREWALL_VERBOSE_LIMIT.


# 7b2305f7 07-Jun-1996 Andrey A. Chernov <ache@FreeBSD.org>

Describe ATAPI_STATIC (it seems lkm variant never work)


# 114a8cff 30-May-1996 Peter Wemm <peter@FreeBSD.org>

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.


# 734d08a2 17-May-1996 Jordan K. Hubbard <jkh@FreeBSD.org>

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>


# 13cbd355 12-May-1996 Nate Williams <nate@FreeBSD.org>

Whoops, don't add something that already exists. Removed redundant
entries but better document the existing PCCARD stuff.


# 92d38a13 12-May-1996 Nate Williams <nate@FreeBSD.org>

Added commented out PCCARD entries to GENERIC, also document and add
entries in LINT.


# c9da1b81 10-May-1996 Peter Wemm <peter@FreeBSD.org>

Oops, I missed these when I imported the Stallion drivers.

Add samples and some info to LINT (and a pointer to the real docs)


# 03b225a3 02-May-1996 Satoshi Asami <asami@FreeBSD.org>

Add ccd to list of devices. Also add a sample entry in LINT.


# f3e002a8 02-May-1996 Poul-Henning Kamp <phk@FreeBSD.org>

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" :-(


# 119bc2cc 30-Apr-1996 Bruce Evans <bde@FreeBSD.org>

Oops, restored existent option LINUX. It is used at config-time.


# 7c243b9a 30-Apr-1996 Bruce Evans <bde@FreeBSD.org>

Removed nonexistent option "LINUX" (what's that :-).


# 03475c25 26-Apr-1996 Søren Schmidt <sos@FreeBSD.org>

Removed options MAXCONS & HARDFONT, they are no longer in use
(and havn't been for long, sigh)


# e597b497 22-Apr-1996 Nate Williams <nate@FreeBSD.org>

- 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


# 77959e8e 11-Apr-1996 Marc G. Fournier <scrappy@FreeBSD.org>

mentioned support for enabling gameport on ProAudio Spectrum with
appropriately commented out "options" line for PAS_JOYSTICK_ENABLE
(PR#i386/960 - partial closer)


# 23d048ee 02-Apr-1996 Gary Palmer <gpalmer@FreeBSD.org>

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.


# 348acd94 02-Apr-1996 Garrett Wollman <wollman@FreeBSD.org>

Document PERFMON.
Delete obsolete PROBE_VERBOSE.


# d72ee36f 30-Mar-1996 Bruce Evans <bde@FreeBSD.org>

Removed dead option DUMMY_NOPS.
Restored undead option AUTO_EOI_1.
Added undocumented option PERFMON.


# a732b754 17-Mar-1996 Jordan K. Hubbard <jkh@FreeBSD.org>

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>


# 44f0e01b 11-Mar-1996 Nate Williams <nate@FreeBSD.org>

Removed undocumented an unused APM_SLOWSTART code.


# 25cf9d99 11-Mar-1996 Jordan K. Hubbard <jkh@FreeBSD.org>

Add FAILSAFE option for selecting extra conservativeness when such
is more practical (like during installation). Correspondingly, set the
option by default in GENERIC now.


# d66a5066 02-Mar-1996 Peter Wemm <peter@FreeBSD.org>

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.


# 5ccab2af 28-Feb-1996 Gary Palmer <gpalmer@FreeBSD.org>

Add a new option: DDB_UNATTENDED. Stops machine dropping into DDB
when it panics, but leaving activation of DDB from the console
unaffected.


# e7319bab 23-Feb-1996 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# dc915e7c 13-Feb-1996 Garrett Wollman <wollman@FreeBSD.org>

Kill XNS.
While we're at it, fix socreate() to take a process argument. (This
was supposed to get committed days ago...)


# bba9a7a0 06-Feb-1996 Garrett Wollman <wollman@FreeBSD.org>

Comment out ISO, CCITT, LLC, and HDLC with a note to the effect
that we no longer ship source for these protocols.


# 821c204e 03-Feb-1996 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# 4cf62360 01-Feb-1996 Paul Traina <pst@FreeBSD.org>

Add in hooks for quickcam driver


# 6c5e9bbd 30-Jan-1996 Mike Pritchard <mpp@FreeBSD.org>

Fix a bunch of spelling errors in the comment fields of
a bunch of system include files.


# 7c115697 13-Jan-1996 Poul-Henning Kamp <phk@FreeBSD.org>

Document NFS_NOSERVER.


# 5ccfdea2 09-Jan-1996 Andreas Schulz <ats@FreeBSD.org>

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.


# d4fb926c 05-Jan-1996 Garrett Wollman <wollman@FreeBSD.org>

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.)


# 768fd661 28-Dec-1995 Bruce Evans <bde@FreeBSD.org>

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).


# 56c7a48c 28-Dec-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Make a couple of options that hurt when they're removed more
carefully noted.


# 3eafdede 26-Dec-1995 Bruce Evans <bde@FreeBSD.org>

Removed nonexistent option AUTO_EOI_1.


# c6bbb6d1 25-Dec-1995 Bruce Evans <bde@FreeBSD.org>

Fixed staticizing. Some functions aren't static but depend on
the undocumented previously unLINTed option `APM_SLOWSTART'.


# 17acc2b2 24-Dec-1995 David Greenman <dg@FreeBSD.org>

Added device fxp0 (device driver for Intel EtherExpress Pro/100).


# 7059cdf2 24-Dec-1995 David Greenman <dg@FreeBSD.org>

Added I686_CPU.


# 439187de 22-Dec-1995 Bruce Evans <bde@FreeBSD.org>

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.


# c01db44a 16-Dec-1995 Bruce Evans <bde@FreeBSD.org>

Fixed comment about IPFIREWALL_VERBOSE.

Added undocumented option SCSI_2_DEF.


# 526eacf6 15-Dec-1995 Bruce Evans <bde@FreeBSD.org>

Added undocumented option LINUX so that it gets tested.


# b1529bda 14-Dec-1995 Peter Wemm <peter@FreeBSD.org>

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..


# a1d01daf 12-Dec-1995 Justin T. Gibbs <gibbs@FreeBSD.org>

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.


# 94c94804 10-Dec-1995 Bruce Evans <bde@FreeBSD.org>

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.


# 46746c3b 10-Dec-1995 Julian Elischer <julian@FreeBSD.org>

Add DEVFS to LINT


# dd82b061 09-Dec-1995 Poul-Henning Kamp <phk@FreeBSD.org>

Remove option ARP_PROXYALL, it's now a sysctl var.


# e9aaac99 29-Nov-1995 Nate Williams <nate@FreeBSD.org>

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.


# 98e9e66c 29-Nov-1995 Nate Williams <nate@FreeBSD.org>

Add some comments above the npx0 device to make it even more obvious
that it is a mandatory device.


# d01b6680 28-Nov-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

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


# e7c234a1 20-Nov-1995 Peter Wemm <peter@FreeBSD.org>

Add and document the hooks for John Hay's Arnet sync driver...


# e56e7036 09-Nov-1995 Justin T. Gibbs <gibbs@FreeBSD.org>

Change ahb device line to eisaconf syntax.


# eeb706c0 05-Nov-1995 Justin T. Gibbs <gibbs@FreeBSD.org>

Add eisa0 and remove ISA configuration line for ahc0.


# 1b3f472e 31-Oct-1995 Julian Elischer <julian@FreeBSD.org>

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.


# dc9deb29 31-Oct-1995 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# 49bdb5b8 31-Oct-1995 Joerg Wunsch <joerg@FreeBSD.org>

Include the "od" driver.


# f4567b9c 31-Oct-1995 Julian Elischer <julian@FreeBSD.org>

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


# cc6a66f2 26-Oct-1995 Julian Elischer <julian@FreeBSD.org>

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


# 9720b084 25-Oct-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Stable matcd port to 0x230, as per request by Bruce and Frank.
Submitted by: Frank Durda IV <uhclem@fw.ast.com>


# 65e8111f 09-Oct-1995 Bruce Evans <bde@FreeBSD.org>

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.


# 8e411548 02-Oct-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Whoops, I misunderstood this. IRQ *12* is a better GUS default.


# 50c15f21 27-Sep-1995 Andrey A. Chernov <ache@FreeBSD.org>

Back out MTUDISC description per Garrett request, yet not ready


# aa3b19e0 27-Sep-1995 Andrey A. Chernov <ache@FreeBSD.org>

Document MTUDISC


# 0d04cf6a 23-Sep-1995 Peter Wemm <peter@FreeBSD.org>

Tone down the doom-and-gloom prediction if one enables the si driver..


# a800f455 07-Sep-1995 Julian Elischer <julian@FreeBSD.org>

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


# a50cd483 03-Sep-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

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>


# d1a599c2 01-Sep-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

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.


# 1d86961e 28-Aug-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Kernel components of Matrox Meteor driver.
Submitted by: Mark Tinguely <tinguely@plains.nodak.edu> and Jim Lowe <james>


# 0f700bfd 27-Aug-1995 Joerg Wunsch <joerg@FreeBSD.org>

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


# 3852c308 20-Aug-1995 Andreas Schulz <ats@FreeBSD.org>

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.


# 6788ce49 18-Aug-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

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>


# b192d8d9 12-Aug-1995 Andreas Schulz <ats@FreeBSD.org>

Correct a little typo in LINT. trouble is -> trouble if.


# 7fe369dc 11-Aug-1995 Joerg Wunsch <joerg@FreeBSD.org>

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.


# c4823710 08-Aug-1995 Peter Wemm <peter@FreeBSD.org>

Add Specialix driver to LINT
Reviewed by:
Submitted by:
Obtained from:


# a2048b9c 01-Aug-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Sync to reality for the Gravis Ultrasound MAX card.


# 4fbaf9a7 17-Jul-1995 Justin T. Gibbs <gibbs@FreeBSD.org>

Add examples for wiring down scbuses to drivers as well as specifying
controller buses for multi-bus controllers.


# 446cee6e 16-Jul-1995 Joerg Wunsch <joerg@FreeBSD.org>

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


# 567e21c2 16-Jul-1995 Bruce Evans <bde@FreeBSD.org>

Add tw.


# 7fbcd76b 11-Jul-1995 Bruce Evans <bde@FreeBSD.org>

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.


# 975c53c7 22-Jun-1995 Doug Rabson <dfr@FreeBSD.org>

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


# 265368d4 28-May-1995 Rodney W. Grimes <rgrimes@FreeBSD.org>

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.


# b8e91dab 26-May-1995 David Greenman <dg@FreeBSD.org>

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


# 5eb46edf 18-May-1995 David Greenman <dg@FreeBSD.org>

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


# a401ebbe 13-May-1995 David Greenman <dg@FreeBSD.org>

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.


# d0930614 12-May-1995 Andrey A. Chernov <ache@FreeBSD.org>

Add 'rc' line


# 9cc34748 10-May-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Remove all vestiges of the ALLOW_CONFLICT_FOO evil and replace it with
something slightly less evil - a per device conflict flag.


# 85827d9c 06-May-1995 Joerg Wunsch <joerg@FreeBSD.org>

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.


# f73bbaf2 05-May-1995 David Greenman <dg@FreeBSD.org>

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..


# 657e73c4 27-Apr-1995 Peter Dufault <dufault@FreeBSD.org>

Add National Instruments "LabPC" driver


# d52d7365 24-Apr-1995 Poul-Henning Kamp <phk@FreeBSD.org>

Document MFS_ROOT option.


# d3f4d460 23-Apr-1995 Poul-Henning Kamp <phk@FreeBSD.org>

Added "bio" to matcd.


# e3dd3158 23-Apr-1995 John Dyson <dyson@FreeBSD.org>

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.


# 1a7c583c 23-Apr-1995 Garrett Wollman <wollman@FreeBSD.org>

Substantially clean up LINT and add `fe'.


# 5b920a89 22-Apr-1995 John Dyson <dyson@FreeBSD.org>

Document the wd.c option NSECS_MULTI.


# b6b8f81e 18-Apr-1995 Andrey A. Chernov <ache@FreeBSD.org>

Add quotes around TUNE_1542


# 8909a72b 14-Apr-1995 Peter Dufault <dufault@FreeBSD.org>

Add "sctarg" and document new SCSI_REPORT_GEOMETRY option for ache


# e5f2c8f6 12-Apr-1995 Poul-Henning Kamp <phk@FreeBSD.org>

Add "BREAK_TO_DEBUGGER" option.


# 63373752 08-Apr-1995 Poul-Henning Kamp <phk@FreeBSD.org>

Move default address of lnc0 to 0x300. Luigi Rizzo said that his card
cannot even go below 0x300...


# 017e602c 08-Apr-1995 Andrey A. Chernov <ache@FreeBSD.org>

pca: change IO_PPI to IO_TIMER1 due to syscons conflict


# fe696eb6 08-Apr-1995 Joerg Wunsch <joerg@FreeBSD.org>

Update pcvt to 3.20 b24


# 12cfa436 08-Apr-1995 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# e64ae15d 06-Apr-1995 Andrey A. Chernov <ache@FreeBSD.org>

Add port IO_PPI for pca per Bruce suggestion


# 0264a8a9 05-Apr-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

0x330 is the default address for SB Midi, not 0x300
Submitted by: Doug Rabson <dfr@render.com>


# ad0c439a 29-Mar-1995 Rodney W. Grimes <rgrimes@FreeBSD.org>

Submitted by: Mahesh Neelakanta <mahesh@gcomm.com>

Change I/O address of Intel EtherExpress driver (ix0) from 0x280 to
0x300.


# e5e60905 28-Mar-1995 David Greenman <dg@FreeBSD.org>

Added NQNFS option and a comment warning about it's overhead.


# 9829c3ed 28-Mar-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Change ahc driver comment to note that it's not just the 274x controller
it supports.


# f8e028be 18-Mar-1995 Rodney W. Grimes <rgrimes@FreeBSD.org>

Add Intel EtherExpress16 (ix0) driver.
Reviewed by:
Submitted by:
Obtained from:


# de6a307e 15-Mar-1995 Peter Dufault <dufault@FreeBSD.org>

Document scsi options


# d41f24e7 14-Mar-1995 David Greenman <dg@FreeBSD.org>

Added support for generic FDDI and the DEC DEFEA and DEFPA FDDI adapters.

Submitted by: Matt Thomas


# a91ccb55 13-Mar-1995 Steven Wallace <swallace@FreeBSD.org>

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.


# 12fd0853 12-Mar-1995 Steven Wallace <swallace@FreeBSD.org>

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


# 133d0cef 11-Mar-1995 Bruce Evans <bde@FreeBSD.org>

Fix config-time syntax errors in sound options.


# 7332d95a 06-Mar-1995 Ugen J.S. Antsilevich <ugen@FreeBSD.org>

Restore IPACCT out there..


# 68cfe626 05-Mar-1995 Joerg Wunsch <joerg@FreeBSD.org>

pcvt is still using the XSERVER option; document this.


# ca83dc2d 04-Mar-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

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


# 05e1d9d4 01-Mar-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Changes to incorporate the Matsushita CDROM driver (otherwise known as
the "Sound blaster CDROM").
Submitted by: Frank Durda IV <bsdmail@nemesis.lonestar.org>


# ebc1a0e2 01-Mar-1995 Peter Dufault <dufault@FreeBSD.org>

Added a little documentation on the fixed SCSI config and
fixed a few quirks that snuck in.


# 226d4c89 23-Feb-1995 Bruce Evans <bde@FreeBSD.org>

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).


# f1f0a0bf 19-Feb-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Remove the SCSI idsn line - it's permanantly dead.


# f1f04188 17-Feb-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Remove the ISDN dialer from LINT until it's working.


# 648c711b 16-Feb-1995 Poul-Henning Kamp <phk@FreeBSD.org>

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>


# f2eea810 14-Feb-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

We can enable pcd0 when we actually have one.


# a46a6df7 14-Feb-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Comment out snic0 until it gets updated to the newer scsi code.


# 6f96f72b 14-Feb-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Add ISDN entries to LINT.


# 4cba4555 14-Feb-1995 Ugen J.S. Antsilevich <ugen@FreeBSD.org>

pseudo-device snp 3
Example entry for snoop.


# 9da6a15a 12-Feb-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Pick a more sensible default for # of ptys, add comment that this can
go as high as 64 now.


# b60d4a5d 09-Feb-1995 Atsushi Murai <amurai@FreeBSD.org>

Delete a redundant line - "options TUN" and Add explanation for
"pseudo-device tun" as same as other device.


# cfc9f621 09-Feb-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

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


# 2cd01159 06-Feb-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

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>


# 4530be52 05-Feb-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Bring PCVT's config files into the tree.
Submitted by: mh


# 2d3f9865 30-Jan-1995 Atsushi Murai <amurai@FreeBSD.org>

Add Tunnel device for ppp (iijppp)


# 98886235 30-Jan-1995 Andrey A. Chernov <ache@FreeBSD.org>

Describe default MAXCONS value: 12


# e05407d8 27-Jan-1995 Poul-Henning Kamp <phk@FreeBSD.org>

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>


# 89d8fc79 26-Jan-1995 Andrey A. Chernov <ache@FreeBSD.org>

MAXCONS option described


# 87fcda46 25-Jan-1995 Andrey A. Chernov <ache@FreeBSD.org>

Remove FAT_CURSOR, it is already non-existent during several
last syscons versions


# b5d89ca8 25-Jan-1995 Bruce Evans <bde@FreeBSD.org>

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.


# 673f8dc3 25-Jan-1995 Jean-Marc Zucconi <jmz@FreeBSD.org>

Add: device joy0 at isa? port "IO_GAME" (joystick)


# 94187a78 24-Jan-1995 Paul Richards <paul@FreeBSD.org>

is to lnc changes


# 3691d2b9 22-Jan-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Add support for Olof Johansson's WD7000 driver.
Submitted by: Olof Johansson <offe@ludd.luth.se>
Obtained from:


# 0dd1eea1 13-Jan-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Put UCONSOLE back - I was wrong, it's still used in one last place.
Submitted by: ollivier


# 09c42f85 12-Jan-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

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.


# 2f6df264 07-Jan-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

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


# 2d859864 26-Dec-1994 Andreas Schulz <ats@FreeBSD.org>

Add examples for the sony and the panasonic drivers.


# 59d8d13f 22-Dec-1994 Garrett Wollman <wollman@FreeBSD.org>

Added `ds', a black-hole network interface.


# fc0a941a 17-Dec-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Bump LINT's symtab space.


# cdf25f37 17-Dec-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Add Fred Cawthorne's GPIB driver.
Submitted by: fcawth@delphi.umd.edu


# 8c664261 16-Dec-1994 Bruce Evans <bde@FreeBSD.org>

Uncomment DISKSLICE; it should work now (for drivers that support it).


# 784cf072 15-Dec-1994 Poul-Henning Kamp <phk@FreeBSD.org>

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


# 0d2d94f6 13-Dec-1994 Garrett Wollman <wollman@FreeBSD.org>

Add ahc driver, more symtab space.


# 3aa06999 13-Dec-1994 Garrett Wollman <wollman@FreeBSD.org>

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.


# 9ba0e7c3 11-Dec-1994 Bruce Evans <bde@FreeBSD.org>

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.


# 3339606d 10-Dec-1994 Andreas Schulz <ats@FreeBSD.org>

Document the options DUMMY_NOPS and TUNE_1542.


# 663afbc3 03-Dec-1994 Scott Mace <smace@FreeBSD.org>

Make CHILD_MAX and OPEN_MAX a tunable parameter.


# 83401efa 02-Dec-1994 Garrett Wollman <wollman@FreeBSD.org>

Add Cronyx/Sigma files and config information; delete outdated config files.


# 0e01a1ca 27-Nov-1994 Andreas Schulz <ats@FreeBSD.org>

Expand again the SYMTAB_SPACE for LINT.


# 9ec2a4b3 24-Nov-1994 Stefan Eßer <se@FreeBSD.org>

Added #define PROBE_VERBOSE and description (PCI chip set boot messages)
Reviewed by:
Submitted by:
Obtained from:


# 5783a8ff 15-Nov-1994 Bruce Evans <bde@FreeBSD.org>

The SYMTAB_SPACE bloatometer was 40% out of date.


# ada9d061 08-Nov-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Add back ze0 driver; somebody took it out of _both_ LINT and GENERIC,
kinda hosing the laptop folks.


# 98020fdd 06-Nov-1994 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# b851eb15 03-Nov-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Eliminate USERCONFIG. This option is now standard.


# d29895dc 01-Nov-1994 Garrett Wollman <wollman@FreeBSD.org>

Fix Jordan's misplaced IPFIREWALL option. Fix style of other previous commits.
Document ARP_PROXYALL.


# 95b926ab 30-Oct-1994 Joerg Wunsch <joerg@FreeBSD.org>

Documented the FDSEEKWAIT option.


# 100ba1a6 28-Oct-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

IP Firewall code from Daniel Boulet and J.S.Antsilevich
Submitted by: danny ugen


# d1a27c8d 26-Oct-1994 Garrett Wollman <wollman@FreeBSD.org>

Stylistic changes.


# cb725137 26-Oct-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Enable USERCONFIG and document it in LINT.


# 3c43212a 24-Oct-1994 Søren Schmidt <sos@FreeBSD.org>

Added sea0 - Seagate driver lines to config


# 6a8d6623 20-Oct-1994 Garrett Wollman <wollman@FreeBSD.org>

LINT: vastly restructured so that it's actually useful for something
Makefile.i386: make definition of STRIP unconditional.


# c47b6376 19-Oct-1994 Poul-Henning Kamp <phk@FreeBSD.org>

According to a quick reading of sources, one experiment and Bruce's word:
aha, ahb and bt all on "irq ?" now.


# 12396a6a 19-Oct-1994 Poul-Henning Kamp <phk@FreeBSD.org>

Bruce told me to: Make uha0 use irq ?


# 4da5299d 15-Oct-1994 Poul-Henning Kamp <phk@FreeBSD.org>

Sanitized a little bit. All SCSI is now "controllers" and LINT is more
sorted now.


# 70c0b54c 04-Oct-1994 Andrey A. Chernov <ache@FreeBSD.org>

USE_RTC_CENTURY added


# 8819d6ec 03-Oct-1994 Poul-Henning Kamp <phk@FreeBSD.org>

I added "pserudo-device gzip" as default.


# fae772f7 01-Oct-1994 David Greenman <dg@FreeBSD.org>

Added Cortex-I Frame Grabber by Paul S. LaFollette, Jr.

Submitted by: Paul S. LaFollette, Jr.


# 93e9832a 01-Oct-1994 Poul-Henning Kamp <phk@FreeBSD.org>

#Driver for Advaced Power Management (also need options APM)
-device apm0 isa?
+device apm0 at isa?


# 3af6b652 30-Sep-1994 David Greenman <dg@FreeBSD.org>

Added options APM and device apm0 for Advanced Power Management support.


# af27b9fc 28-Sep-1994 Garrett Wollman <wollman@FreeBSD.org>

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''.


# 33e7ce7c 28-Sep-1994 Garrett Wollman <wollman@FreeBSD.org>

LKMs are no longer options, so remove the `options LKM' from LINT.


# 5c370a2e 28-Sep-1994 Stefan Eßer <se@FreeBSD.org>

Added entries for PCI and NCR device drivers.


# 0dc7d907 27-Sep-1994 Poul-Henning Kamp <phk@FreeBSD.org>

Added
options DIAGNOSTIC
options MSDOSFS_DEBUG


# 31208007 26-Sep-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Jim Babb's port of the AIC6360 code.
Submitted by: babb
Obtained from: NetBSD


# 7bf31424 24-Sep-1994 Andrey A. Chernov <ache@FreeBSD.org>

HARDFONTS option documented


# 16b49b3e 23-Sep-1994 David Greenman <dg@FreeBSD.org>

Removed last vestige of MULTICAST option.


# c9b1d604 22-Sep-1994 Garrett Wollman <wollman@FreeBSD.org>

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.


# 3f9a6982 19-Sep-1994 Doug Rabson <dfr@FreeBSD.org>

Added MSDOSFS option.


# 12cada71 16-Sep-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

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.


# 66ce0eae 12-Sep-1994 Poul-Henning Kamp <phk@FreeBSD.org>

Added DSI_SOFT_MODEM


# 2c2006d8 11-Sep-1994 Andreas Schulz <ats@FreeBSD.org>

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.


# e3245836 09-Sep-1994 Geoff Rehmet <csgr@FreeBSD.org>

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:


# 2ac8be82 05-Sep-1994 Andreas Schulz <ats@FreeBSD.org>

Reviewed by:
Delete the hints to the sg driver. This thing was never finished and
has now been beaten by the sea driver.


# 9aba88bf 31-Aug-1994 David Greenman <dg@FreeBSD.org>

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.


# f1a9c715 28-Aug-1994 David Greenman <dg@FreeBSD.org>

Made a little more up to date.


# d5e4441d 27-Aug-1994 David Greenman <dg@FreeBSD.org>

Updated this a bit. It's still woefully out of date.


# e9d16791 18-Aug-1994 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# 0bf1d791 18-May-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Remove the now bogus IP_VAT_COMPAT.


# 33b061c9 17-May-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Add line for IP_VAT_COMPAT, documenting it.


# e3178a06 17-May-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Fold in the changes to support IP multicasting, from Jim Lowe et al.


# 3759860c 17-May-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

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.


# 45b4c36f 17-May-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Add descriptions of ALLOW_CONFLICT_* options we want to doc for now
(only 2). Add entry for psm0 (PS/2 mouse).


# 7d46c3b6 13-May-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Remove confusing (as they are now unnecessary) comments about
INACCURATE_MICROTIME_IS_OK. Document what pca0 is.


# cfecaf32 29-Apr-1994 Gary Clark II <gclarkii@FreeBSD.org>

Added GPL_MATH_EMULATE to options
This should not be used in binary distributions.


# 9ad380ab 23-Apr-1994 Garrett Wollman <wollman@FreeBSD.org>

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.


# 0897a95d 22-Apr-1994 Andrey A. Chernov <ache@FreeBSD.org>

device pca0 added


# bc906632 12-Apr-1994 Andrey A. Chernov <ache@FreeBSD.org>

snd7 config line corrected, irqaremoved


# cea06d47 07-Apr-1994 Andrey A. Chernov <ache@FreeBSD.org>

Remove unneded irq/drq/vector from snd?


# 32128f4c 06-Apr-1994 David Greenman <dg@FreeBSD.org>

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.


# c7ba7a5e 04-Apr-1994 Poul-Henning Kamp <phk@FreeBSD.org>

corrected pointer to sound.doc


# 27408f32 19-Mar-1994 Garrett Wollman <wollman@FreeBSD.org>

More symtab space.


# 11e4fa43 14-Mar-1994 Garrett Wollman <wollman@FreeBSD.org>

Added David Mills' kernel NTP PLL code. The current version of NTP does
not yet speak to this code.


# 63a74862 11-Mar-1994 Steven Wallace <swallace@FreeBSD.org>

Removed EXCLUDE_<driver> for sound drivers so that all sound drivers
are compiled into kernel. Users are referred to sound doc for info.


# 62d15ccc 11-Mar-1994 Steven Wallace <swallace@FreeBSD.org>

Added appropriate entries into files.i386 for snd drivers in /sys/i386/isa/sound
Added new snd drivers and EXCLUDE_<driver> options to LINT.


# 9b73b5a0 27-Feb-1994 Poul-Henning Kamp <phk@FreeBSD.org>

dcfclk driver obsoleted, sio/TIOCTIMESTAMP took over.


# 8d43398b 08-Feb-1994 Nate Williams <nate@FreeBSD.org>

Commented on what the mse0, mcd0, and lpt/lpa devices were used for.
(No functional changes)


# c1eeb17f 06-Feb-1994 Andrew Moore <alm@FreeBSD.org>

Add floppy tape support (missed these when changing G*)


# 1be30750 01-Feb-1994 Andrey A. Chernov <ache@FreeBSD.org>

BLANK_SAVER syscons option added


# 21c64a07 01-Feb-1994 Andrey A. Chernov <ache@FreeBSD.org>

Add FADE_SAVER option from new syscons.


# da59a31c 31-Jan-1994 David Greenman <dg@FreeBSD.org>

WINE/user LDT support from John Brezak, ported to FreeBSD by Jeffrey Hsu
<hsu@soda.berkeley.edu>.


# ec409824 29-Jan-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

Remove commented out PROCFS, it is standard.


# bcbd5c8c 28-Jan-1994 Andrey A. Chernov <ache@FreeBSD.org>

Set FIFO_TRIGGER in more human-readable form


# 690f540c 26-Jan-1994 Andrey A. Chernov <ache@FreeBSD.org>

Add FIFO_TRIGGER value for sio.c


# 7e9dd2e9 25-Jan-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

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 :-(


# bf0e6e53 24-Jan-1994 Andrey A. Chernov <ache@FreeBSD.org>

Sound driver options added


# f4767d9a 22-Jan-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

No longer need SYSVIPC option, any of the SYSV options now trigger the
kern/sysv_ipc.c file for inclusion in the kernel.


# 2ae37484 21-Jan-1994 David Greenman <dg@FreeBSD.org>

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).


# db703a94 16-Jan-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

Removed at clause from LINT since it was wrong and is no longer needed.


# 62167953 15-Jan-1994 Andreas Schulz <ats@FreeBSD.org>

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.


# b2aba261 10-Jan-1994 Andreas Schulz <ats@FreeBSD.org>

Now enabled the line for the 3C509 driver.


# 1668b3a8 09-Jan-1994 Andreas Schulz <ats@FreeBSD.org>

Added lines for an Etherlink III ( 3C509 ) driver.


# f3f1a1b5 06-Jan-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

SCSIDUMP option no longer needed, it is now standard.


# b935223e 05-Jan-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

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.


# 2620c42e 04-Jan-1994 Nate Williams <nate@FreeBSD.org>

Updated config files for new multi-controller wd.c driver and removed
outdated wx config file.


# 990ac0b7 19-Dec-1993 Garrett Wollman <wollman@FreeBSD.org>

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.


# aaf08d94 18-Dec-1993 Garrett Wollman <wollman@FreeBSD.org>

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.


# 6d01f02e 11-Dec-1993 David Greenman <dg@FreeBSD.org>

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.


# 699e9cf1 05-Dec-1993 Garrett Wollman <wollman@FreeBSD.org>

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).


# 57bb0ee4 17-Nov-1993 Rodney W. Grimes <rgrimes@FreeBSD.org>

New version of scsi code from Julian


# e13cc161 17-Nov-1993 Garrett Wollman <wollman@FreeBSD.org>

Increased symtab space and added two more options that don't do anything
(yet).


# 9cad5725 07-Nov-1993 Garrett Wollman <wollman@FreeBSD.org>

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!)


# 87e90eb9 07-Nov-1993 Garrett Wollman <wollman@FreeBSD.org>

Add options MACHVMCOMPAT and bump symtab space appropriately.


# cafa6f48 07-Nov-1993 Garrett Wollman <wollman@FreeBSD.org>

Fixed comment.


# aa2e423c 07-Nov-1993 Garrett Wollman <wollman@FreeBSD.org>

Added some more defines that weren't there before. Also bumped up
symtab space again.


# 3352eb48 06-Nov-1993 Garrett Wollman <wollman@FreeBSD.org>

Needed to bump up SYMTAB_SPACE again. (This really should be done by the
boot loader...)


# 6d873e8a 03-Nov-1993 Andreas Schulz <ats@FreeBSD.org>

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.


# 69637c74 30-Oct-1993 Jordan K. Hubbard <jkh@FreeBSD.org>

Add example entries for syscons screen savers and cursor shape.


# e597e911 23-Oct-1993 Jordan K. Hubbard <jkh@FreeBSD.org>

Needed to bump symtab space even more (to 102452).


# 35686319 23-Oct-1993 Jordan K. Hubbard <jkh@FreeBSD.org>

Enabled all sound drivers by default.


# dd442d34 23-Oct-1993 Jordan K. Hubbard <jkh@FreeBSD.org>

Removed comments from LINT file, left small example for SoundBlaster
in its place and moved commentary into /sys/i386/doc/sound.doc


# ce551cce 23-Oct-1993 Jordan K. Hubbard <jkh@FreeBSD.org>

Add config + files information for new Linux soundcard driver


# e2aa2f4e 19-Oct-1993 Nate Williams <nate@FreeBSD.org>

Updated LINT to have the mse0 config line


# ec43e20a 18-Oct-1993 Rodney W. Grimes <rgrimes@FreeBSD.org>

Correct config line for ie0 per Garrett Wollman.


# 5e89f9d8 12-Oct-1993 Rodney W. Grimes <rgrimes@FreeBSD.org>

Add ie0 (ATT ether net driver) and mcd0 (Mitsumi cd rom driver)


# f87a3269 08-Oct-1993 Rodney W. Grimes <rgrimes@FreeBSD.org>

>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


# 1af37a7b 30-Sep-1993 Rodney W. Grimes <rgrimes@FreeBSD.org>

Remove old ethernet drivers if_ec, if_ne, and if_we from config files
and from files.i386, they are no longer supported.


# ea3edf6d 30-Sep-1993 Rodney W. Grimes <rgrimes@FreeBSD.org>

Remove we0, since it is being removed from the system


# 71b9f75a 30-Sep-1993 Rodney W. Grimes <rgrimes@FreeBSD.org>

Only configure one cd unit now since the code is fully dynamic,
add comment about this to the device cd0 line.


# a0ea6f1c 26-Sep-1993 Rodney W. Grimes <rgrimes@FreeBSD.org>

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.


# 2eca4bfa 24-Sep-1993 Rodney W. Grimes <rgrimes@FreeBSD.org>

Enable SYSVSHM, and set SHMMAXPGS=64.


# e13ca98c 21-Sep-1993 Rodney W. Grimes <rgrimes@FreeBSD.org>

Increased pseudo-device bpfilter from 1 unit to 4 units


# 3bb1d96c 12-Sep-1993 Rodney W. Grimes <rgrimes@FreeBSD.org>

Put the uha0 controller at its proper default IRQ of 14! Thanks Warner!


# fa96c3be 06-Sep-1993 Rodney W. Grimes <rgrimes@FreeBSD.org>

Enabled options NS since it can now be compiled!


# e501a581 31-Aug-1993 Rodney W. Grimes <rgrimes@FreeBSD.org>

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


# 34f949ae 28-Aug-1993 Rodney W. Grimes <rgrimes@FreeBSD.org>

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.


# 17825e17 26-Aug-1993 Rodney W. Grimes <rgrimes@FreeBSD.org>

Kernel support for ppp 1.3 + fixes


# 22665bad 26-Aug-1993 Rodney W. Grimes <rgrimes@FreeBSD.org>

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


# 2365e64f 21-Aug-1993 Rodney W. Grimes <rgrimes@FreeBSD.org>

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!