History log of /freebsd-current/sys/amd64/conf/GENERIC
Revision Date Author Comments
# 8a8daeaf 23-Apr-2024 Lexi Winter <lexi@le-Fay.ORG>

sys/*/conf: do not use "../../conf/" when including std.*

Since config(8) searches sys/conf by default, there's no need to specify
the full relative path here; replace it by the filename alone.

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


# 4f8f9d70 23-Apr-2024 Lexi Winter <lexi@le-Fay.ORG>

sys: add conf/std.debug, generic debugging options

The new sys/conf/std.debug contains the list of debugging options
enabled by default in -CURRENT, so they don't need to be listed
individually in every kernel config.

The enabled options are the set of all debug options which were enabled
for the GENERIC kernel on any platform. This means some architectures
now have debugging options enabled in GENERIC which weren't previously
enabled:

- amd64: [1]
- arm64: [2]
- arm: [2]. [3]
- i386: [1], [2]
- powerpc: [1], [2], [3]
- riscv: [2]

[1] ALT_BREAK_TO_DEBUGGER is now enabled.
[2] BUF_TRACKING, FULL_BUF_TRACKING, and QUEUE_MACRO_DEBUG_TRASH are now
enabled.
[3] DEADLKRES is now enabled.

While here, move the documentation for the (commented out) K*SAN options
for amd64 from GENERIC to NOTES.

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


# bfd2ce2a 10-Apr-2024 Stephen J. Kiernan <stevek@FreeBSD.org>

efidev: Allow for optionally including efidev and efirtc into the kernel

Require both "efirt" and "efidev" in order to build in efidev
Require both "efirt" and "efirtc" in order to build in efirtc

Update FIRECRACKER, GENERIC, and NOTES for amd64
Update NOTES and std.arm for arm64

Reviewed by: imp
Obtained from: Juniper Networks, Inc.
Differential Revision: https://reviews.freebsd.org/D44745


# 89c1e54a 18-Feb-2024 Bjoern A. Zeeb <bz@FreeBSD.org>

ath(4): always enable 11n

Enabling 11n for ath(4) so far was handled by a kernel option, which
was only enabled for certain kernel configurations.
In order to allow loading ath(4) as a module with 11n support on
all platforms, remove the kernel option and unconditionally enable
11n in ath(4).

Reported by: pkubaj
Discussed with: adrian in D43549.
Reviewed by: adrian, imp
Differential Revision: https://reviews.freebsd.org/D43964


# 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/


# a51f81c2 07-Aug-2023 Ed Maste <emaste@FreeBSD.org>

x86: move EARLY_AP_STARTUP into DEFAULTS

EARLY_AP_STARTUP was introduced in 2016 (commit fdce57a04219) with note:

As a transition aid, the new behavior is moved under a new
kernel option (EARLY_AP_STARTUP). This will allow the option
to be turned off if need be during initial testing. I hope to
enable this on x86 by default in a followup commit ...

It was enabled by default, but became effectively mandatory (on x86)
some time later. Move it to DEFAULTS to avoid an unbootable system if
the option is left out of a custom kernel configuration file.

Reported by: wollman
Reviewed by: jhb
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D41352


# 37c8ee88 07-Aug-2023 Marius Strobl <marius@FreeBSD.org>

ath(4): Remove MIPS AHB frontend and join PCI one w/ main support again

Following the removal of general MIPS support, there's no longer a need
to have the AHB bus-frontend in place, which according to Linux sources
also isn't used with any non-MIPS SoCs. For simplicity, PCI bus support
is only made conditional on the main one again, i. e. device ath_pci is
removed, and built into the main module, i. e. if_ath_pci.ko obsoleted,
respectively.
Effectively, this reverts the following commits and associated changes:
dba9c8597747c6c9bf3d2ec68f7eb90552878dc7
e849bb3ecbb1963344a22ae77fc96f89fbebf40c

Approved by: adrian
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D41354


# 411942a7 13-May-2023 Piotr Pawel Stefaniak <pstef@FreeBSD.org>

GENERIC: remove a stray space character


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

twe: Remove driver

Sponsored by: Netflix


# 95e4f5ef 25-Apr-2023 Mateusz Guzik <mjg@FreeBSD.org>

x86: whack pmspcv from GENERIC

The driver is enormous and rarely used.

text data bss dec hex filename
23076646 1870505 4415872 29363023 0x1c00b4f kernel.before
20017433 1870305 4416000 26303738 0x1915cfa kernel.after

People using the driver will need to add pmspcv_load="YES" to
their loader.conf.

Reviewed by: jhb
Relnotes: yes
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D39816


# b2c50bb9 18-Feb-2021 Elliott Mitchell <ehem+freebsd@m5p.com>

xen/efi: make Xen PV EFI clock optional

The present implementation is only for x86. Other architectures need
adjustments for querying presence of EFI.

Xen's EFI support is also quite troublesome on non-x86. This is being
slowly remedied, but until in better shape the EFI clock functionality
should be disabled.

Reviewed by: royger
Differential Revision: https://reviews.freebsd.org/D31065


# 71883128 13-Apr-2023 Henri Hennebert <hlh@restart.be>

rtsx: Add plug-and-play info

Add MODULE_PNP_INFO() to the driver to make it autoload if not linked
statically into the kernel. Remove the device from amd64/i386 GENERIC.

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


# 3091d980 02-Apr-2023 Alexander V. Chernikov <melifaro@FreeBSD.org>

netlink: add NETLINK to the DEFAULTS for each architecture

NETLINK is going to replace rtsock and a number of other ioctl/sysctl interfaces.
In-base utilies such as route(8), netstat(8) and soon ifconfig(8)
are being converted to use netlink sockets as a transport between
kernel and userland.
In the current configuration, it still possible have the kernel
without NETLINK (`nooptions NETLINK`) and use the aforementioned
utilies by buidling the world with `WITHOUT_NETLINK` src.conf knob.
However, this approach does not cover the cases when person unintentionally
builds a custom kernel without netlink and tries to use the standard userland.

This change adds `option NETLINK` to the default options for each
architecture, fixing the custom kernel issue.
For arm, this change uses `std.armv6` and `std.armv7` (netlink already in)
instead of DEFAULTS.

Reviewed By: imp
Differential Revision: https://reviews.freebsd.org/D39339


# dd6f6030 23-Feb-2023 Mike Karels <karels@FreeBSD.org>

amd64 kernel config: 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.


# 692e19cf 13-Jan-2023 Alexander V. Chernikov <melifaro@FreeBSD.org>

netlink: add netlink to GENERIC@amd64

Netlink is a communication protocol defined in RFC 3549. It is async,
TLV-based protocol, providing 1-1 and 1-many communications between kernel
and userland. Netlink is currently used in Linux kernel to modify, read and
subscribe for nearly all networking states. Interface state, addresses, routes,
firewall, rules, fibs, etc, are controlled via Netlink.

Netlink support was added in D36002. It has got a number of improvements and
first customers since then:
* net/bird2 got netlink support, enabling route multipath in FreeBSD
* netlink-based devd notifications are being worked on ( D37574 ).
* linux(4) fully supports and depends on Netlink

Enabling Netlink in GENERIC targets two goals.
The first one is to provide stability for the third-party userland applications,
so they can rely on the fact that netlink always exists since 14.0 and potentially 13.2.
Loadable module makes life of the app delepers harder. For example, `net/bird2` can be
either build with netlink or rtsock support, but not both.

The second goal is to enable gradual conversion of the base userland tools
to use netlink(4) interfaces. Converting tools like netstat (D36529), route,
ifconfig one-by-one simplifies testing and addressing the feedback.
Othewise, switching all base to use netlink at once may be too big of a leap.

This change targets amd64, the other architectures will follow soon.

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


# 6a70a0c8 11-Aug-2022 Maxim Sobolev <sobomax@FreeBSD.org>

Document implicit dependencies of the mlx5(4) & friends.

MFC after: 2 weeks


# 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


# 28dcccc1 28-Nov-2021 Ed Maste <emaste@FreeBSD.org>

x86 GENERIC/MINIMAL: group sc(4) devices together

The vga and splash devices are part of the sc(4) system console. vt(4)
uses the vt_vga driver instead, and has some limited splash support
directly in vt_core.c. Leave the sc(4) options in GENERIC/MINIMAL (for
now) but group them together under an sc(4) comment.

Sponsored by: The FreeBSD Foundation


# b8cf1c5c 27-Nov-2021 Ed Maste <emaste@FreeBSD.org>

Remove options VESA from x86 GENERIC

options VESA / vesa.ko provides VESA Bios Extensions (VBE) support for
the legacy sc(4) console. It is not used by the default console, vt(4).

There is a report[1] of an incompatibility between VESA and the Nvidia
driver breaking suspend/resume. Since VESA is not used by the default
configuration anyway, just remove options VESA from GENERIC. The kernel
module is still available and may be loaded by sc(4) users who want to
select a VBE mode.

(Note that vt(4) does not support selecting a VBE mode. The loader can
set a VBE mode and vt(4) will use it via the vt_vbefb driver.)

[1] https://lists.freebsd.org/archives/freebsd-hackers/2021-November/000469.html

PR: 253733
Reported by: Stefan Blachmann [1]
Reviewed by: imp, manu, tsoome
Relnotes: Yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D33141


# 228e020a 27-Nov-2021 Ed Maste <emaste@FreeBSD.org>

Correct syscons description in i386 and amd64 configs

Commit 2d6f6d63733d switched to vt(4) as the default console.

Sponsored by: The FreeBSD Foundation


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

twa: Remove

Belatedly remove twa(4). It was supposed to go before 13.0, but was
overlooked.

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


# 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


# 7e3c9ec9 12-Nov-2021 Warner Losh <imp@FreeBSD.org>

tcp: better congestion control defaults

Define CC_NEWRENO in all the appropriate DEFAULTS and std.* config
files. It's the default congestion control algorithm. Add code to cc.c
so that CC_DEFAULT is "newreno" if it's not overriden in the config
file.

Sponsored by: Netflix
Fixes: b8d60729deef ("tcp: Congestion control cleanup.")
Revired by: manu, hselasky, jhb, glebius, tuexen
Differential Revision: https://reviews.freebsd.org/D32964


# 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


# 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


# 7af4475a 02-Sep-2021 Alexander Motin <mav@FreeBSD.org>

vmd(4): Major driver refactoring

- Re-implement pcib interface to use standard pci bus driver on top of
vmd(4) instead of custom one.
- Re-implement memory/bus resource allocation to properly handle even
complicated configurations.
- Re-implement interrupt handling to evenly distribute children's MSI/
MSI-X interrupts between available vmd(4) MSI-X vectors and setup them
to be handled by standard OS mechanisms with minimal overhead, except
sharing when unavoidable.

Successfully tested on Dell XPS 13 laptop with Core i7-1185G7 CPU (VMD
device ID 0x9a0b) and single NVMe SSD, dual-booting with Windows 10.

Successfully tested on Supermicro X11DPI-NT motherboard with Xeon(R)
Gold 6242R CPUs (VMD device ID 0x201d), simultaneously handling NVMe
SSD on one PCIe port and PLX bridge with 3 NVMe and 1 AHCI SSDs on
another. Handles SSD hot-plug (except Optane 905p for some reason,
which are not detected until manual bus rescan) and enabled IOMMU
(directly connected SSDs work, but ones connected to the PLX fail
without errors from IOMMU).

MFC after: 2 weeks
Sponsored by: iXsystems, Inc.
Differential revision: https://reviews.freebsd.org/D31762


# 6c69c6bb 04-Aug-2021 Adam Fenn <adam@fenn.io>

kvm_clock: KVM paravirtual clock support

Add support for the KVM paravirtual clock device.

Sponsored by: Juniper Networks, Inc.
Sponsored by: Klara, Inc.
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D29733


# 82bf6a25 02-Aug-2021 Roger Pau Monné <royger@FreeBSD.org>

xen/timer: fix amd64 LINT kernel build

On amd64 XENHVM depends on the xentimer device for PVH early startup,
so both should be added or removed together (like the current
dependency with xenpci). Fix this by adding xentimer to NOTES and
updating the comments on the config files. Note that on i386 there's
no such dependency between xentimer and XENHVM, since there's no PVH
support.

While there also fix the MINIMAL i386 build to include the xentimer,
so it keeps the same functionality as before xentimer was split from
XENHVM.

Reported by: lwhsu
PR: 257549
Fixes: ae5981274815 ('xen/timer: make xen timer optional')


# ae598127 13-Jan-2014 Julien Grall <julien@xen.org>

xen/timer: make xen timer optional

The timer is not used on ARM.

Submitted by: Elliott Mitchell <ehem+freebsd@m5p.com>
Reviewed by: royger
Differential Revision: https://reviews.freebsd.org/D29041


# 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


# 517904de 11-Jul-2021 Peter Grehan <grehan@FreeBSD.org>

igc(4): Introduce new driver for the Intel I225 Ethernet controller.

This controller supports 2.5G/1G/100MB/10MB speeds, and allows
tx/rx checksum offload, TSO, LRO, and multi-queue operation.

The driver was derived from code contributed by Intel, and modified
by Netgate to fit into the iflib framework.

Thanks to Mike Karels for testing and feedback on the driver.

Reviewed by: bcr (manpages), kbowling, scottl, erj
MFC after: 1 month
Relnotes: yes
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D30668


# 30b915d7 11-Jun-2021 Olivier Houchard <cognet@FreeBSD.org>

an: Remove driver

Now that an(4) is gone, remove it from GENERIC kernel config files.

Reported by: flo


# c1a14887 20-May-2021 Ceri Davies <ceri@FreeBSD.org>

sys/*/conf/*, docs: fix links to handbook

While here, fix all links to older en_US.ISO8859-1 documentation
in the src/ tree.

PR: 255026
Reported by: Michael Büker <freebsd@michael-bueker.de>
Reviewed by: dbaio
Approved by: blackend (mentor), re (gjb)
MFC after: 10 days
Differential Revision: https://reviews.freebsd.org/D30265


# 6993187a 24-Apr-2021 Alexander V. Chernikov <melifaro@FreeBSD.org>

Add FIB_ALGO to GENERIC on amd64/arm64.

Option `FIB_ALGO` gates new modular fib lookup functionality,
enabling more performant routing table lookups and improving
control plane convergence under the load.

Detailed feature description is available in D27401.

Reviewed By: olivier, gnn
Differential Revision: https://reviews.freebsd.org/D28434


# d0673fe1 23-Feb-2021 Allan Jude <allanjude@FreeBSD.org>

smbios: Move smbios driver out from x86 machdep code

Add it to the x86 GENERIC and MINIMAL kernels

Sponsored by: Ampere Computing LLC
Submitted by: Klara Inc.
Reviewed by: rpokala
Differential Revision: https://reviews.freebsd.org/D28738


# 5832a3e3 03-Feb-2021 Konstantin Belousov <kib@FreeBSD.org>

amd64 GENERIC: compile in mlx5en(4)

Reviewed by: hselasky, manu
Sponsored by: NVidia Networking/Mellanox Technologies
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D28469


# aa776623 04-Feb-2021 Muhammad Moinur Rahman <bofh@FreeBSD.org>

Add a comment notifying that "device axp" requires miibus for build.

Although if RJ-45 interface is not being used the miibus is not required
but miibus is a build time dependency.

Reviewed by: imp, manu, rajesh1.kumar@amd.com
Approved by: imp, manu, rajesh1.kumar@amd.com
Differential Revision: https://reviews.freebsd.org/D28465


# 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


# 074a91f7 13-Jan-2021 John Baldwin <jhb@FreeBSD.org>

Enable accelerated AES-XTS software crypto in GENERIC.

In particular, using GELI on a root filesystem will only use
accelerated software crypto drivers if they are available before the
root filesystem is mounted. While these modules can be loaded from
the loader, including them in GENERIC provides a better out-of-the-box
experience for users.

Both aesni(4) and armv8crypto(4) provide accelerated implementations
of the default cipher used by GELI (AES-XTS) in addition to other
ciphers.

Reviewed by: mhorne, allanjude, markj
Differential Revision: https://reviews.freebsd.org/D28100


# 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


# 01f2e864 08-Oct-2020 Vladimir Kondratyev <wulf@FreeBSD.org>

hid: Import usbhid - USB transport backend for HID subsystem.

This change implements hid_if.m methods for HID-over-USB protocol [1].

Also, this change adds USBHID_ENABLED kernel option which changes
device_probe() priority and adds/removes PnP records to prefer usbhid
over ums, ukbd, wmt and other USB HID device drivers and vice-versa.

The module is based on uhid(4) driver. It is disabled by default for
now due to conflicts with existing USB HID drivers.

[1] https://www.usb.org/sites/default/files/hid1_11.pdf

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


# b1f1b07f 06-Oct-2020 Vladimir Kondratyev <wulf@FreeBSD.org>

hid: Import iichid - I2C transport backend for HID subsystem

This implements hid_if.m methods for HID-over-I2C protocol [1].

Following kernel options are added:

IICHID_SAMPLING - Enable support for a sampling mode as interrupt
resource acquisition is not always possible in a case
of GPIO interrupts.
IICHID_DEBUG - Enable debug output.

The module is based on prior Marc Priggemeyer work (D16698).

[1] http://download.microsoft.com/download/7/d/d/7dd44bb7-2a7a-4505-ac1c-7227d3d96d5b/hid-over-i2c-protocol-spec-v1-0.docx

Differential revision: https://reviews.freebsd.org/D27892


# 19758786 04-Oct-2020 Vladimir Kondratyev <wulf@FreeBSD.org>

hid: Import functions and constants required by new subsystem

This does an import of quirk stubs, debugging macros from USB code and
numerous usage constants used by dependent drivers.

Besides, this change renames some functions to get a better matching
with userland library and NetBSD/OpenBSD HID code. Namely:

- Old hid_report_size() renamed to hid_report_size_max()
- New hid_report_size() calculates size of given report rather than
maximum size of all reports.
- hid_get_data_unsigned() renamed to hid_get_udata()
- hid_put_data_unsigned() renamed to hid_put_udata()

Compat shim functions are provided in usbhid.h to make possible compile
of legacy code unmodified after this change.

Reviewed by: manu, hselasky
Differential revision: https://reviews.freebsd.org/D27887


# 67de2db2 04-Oct-2020 Vladimir Kondratyev <wulf@FreeBSD.org>

Factor-out hardware-independent part of USB HID support to new module

It will be used by the upcoming HID-over-i2C implementation. Should be
no-op, except hid.ko module dependency is to be added to affected drivers.

Reviewed by: hselasky, manu
Differential revision: https://reviews.freebsd.org/D27867


# d5fe384b 14-Dec-2020 Alexander V. Chernikov <melifaro@FreeBSD.org>

Enable ROUTE_MPATH support in GENERIC kernels.

Ability to load-balance traffic over multiple path is a must-have thing for routers.
It may be used by the servers to balance outgoing traffic over multiple default gateways.

The previous implementation, RADIX_MPATH stayed in the shadow for too long.
It was not well maintained, which lead us to a vicious circle - people were using
non-contiguous mask or firewalls to achieve similar goals. As a result, some routing
daemons implementation still don't have multipath support enabled for FreeBSD.

Turning on ROUTE_MPATH by default would fix it. It will allow to reduce networking
feature gap to other operating systems. Linux and OpenBSD enabled similar support
at least 5 years ago.

ROUTE_MPATH does not consume memory unless actually used. It enables around ~1k LOC.

It does not bring any behaviour changes for userland.
Additionally, feature is (temporarily) turned off by the net.route.multipath sysctl
defaulting to 0.

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


# 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


# a4a10b37 30-Nov-2020 Toomas Soome <tsoome@FreeBSD.org>

Add VT driver for VBE framebuffer device

Implement vt_vbefb to support Vesa Bios Extensions (VBE) framebuffer with VT.
vt_vbefb is built based on vt_efifb and is assuming similar data for
initialization, use MODINFOMD_VBE_FB to identify the structure vbe_fb
in kernel metadata.

struct vbe_fb, is populated by boot loader, and is passed to kernel via
metadata payload.

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


# f120ad6b 27-Nov-2020 Ruslan Bukin <br@FreeBSD.org>

o Move options IOMMU from Debugging section back to the Bus section
where it originally was. The bug introduced in r366267.
o Remove options IOMMU from i386/MINIMAL as we don't have it in
i386/GENERIC.

Reported by: Harry Schmalzbauer <freebsd@omnilan.de>
Reviewed by: kib
Sponsored by: Innovate DSbD
Differential Revision: https://reviews.freebsd.org/D27399


# 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


# 7113afc8 11-Oct-2020 Emmanuel Vadot <manu@FreeBSD.org>

10Gigabit Ethernet driver for AMD SoC

This patch has the driver for 10Gigabit Ethernet controller in AMD
SoC. This driver is written compatible to the Iflib framework. The
existing driver is for the old version of hardware. The submitted
driver here is for the recent versions of the hardware where the Ethernet
controller is PCI-E based.

Submitted by: Rajesh Kumar <rajesh1.kumar@amd.com>
MFC after: 1 month
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D25793


# 6186bfbd 29-Sep-2020 Ruslan Bukin <br@FreeBSD.org>

Rename kernel option ACPI_DMAR to IOMMU.
This is mostly needed for a common arm64/amd64 iommu code.

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


# b798ef64 24-Jul-2020 Alex Richardson <arichardson@FreeBSD.org>

Include TMPFS in all the GENERIC kernel configs

Being able to use tmpfs without kernel modules is very useful when building
small MFS_ROOT kernels without a real file system.
Including TMPFS also matches arm/GENERIC and the MIPS std.MALTA configs.

Compiling TMPFS only adds 4 .c files so this should not make much of a
difference to NO_MODULES build times (as we do for our minimal RISC-V
images).

Reviewed By: br (earlier version for riscv), brooks, emaste
Differential Revision: https://reviews.freebsd.org/D25317


# e64080e7 16-Jul-2020 Mark Johnston <markj@FreeBSD.org>

Switch from SCTP to SCTP_SUPPORT in GENERIC configs.

This removes SCTP from in-tree kernel configuration files. Now, SCTP
can be enabled by simply loading the module, as discussed on
freebsd-net@.

Reviewed by: tuexen
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D25611


# 71d10453 26-May-2020 Eric Joyner <erj@FreeBSD.org>

ice(4): Introduce new driver for Intel E800 Ethernet controllers

The ice(4) driver is the driver for the Intel E8xx series Ethernet
controllers; currently with codenames Columbiaville and
Columbia Park.

These new controllers support 100G speeds, as well as introducing
more queues, better virtualization support, and more offload
capabilities. Future work will enable virtual functions (like
in ixl(4)) and the other functionality outlined above.

For full functionality, the kernel should be compiled with
"device ice_ddp" like in the amd64 NOTES file, and/or
ice_ddp_load="YES" should be added to /boot/loader.conf so that
the DDP package file included in this commit can be downloaded
to the adapter. Otherwise, the adapter will fall back to a single
queue mode with limited functionality.

A man page for this driver will be forthcoming.

MFC after: 1 month
Relnotes: yes
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D21959


# 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.


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

Remove the trm(4) driver

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


# 849aef49 21-Nov-2019 Andrew Turner <andrew@FreeBSD.org>

Port the NetBSD KCSAN runtime to FreeBSD.

Update the NetBSD Kernel Concurrency Sanitizer (KCSAN) runtime to work in
the FreeBSD kernel. It is a useful tool for finding data races between
threads executing on different CPUs.

This can be enabled by enabling KCSAN in the kernel config, or by using the
GENERIC-KCSAN amd64 kernel. It works on amd64 and arm64, however the later
needs a compiler change to allow -fsanitize=thread that KCSAN uses.

Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D22315


# 052e12a5 14-Nov-2019 Josh Paetzel <jpaetzel@FreeBSD.org>

Add the pvscsi driver to the tree.

This driver allows to usage of the paravirt SCSI controller
in VMware products like ESXi. The pvscsi driver provides a
substantial performance improvement in block devices versus
the emulated mpt and mps SCSI/SAS controllers.

Error handling in this driver has not been extensively tested
yet.

Submitted by: vbhakta@vmware.com
Relnotes: yes
Sponsored by: VMware, Panzura
Differential Revision: D18613


# 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


# f2521a76 09-Oct-2019 Doug Ambrisko <ambrisko@FreeBSD.org>

This driver attaches to the Intel VMD drive and connects a new PCI domain
starting at the max. domain, and then work down. Then existing FreeBSD
drivers will attach. Interrupt routing from the VMD MSI-X to the NVME
drive is not well known, so any interrupt is sent to all children that
register.

VROC used Intel meta data so graid(8) works with it. However, graid(8)
supports RAID 0,1,10 for read and write. I have some early code to
support writes with RAID 5. Note that RAID 5 can have life issues
with SSDs since it can cause write amplification from updating the parity
data.

Hot plug support needs a change to skip the following check to work:
if (pcib_request_feature(dev, PCI_FEATURE_HP) != 0) {
in sys/dev/pci/pci_pci.c.

Looked at by: imp, rpokala, bcr
Differential Revision: https://reviews.freebsd.org/D21383


# 9923b641 02-Oct-2019 Ed Maste <emaste@FreeBSD.org>

Remove host binary object drivers from GENERIC

Four drivers (hpt27xx, hptmv, hptnr, hptrr, hpt27xx) include precompiled
binary objects; have users load them as modules if they are needed.

Additional work (i.e., integrating devmatch) required before MFC.

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


# 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


# 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


# 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


# 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


# 542970fa 09-May-2019 Andrew Gallatin <gallatin@FreeBSD.org>

Remove IPSEC from GENERIC due to performance issues

Having IPSEC compiled into the kernel imposes a non-trivial
performance penalty on multi-threaded workloads due to IPSEC
refcounting. In my benchmarks of multi-threaded UDP
transmit (connected sockets), I've seen a roughly 20% performance
penalty when the IPSEC option is included in the kernel (16.8Mpps
vs 13.8Mpps with 32 senders on a 14 core / 28 HTT Xeon
2697v3)). This is largely due to key_addref() incrementing and
decrementing an atomic reference count on the default
policy. This cause all CPUs to stall on the same cacheline, as it
bounces between different CPUs.

Given that relatively few users use ipsec, and that it can be
loaded as a module, it seems reasonable to ask those users to
load the ipsec module so as to avoid imposing this penalty on the
GENERIC kernel. Its my hope that this will make FreeBSD look
better in "out of the box" benchmark comparisons with other
operating systems.

Many thanks to ae for fixing auto-loading of ipsec.ko when
ifconfig tries to configure ipsec, and to cy for volunteering
to ensure the the racoon ports will load the ipsec.ko module

Reviewed by: cem, cy, delphij, gnn, jhb, jpaetzel
Differential Revision: https://reviews.freebsd.org/D20163


# 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


# 7e804fd5 10-Feb-2019 Conrad Meyer <cem@FreeBSD.org>

Revert r343713 temporarily

The COVERAGE option breaks xtoolchain-gcc GENERIC kernel early boot
extremely badly and hasn't been fixed for the ~week since it was committed.
Please enable for GENERIC only when it doesn't do that.

Related fallout reported by: lwhsu, tuexen (pr 235611)


# 634a8a88 02-Feb-2019 Andrew Turner <andrew@FreeBSD.org>

Enable COVERAGE and KCOV by default on arm64 and amd64.

This allows userspace to trace the kernel using the coverage sanitizer
found in clang. It will also allow other coverage tools to be built as
modules and attach into the same framework.

Sponsored by: DARPA, AFRL


# 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


# 524553f5 29-Jan-2019 Andrew Turner <andrew@FreeBSD.org>

Extract the coverage sanitizer KPI to a new file.

This will allow multiple consumers of the coverage data to be compiled
into the kernel together. The only requirement is only one can be
registered at a given point in time, however it is expected they will
only register when the coverage data is needed.

A new kernel conflig option COVERAGE is added. This will allow kcov to
become a module that can be loaded as needed, or compiled into the
kernel.

While here clean up the #include style a little.

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


# 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.


# b3c0d957 12-Jan-2019 Andrew Turner <andrew@FreeBSD.org>

Add support for the Clang Coverage Sanitizer in the kernel (KCOV).

When building with KCOV enabled the compiler will insert function calls
to probes allowing us to trace the execution of the kernel from userspace.
These probes are on function entry (trace-pc) and on comparison operations
(trace-cmp).

Userspace can enable the use of these probes on a single kernel thread with
an ioctl interface. It can allocate space for the probe with KIOSETBUFSIZE,
then mmap the allocated buffer and enable tracing with KIOENABLE, with the
trace mode being passed in as the int argument. When complete KIODISABLE
is used to disable tracing.

The first item in the buffer is the number of trace event that have
happened. Userspace can write 0 to this to reset the tracing, and is
expected to do so on first use.

The format of the buffer depends on the trace mode. When in PC tracing just
the return address of the probe is stored. Under comparison tracing the
comparison type, the two arguments, and the return address are traced. The
former method uses on entry per trace event, while the later uses 4. As
such they are incompatible so only a single mode may be enabled.

KCOV is expected to help fuzzing the kernel, and while in development has
already found a number of issues. It is required for the syzkaller system
call fuzzer [1]. Other kernel fuzzers could also make use of it, either
with the current interface, or by extending it with new modes.

A man page is currently being worked on and is expected to be committed
soon, however having the code in the kernel now is useful for other
developers to use.

[1] https://github.com/google/syzkaller

Submitted by: Mitchell Horne <mhorne063@gmail.com> (Earlier version)
Reviewed by: kib
Testing by: tuexen
Sponsored by: DARPA, AFRL
Sponsored by: The FreeBSD Foundation (Mitchell Horne)
Differential Revision: https://reviews.freebsd.org/D14599


# af14df77 12-Nov-2018 Niclas Zeising <zeising@FreeBSD.org>

Add evdev support to amd64 and i386 kernels

Include evdev support and drivers in the amd64 and i386 GENERIC and MINIMAL
kernels. Evdev is used by X and wayland to handle input devices, and this
change, together with upcomming changes in ports will make us handle input
devices better in graphical UIs.

Reviewed by: wulf, bapt, imp
Approved by: imp
Differential Revision: https://reviews.freebsd.org/D17912


# 3869df5d 06-Nov-2018 Andrew Turner <andrew@FreeBSD.org>

Add the KUBSAN options to the arm64 and amd64 GENERIC kernel config files.
As the kernel file size may be too large to run with a stock loader comment
them out for now.

Sponsored by: DARPA, AFRL


# be352d20 31-Oct-2018 Kyle Evans <kevans@FreeBSD.org>

Compile in VERBOSE_SYSINIT support by default, remain silent by default

The loader tunable 'debug.verbose_sysinit' may be used to toggle verbosity.
This is added to the debugging section of these kernconfs to be turned off
in stable branches for clarity of intent.

MFC after: never


# 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


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

Remove the gone_in(12) devices.

We're planning on removing adv, adw, aha, aic, bt, ncv, nsp, and stg
soon. They have been tagged for removal in 12. At least get them out
of GENERIC.

MFC after: 3 days
Relnotes: yes


# 77c1fcec 12-Oct-2018 Eric Joyner <erj@FreeBSD.org>

ixl/iavf(4): Change ixlv to iavf and update it to use iflib(9)

Finishes the conversion of the 40Gb Intel Ethernet drivers to iflib(9) for
FreeBSD 12.0, and fixes numerous bugs in both ixl(4) and iavf(4).

This commit also re-adds the VF driver to GENERIC since it now compiles and
functions.

The VF driver name was changed from ixlv(4) to iavf(4) because the VF driver is
now intended to be used with future products, not just with Fortville/Fort Park
VFs.

A man page update that documents these drivers is forthcoming in a separate
commit.

Reviewed by: sbruno@, kbowling@
Tested by: jeffrey.e.pieper@intel.com
Approved by: re (gjb@)
Relnotes: yes
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D16429


# 6b45121a 07-Oct-2018 Michael Tuexen <tuexen@FreeBSD.org>

Address the warning regarding duplicate option 'GEOM_PART_GPT' when
configuring kernels for i386, amd64, and arm64.
The 'GEOM_PART_GPT' option was added to the DEFAULTS configuration
in r337967.

Approved by: re (kib@)
Reviewed by: ler@
Differential Revision: https://reviews.freebsd.org/D17458
Sponsored by: Netflix, Inc.


# e382dd47 11-Sep-2018 Mateusz Guzik <mjg@FreeBSD.org>

amd64: enable options NUMA in GENERIC and MINIMAL

Reviewed by: gallatin, cem, scottl
Approved by: re (kib)
Relnotes: yes
Sponsored by: Dell EMC Isilon, Netflix
Differential Revision: https://reviews.freebsd.org/D17059


# 8cd385fd 18-Aug-2018 John Baldwin <jhb@FreeBSD.org>

Make 'device crypto' lines more consistent.

- In configurations with a pseudo devices section, move 'device crypto'
into that section.
- Use a consistent comment. Note that other things common in kernel
configs such as GELI also require 'device crypto', not just IPSEC.

Reviewed by: rgrimes, cem, imp
Differential Revision: https://reviews.freebsd.org/D16775


# 164138e7 30-Jul-2018 Kyle Evans <kevans@FreeBSD.org>

amd64/GENERIC: Enable EFIRT by default

As noted in UDPATING, the new loader tunable efi.rt_disabled may be used to
disable EFIRT at runtime. It should have no effect if you are not booted via
UEFI boot.

MFC after: 6 weeks


# 1031d839 18-Jun-2018 Eric Joyner <erj@FreeBSD.org>

ixl(4): Update to use iflib

Update the driver to use iflib in order to bring performance,
maintainability, and (hopefully) stability benefits to the driver.

The driver currently isn't completely ported; features that are missing:

- VF driver (ixlv)
- SR-IOV host support
- RDMA support

The plan is to have these re-added to the driver before the next FreeBSD release.

Reviewed by: gallatin@
Contributions by: gallatin@, mmacy@, krzysztof.galazka@intel.com
Tested by: jeffrey.e.pieper@intel.com
MFC after: 1 month
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D15577


# 892bdccc 19-May-2018 Mark Johnston <markj@FreeBSD.org>

Enable kernel dump features in GENERIC for most platforms.

This turns on support for kernel dump encryption and compression, and
netdump. arm and mips platforms are omitted for now, since they are more
constrained and don't benefit as much from these features.

Reviewed by: cem, manu, rgrimes
Tested by: manu (arm64)
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D15465


# 3dc3b123 18-May-2018 Ed Maste <emaste@FreeBSD.org>

amd64 GENERIC: correct whitespace on smartpqi entry


# 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


# ef270ab1 30-Mar-2018 Kenneth D. Merry <ken@FreeBSD.org>

Bring in the Broadcom/Emulex Fibre Channel driver, ocs_fc(4).

The ocs_fc(4) driver supports the following hardware:

Emulex 16/8G FC GEN 5 HBAS
LPe15004 FC Host Bus Adapters
LPe160XX FC Host Bus Adapters

Emulex 32/16G FC GEN 6 HBAS
LPe3100X FC Host Bus Adapters
LPe3200X FC Host Bus Adapters

The driver supports target and initiator mode, and also supports FC-Tape.

Note that the driver only currently works on little endian platforms. It
is only included in the module build for amd64 and i386, and in GENERIC
on amd64 only.

Submitted by: Ram Kishore Vegesna <ram.vegesna@broadcom.com>
Reviewed by: mav
MFC after: 5 days
Relnotes: yes
Sponsored by: Broadcom
Differential Revision: https://reviews.freebsd.org/D11423


# 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.


# 18a75309 25-Feb-2018 Patrick Kelsey <pkelsey@FreeBSD.org>

Greatly reduce the number of #ifdefs supporting the TCP_RFC7413 kernel option.

The conditional compilation support is now centralized in
tcp_fastopen.h and tcp_var.h. This doesn't provide the minimum
theoretical code/data footprint when TCP_RFC7413 is disabled, but
nearly all the TFO code should wind up being removed by the optimizer,
the additional footprint in the syncache entries is a single pointer,
and the additional overhead in the tcpcb is at the end of the
structure.

This enables the TCP_RFC7413 kernel option by default in amd64 and
arm64 GENERIC.

Reviewed by: hiren
MFC after: 1 month
Sponsored by: Limelight Networks
Differential Revision: https://reviews.freebsd.org/D14048


# 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


# c15269cc 29-Nov-2017 Scott Long <scottl@FreeBSD.org>

It's time to retire AHC_REG_PRETTY_PRINT and AHD_REG_PRETTY_PRINT from
the standard kernels. They are still available as custom compile
options.


# a2aef24a 29-Oct-2017 Eitan Adler <eadler@FreeBSD.org>

Update several more URLs

- Primarily http -> https
- Primarily FreeBSD project URLs


# 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


# 9d0ec2a9 01-Sep-2017 Josh Paetzel <jpaetzel@FreeBSD.org>

Revert r323087

This needs more thinking out and consensus, and the commit message
was wrong AND there was a typo in the commit.

pointyhat: jpaetzel


# 0be04b10 01-Sep-2017 Josh Paetzel <jpaetzel@FreeBSD.org>

Take options IPSEC out of GENERIC

PR: 220170
Submitted by: delphij
Reviewed by: ae, glebius
MFC after: 2 weeks
Differential Revision: D11806


# 3b65550e 31-Aug-2017 Josh Paetzel <jpaetzel@FreeBSD.org>

Allow kldload tcpmd5

PR: 220170
MFC after: 2 weeks


# cb6b8299 09-Feb-2017 Eric Joyner <erj@FreeBSD.org>

ixl(4): Update to 1.7.12-k

Refresh upstream driver before impending conversion to iflib.

Major new features:

- Support for Fortville-based 25G adapters
- Support for I2C reads/writes

(To prevent getting or sending corrupt data, you should set
dev.ixl.0.debug.disable_fw_link_management=1 when using I2C
[this will disable link!], then set it to 0 when done. The driver implements
the SIOCGI2C ioctl, so ifconfig -v works for reading I2C data,
but there are read_i2c and write_i2c sysctls under the .debug sysctl tree
[the latter being useful for upper page support in QSFP+]).

- Addition of an iWARP client interface (so the future iWARP driver for
X722 devices can communicate with the base driver).
- Compiling this option in is enabled by default, with "options IXL_IW" in
GENERIC.

Differential Revision: https://reviews.freebsd.org/D9227
Reviewed by: sbruno
MFC after: 2 weeks
Sponsored by: Intel Corporation


# 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


# b6638164 16-Dec-2016 John Baldwin <jhb@FreeBSD.org>

Enable EARLY_AP_STARTUP on amd64 and i386 kernels by default.

PR: 199321, 203682
MFC after: 2 months
Sponsored by: Netflix


# 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


# 8532d381 31-Oct-2016 Conrad Meyer <cem@FreeBSD.org>

Add BUF_TRACKING and FULL_BUF_TRACKING buffer debugging

Upstream the BUF_TRACKING and FULL_BUF_TRACKING buffer debugging code.
This can be handy in tracking down what code touched hung bios and bufs
last. The full history is especially useful, but adds enough bloat that
it shouldn't be enabled in release builds.

Function names (or arbitrary string constants) are tracked in a
fixed-size ring in bufs. Bios gain a pointer to the upper buf for
tracking. SCSI CCBs gain a pointer to the upper bio for tracking.

Reviewed by: markj
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D8366


# 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


# 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


# edafb5a3 03-May-2016 Pedro F. Giffuni <pfg@FreeBSD.org>

sys/amd64: Small spelling fixes.

No functional change.


# 0c29fe6d 14-Apr-2016 Sepherosa Ziehau <sephe@FreeBSD.org>

hyperv: Deprecate HYPERV option by moving Hyper-V IDT vector into vmbus

Submitted by: Jun Su <junsu microsoft com>
Reviewed by: jhb, kib, sephe
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5910


# 7ecf8cab 12-Apr-2016 John Baldwin <jhb@FreeBSD.org>

Enable DEVICE_NUMA with up to 8 domains by default on amd64.

8 memory domains should handle a quad-socket board with dual-domain
processors.

Reviewed by: kib
Relnotes: maybe?
Differential Revision: https://reviews.freebsd.org/D5893


# 2e0002c1 26-Nov-2015 Ed Maste <emaste@FreeBSD.org>

Fix whitespace on addition of IPSEC option


# 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.


# 75333e64 03-Aug-2015 Warner Losh <imp@FreeBSD.org>

Add pmspvc device back to GENERIC. The issues with the device playing
grabby hands with other driver's devices has been solved.

MFC After: 3 weeks


# 45e1c1a3 31-Jul-2015 Glen Barber <gjb@FreeBSD.org>

Pull pmspcv (pms(4)) from GENERIC. It has PCI ID conflicts
with ahd(4), mvs(4), and likely other drivers.

MFC after: immediately
With hat: re
Sponsored by: The FreeBSD Foundation


# 2ec930ef 14-Jul-2015 Patrick Kelsey <pkelsey@FreeBSD.org>

Revert inadvertent change to amd64/GENERIC.


# 8aa7fdbd 14-Jul-2015 Patrick Kelsey <pkelsey@FreeBSD.org>

Add netmap support for ixgbe SRIOV VFs (that is, to if_ixv).

Differential Revision: https://reviews.freebsd.org/D2923
Reviewed by: erj, gnn
Approved by: jmallett (mentor)
Sponsored by: Norse Corp, Inc.


# f4c1eac7 14-Jul-2015 Christian Brueffer <brueffer@FreeBSD.org>

Spell crypto correctly.


# 4e1bc9a0 07-Jul-2015 Achim Leubner <achim@FreeBSD.org>

Driver 'pmspcv' added. Supports PMC-Sierra PM8001/8081/8088/8089/8074/8076/8077 SAS/SATA HBA Controllers.


# 3839369c 04-Jul-2015 George V. Neville-Neil <gnn@FreeBSD.org>

Enable IPSEC in all GENERIC kernels.

Universe and kernel build tests passed 4 July 2015

PR: 128030
Sponsored by: Rubicon Communications (Netgate)


# 6e3471bd 14-May-2015 Jim Harris <jimharris@FreeBSD.org>

Add nvme and nvd drivers to GENERIC for amd64 and i386.

MFC after: 3 days
Sponsored by: Intel


# ba8f0eb8 14-May-2015 Edward Tomasz Napierala <trasz@FreeBSD.org>

Build GENERIC with RACCT/RCTL support by default. Note that it still
needs to be enabled by adding "kern.racct.enable=1" to /boot/loader.conf.

Differential Revision: https://reviews.freebsd.org/D2407
Reviewed by: emaste@, wblock@
MFC after: 1 month
Relnotes: yes
Sponsored by: The FreeBSD Foundation


# da2f98a1 29-Apr-2015 Wei Hu <whu@FreeBSD.org>

Microsoft vmbus, storage and other related driver enhancements for HyperV.
- Vmbus multi channel support.
- Vector interrupt support.
- Signal optimization.
- Storvsc driver performance improvement.
- Scatter and gather support for storvsc driver.
- Minor bug fix for KVP driver.
Thanks royger, jhb and delphij from FreeBSD community for the reviews
and comments. Also thanks Hovy Xu from NetApp for the contributions to
the storvsc driver.

PR: 195238
Submitted by: whu
Reviewed by: royger, jhb, delphij
Approved by: royger
MFC after: 2 weeks
Relnotes: yes
Sponsored by: Microsoft OSTC


# 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


# 9bfb1e36 28-Feb-2015 Ryan Stone <rstone@FreeBSD.org>

Implement interface to create SR-IOV Virtual Functions

Implement the interace to create SR-IOV Virtual Functions (VFs).
When a driver registers that they support SR-IOV by calling
pci_setup_iov(), the SR-IOV code creates a new node in /dev/iov
for that device. An ioctl can be invoked on that device to
create VFs and have the driver initialize them.

At this point, allocating memory I/O windows (BARs) is not
supported.

Differential Revision: https://reviews.freebsd.org/D76
Reviewed by: jhb
MFC after: 1 month
Sponsored by: Sandvine Inc.


# d4ff1726 24-Jan-2015 Dag-Erling Smørgrav <des@FreeBSD.org>

Remove ISA NICs. Anyone still using these on amd64 can build their
own kernel.


# 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


# a614ff4d 02-Jan-2015 Scott Long <scottl@FreeBSD.org>

Fix a missed comment from r276526.


# 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@


# 169760a4 04-Nov-2014 George V. Neville-Neil <gnn@FreeBSD.org>

Add support for netmap in GENERIC by default.


# 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.


# 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


# 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


# 30dbb3ea 30-Jun-2014 Ed Maste <emaste@FreeBSD.org>

Add vt(4) to GENERIC and retire the separate VT config

vt(4) and sc(4) can now coexist in the same kernel. To choose the vt
driver, set the loader tunable kern.vty=vt .


# 3f1afabf 05-Jun-2014 Warner Losh <imp@FreeBSD.org>

Restore comments accidentally removed.

MFC after: 3 days


# 991554f2 02-May-2014 Kenneth D. Merry <ken@FreeBSD.org>

Bring in the mpr(4) driver for LSI's MPT3 12Gb SAS controllers.

This is derived from the mps(4) driver, but it supports only the 12Gb
IT and IR hardware including the SAS 3004, SAS 3008 and SAS 3108.

Some notes about this driver:
o The 12Gb hardware can do "FastPath" I/O, and that capability is included in
this driver.

o WarpDrive functionality has been removed, since it isn't supported in
the 12Gb driver interface.

o The Scatter/Gather list handling code is significantly different between
the 6Gb and 12Gb hardware. The 12Gb boards support IEEE Scatter/Gather
lists.

Thanks to LSI for developing and testing this driver for FreeBSD.

share/man/man4/mpr.4:
mpr(4) man page.

sys/dev/mpr/*:
mpr(4) driver files.

sys/modules/Makefile,
sys/modules/mpr/Makefile:
Add a module Makefile for the mpr(4) driver.

sys/conf/files:
Add the mpr(4) driver.

sys/amd64/conf/GENERIC,
sys/i386/conf/GENERIC,
sys/mips/conf/OCTEON1,
sys/sparc64/conf/GENERIC:
Add the mpr(4) driver to all config files that currently
have the mps(4) driver.

sys/ia64/conf/GENERIC:
Add the mps(4) and mpr(4) drivers to the ia64 GENERIC
config file.

sys/i386/conf/XEN:
Exclude the mpr module from building here.

Submitted by: Steve McConnell <Stephen.McConnell@lsi.com>
MFC after: 3 days
Tested by: Chris Reeves <chrisr@spectralogic.com>
Sponsored by: LSI, Spectra Logic
Relnotes: LSI 12Gb SAS driver mpr(4) added


# 3ad1a091 25-Mar-2014 Warner Losh <imp@FreeBSD.org>

Rather than require a makeoptions DEBUG to get debug correct,
add it in kern.mk, but only if we're using clang. While this
option is supported by both clang and gcc, in the future there
may be changes to clang which change the defaults that require
a tweak to build our kernel such that other tools in our tree
will work. Set a good example by forcing -gdwarf-2 only for
clang builds, and only if the user hasn't specified another
dwarf level already. Update UPDATING to reflect the changed
state of affairs. This also keeps us from having to update
all the ARM kernels to add this, and also keeps us from
in the future having to update all the MIPS kernels and is
one less place the user will have to know to do something
special for clang and one less thing developers will need
to do when moving an architecture to clang.

Reviewed by: ian@
MFC after: 1 week


# 6a5b1a35 16-Mar-2014 Warner Losh <imp@FreeBSD.org>

Align all comments in config files on same column. This consistency
helps when bits and pieces of GENERIC from i386 or amd64 are cut and
pasted into other architecture's config files (which in the case of
ARM had gotten rather akimbo).


# 3dbe595b 14-Mar-2014 Robert Watson <rwatson@FreeBSD.org>

Revert a small portion of r263198 left over from local testing: don't
enable PCB groups and RSS by default [yet].


# 7527624e 14-Mar-2014 Robert Watson <rwatson@FreeBSD.org>

Several years after initial development, merge prototype support for
linking NIC Receive Side Scaling (RSS) to the network stack's
connection-group implementation. This prototype (and derived patches)
are in use at Juniper and several other FreeBSD-using companies, so
despite some reservations about its maturity, merge the patch to the
base tree so that it can be iteratively refined in collaboration rather
than maintained as a set of gradually diverging patch sets.

(1) Merge a software implementation of the Toeplitz hash specified in
RSS implemented by David Malone. This is used to allow suitable
pcbgroup placement of connections before the first packet is
received from the NIC. Software hashing is generally avoided,
however, due to high cost of the hash on general-purpose CPUs.

(2) In in_rss.c, maintain authoritative versions of RSS state intended
to be pushed to each NIC, including keying material, hash
algorithm/ configuration, and buckets. Provide software-facing
interfaces to hash 2- and 4-tuples for IPv4 and IPv6 using both
the RSS standardised Toeplitz and a 'naive' variation with a hash
efficient in software but with poor distribution properties.
Implement rss_m2cpuid()to be used by netisr and other load
balancing code to look up the CPU on which an mbuf should be
processed.

(3) In the Ethernet link layer, allow netisr distribution using RSS as
a source of policy as an alternative to source ordering; continue
to default to direct dispatch (i.e., don't try and requeue packets
for processing on the 'right' CPU if they arrive in a directly
dispatchable context).

(4) Allow RSS to control tuning of connection groups in order to align
groups with RSS buckets. If a packet arrives on a protocol using
connection groups, and contains a suitable hardware-generated
hash, use that hash value to select the connection group for pcb
lookup for both IPv4 and IPv6. If no hardware-generated Toeplitz
hash is available, we fall back on regular PCB lookup risking
contention rather than pay the cost of Toeplitz in software --
this is a less scalable but, at my last measurement, faster
approach. As core counts go up, we may want to revise this
strategy despite CPU overhead.

Where device drivers suitably configure NICs, and connection groups /
RSS are enabled, this should avoid both lock and line contention during
connection lookup for TCP. This commit does not modify any device
drivers to tune device RSS configuration to the global RSS
configuration; patches are in circulation to do this for at least
Chelsio T3 and Intel 1G/10G drivers. Currently, the KPI for device
drivers is not particularly robust, nor aware of more advanced features
such as runtime reconfiguration/rebalancing. This will hopefully prove
a useful starting point for refinement.

No MFC is scheduled as we will first want to nail down a more mature
and maintainable KPI/KBI for device drivers.

Sponsored by: Juniper Networks (original work)
Sponsored by: EMC/Isilon (patch update and merge)


# 7f47cbd3 15-Feb-2014 Christian Brueffer <brueffer@FreeBSD.org>

Retire the nve(4) driver; nfe(4) has been the default driver for NVIDIA
nForce MCP adapters for a long time.

Yays: jhb, remko, yongari
Nays: none on the current and stable lists


# 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


# 86be9f0d 28-Oct-2013 Konstantin Belousov <kib@FreeBSD.org>

Import the driver for VT-d DMAR hardware, as specified in the revision
1.3 of Intelб╝ Virtualization Technology for Directed I/O Architecture
Specification. The Extended Context and PASIDs from the rev. 2.2 are
not supported, but I am not aware of any released hardware which
implements them. Code does not use queued invalidation, see comments
for the reason, and does not provide interrupt remapping services.

Code implements the management of the guest address space per domain
and allows to establish and tear down arbitrary mappings, but not
partial unmapping. The superpages are created as needed, but not
promoted. Faults are recorded, fault records could be obtained
programmatically, and printed on the console.

Implement the busdma(9) using DMARs. This busdma backend avoids
bouncing and provides security against misbehaving hardware and driver
bad programming, preventing leaks and corruption of the memory by wild
DMA accesses.

By default, the implementation is compiled into amd64 GENERIC kernel
but disabled; to enable, set hw.dmar.enable=1 loader tunable. Code is
written to work on i386, but testing there was low priority, and
driver is not enabled in GENERIC. Even with the DMAR turned on,
individual devices could be directed to use the bounce busdma with the
hw.busdma.pci<domain>:<bus>:<device>:<function>.bounce=1 tunable. If
DMARs are capable of the pass-through translations, it is used,
otherwise, an identity-mapping page table is constructed.

The driver was tested on Xeon 5400/5500 chipset legacy machine,
Haswell desktop and E5 SandyBridge dual-socket boxes, with ahci(4),
ata(4), bce(4), ehci(4), mfi(4), uhci(4), xhci(4) devices. It also
works with em(4) and igb(4), but there some fixes are needed for
drivers, which are not committed yet. Intel GPUs do not work with
DMAR (yet).

Many thanks to John Baldwin, who explained me the newbus integration;
Peter Holm, who did all testing and helped me to discover and
understand several incredible bugs; and to Jim Harris for the access
to the EDS and BWG and for listening when I have to explain my
findings to somebody.

Sponsored by: The FreeBSD Foundation
MFC after: 1 month


# 6b48eebe 11-Oct-2013 Glen Barber <gjb@FreeBSD.org>

Document XENHVM and xenpci are mutually inclusive.

Submitted by: gibbs
Approved by: re (delphij)
Sponsored by: The FreeBSD Foundation


# 91aff610 20-Sep-2013 Glen Barber <gjb@FreeBSD.org>

Put 'device hyperv' back in amd64/GENERIC, incorrectly removed with
r255736.

Pointed out by: gibbs
Approved by: re (delphij)
Sponsored by: The FreeBSD Foundation


# 566a5f50 20-Sep-2013 Justin T. Gibbs <gibbs@FreeBSD.org>

Merge Xen PVHVM support into the GENERIC kernel config for both
amd64 and i386.

Submitted by: Roger Pau Monné
Sponsored by: Citrix Systems R&D
Reviewed by: gibbs
Approved by: re (blanket Xen)
MFC after: 2 weeks

sys/amd64/amd64/mp_machdep.c:
sys/amd64/include/cpu.h:
sys/i386/i386/mp_machdep.c:
sys/i386/include/cpu.h:
- Introduce two new CPU hooks for initialization and resume
purposes. This allows us to get rid of the XENHVM ifdefs in
mp_machdep, and also sets some hooks into common code that can be
used by other hypervisor implementations.

sys/amd64/conf/XENHVM:
sys/i386/conf/XENHVM:
- Remove these configs now that GENERIC has builtin support for Xen
HVM.

sys/kern/subr_smp.c:
- Make sure there are no pending IPIs when suspending a system.

sys/x86/xen/hvm.c:
- Add cpu init and resume vectors that are called from mp_machdep
using the new hooks.
- Only clear the vcpu_info mapping data on resume. It is already
clear for the BSP on a cold boot and is set correctly as APs
are started.
- Gate xen_hvm_init_cpu only to systems running under Xen.

sys/x86/xen/xen_intr.c:
- Gate the setup of event channels only to systems running under Xen.


# 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


# d83d7361 18-Sep-2013 Peter Grehan <grehan@FreeBSD.org>

Reconnect the hyperv drivers back into GENERIC now that the
disengage driver issue has been resolved.

Approved by: re@ (gjb)


# 03c6abfd 16-Sep-2013 Bryan Venteicher <bryanv@FreeBSD.org>

Add vmx(4) to i386 and amd64 GENERIC

Approved by: re (gjb)


# b90fcf02 14-Sep-2013 Peter Grehan <grehan@FreeBSD.org>

Pull the hyperv drivers from GENERIC until the fix to the disengage
driver to make it only probe when running on hyperv is reviewed and
tested.

Approved by: re (rodrigc)


# 46be218d 21-Aug-2013 David E. O'Brien <obrien@FreeBSD.org>

The PADLOCK_RNG and RDRAND_RNG kernel options are now devices.
Thus "device padlock_rng" and "device rdrand_rng" should be
used instead of "options PADLOCK_RNG" & "options RDRAND_RNG".

Requested by: so@ (des)
Submitted by: obrien, arthurmesh@gmail.com
Obtained from: Juniper Networks


# 417ffc66 18-Aug-2013 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Add process descriptors support to the GENERIC kernel. It is already being
used by the tools in base systems and with sandboxing more and more tools
the usage should only increase.

Submitted by: Mariusz Zaborski <oshogbo@FreeBSD.org>
Sponsored by: Google Summer of Code 2013
MFC after: 1 month


# 9ba0691b 09-Aug-2013 Andriy Gapon <avg@FreeBSD.org>

follow up to r254051

- update powerpc/GENERIC64 as well, suggested by mdf
- update comments so that they make sense after the change, suggested by
jhb

X-MFC after: never (change specific to head)


# 818d282e 07-Aug-2013 Andriy Gapon <avg@FreeBSD.org>

enable KDB_TRACE in GENERICs

KDB_TRACE is not an alternative to DDB/etc, they are complementary.
So I do not see any reason to not enable KDB_TRACE by default.

X-MFC after: never (change specific to head)


# 0e6a0799 31-Jul-2013 David E. O'Brien <obrien@FreeBSD.org>

Back out r253779 & r253786.


# 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


# 15b996d7 18-Jul-2013 Peter Grehan <grehan@FreeBSD.org>

First cut at adding the hyperv drivers to GENERIC.
The files inventory should probably have the modules split
out into net/storage/common etc as the modules build is,
but this will do for now.


# 1fdeb165 06-Jul-2013 Xin LI <delphij@FreeBSD.org>

Import HighPoint DC Series Data Center HBA (DC7280 and R750) driver.
This driver works for FreeBSD/i386 and FreeBSD/amd64 platforms.

Many thanks to HighPoint for providing this driver.

MFC after: 1 day


# dce93cd0 24-May-2013 Achim Leubner <achim@FreeBSD.org>

Driver 'aacraid' added. Supports Adaptec by PMC RAID controller families Series 6, 7, 8 and upcoming products. Older Adaptec RAID controller families are supported by the 'aac' driver.

Approved by: scottl (mentor)


# 8ed98609 12-Apr-2013 Edward Tomasz Napierala <trasz@FreeBSD.org>

Remove ctl(4) from GENERIC. Also remove 'options CTL_DISABLE'
and kern.cam.ctl.disable tunable; those were introduced as a workaround
to make it possible to boot GENERIC on low memory machines.

With ctl(4) being built as a module and automatically loaded by ctladm(8),
this makes CTL work out of the box.

Reviewed by: ken
Sponsored by: FreeBSD Foundation


# 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


# 3a45b478 04-Mar-2013 Kenneth D. Merry <ken@FreeBSD.org>

Re-enable CTL in GENERIC on i386 and amd64, but turn on the CTL disable
tunable by default.

This will allow GENERIC configurations to boot on small memory boxes, but
not require end users who want to use CTL to recompile their kernel. They
can simply set kern.cam.ctl.disable=0 in loader.conf.

The eventual solution to the memory usage problem is to change the way
CTL allocates memory to be more configurable, but this should fix things
for small memory situations in the mean time.

UPDATING: Explain the change in the CTL configuration, and
how users can enable CTL if they would like to use
it.

sys/conf/options: Add a new option, CTL_DISABLE, that prevents CTL
from initializing.

ctl.c: If CTL_DISABLE is turned on, don't initialize.

i386/conf/GENERIC,
amd64/conf/GENERIC: Re-enable device ctl, and add the CTL_DISABLE
option.


# fe138cc2 02-Mar-2013 Adrian Chadd <adrian@FreeBSD.org>

Disable the ctl driver in GENERIC.

It unfortunately steals a fair chunk of RAM at startup even if it's not
actively used, which prevents FreeBSD VMs of 128MB from successfully
booting and running.


# 4752ed3d 01-Feb-2013 Eitan Adler <eadler@FreeBSD.org>

Remove support for plip from the GENERIC kernel as no systems in the
last 10 years require this support.

Discussed with: db
Discussed with: kib
Reviewed by: imp
Reviewed by: jhb
Reviewed by: -hackers
Approved by: cperciva (mentor)


# ae366ffc 13-Jan-2013 Bryan Venteicher <bryanv@FreeBSD.org>

Add VirtIO to the i386 and amd64 GENERIC kernels

This also removes the kludge from r239009 that covered only
the network driver.

Reviewed by: grehan
Approved by: grehan (mentor)
MFC after: 1 week


# 2d28bff3 04-Jan-2013 Neel Natu <neel@FreeBSD.org>

bhyve does not require a custom configuration file anymore so make the GENERIC
identical to the one in HEAD.

Obtained from: NetApp


# 0dcbedfa 03-Jan-2013 Konstantin Belousov <kib@FreeBSD.org>

Enable the UFS quotas for big-iron GENERIC kernels.

Discussed with: mckusick
MFC after: 2 weeks


# 36fca20f 03-Jan-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

As discussed on -current last October, remove the firewire drivers from
GENERIC.


# c5e3d0ab 13-Sep-2012 Konstantin Belousov <kib@FreeBSD.org>

Rename the IVY_RNG option to RDRAND_RNG.

Based on submission by: Arthur Mesh <arthurmesh@gmail.com>
MFC after: 2 weeks


# ef9461ba 05-Sep-2012 Konstantin Belousov <kib@FreeBSD.org>

Add support for new Intel on-CPU Bull Mountain random number
generator, found on IvyBridge and supposedly later CPUs, accessible
with RDRAND instruction.

From the Intel whitepapers and articles about Bull Mountain, it seems
that we do not need to perform post-processing of RDRAND results, like
AES-encryption of the data with random IV and keys, which was done for
Padlock. Intel claims that sanitization is performed in hardware.

Make both Padlock and Bull Mountain random generators support code
covered by kernel config options, for the benefit of people who prefer
minimal kernels. Also add the tunables to disable hardware generator
even if detected.

Reviewed by: markm, secteam (simon)
Tested by: bapt, Michael Moll <kvedulv@kvedulv.de>
MFC after: 3 weeks


# 0807ad74 04-Sep-2012 Xin LI <delphij@FreeBSD.org>

Add hpt27xx to GENERIC kernel for amd64 and i386 systems.

MFC after: 2 weeks


# 67944c45 25-Aug-2012 Glen Barber <gjb@FreeBSD.org>

Grammar fix: s/NIC's/NICs/

MFC after: 3 days


# 309dca01 01-Jul-2012 Xin LI <delphij@FreeBSD.org>

tws(4) is interfaced with CAM so move it to the same section.

Reported by: joel
MFC after: 3 days


# 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)


# 83567110 15-Jun-2012 Adrian Chadd <adrian@FreeBSD.org>

Oops - use the actual 11n enable option.


# 3342d830 14-Jun-2012 Adrian Chadd <adrian@FreeBSD.org>

Ok, ok. 802.11n can be on by default in GENERIC in -HEAD.

God help me.


# 81a5c20a 15-May-2012 Alexander Motin <mav@FreeBSD.org>

Rename enclosure management driver from "enc" back to "ses".
"enc" name is already occupied by the enc(4) -- Encapsulating Interface.


# c078c188 09-May-2012 Alexander Motin <mav@FreeBSD.org>

Add `options GEOM_RAID` into i386 and amd64 GENERIC kernels.

ataraid(4) previously was present there and having GEOM RAID is convinient.
Unlike other classes GEOM RAID can be set up from BIOS before install and
users are expecting it to be detected automatically.


# b3a397a8 08-May-2012 Brooks Davis <brooks@FreeBSD.org>

The DDB_CTF has little or nothing to do with the debugger so move it
next KDTRACE_HOOKS.


# e9acaa9a 20-Apr-2012 Brooks Davis <brooks@FreeBSD.org>

Enable DTrace hooks in GENERIC.

Reviewed by: gnn
Approved by: core (jhb, imp)
Requested by: a cast of thousands
MFC after: 3 days


# b78ebd64 24-Mar-2012 Marius Strobl <marius@FreeBSD.org>

Add cas(4), gem(4) and hme(4) to x86 GENERICs as suggested by netchild@ in
<20120222095239.Horde.0hpYHJjmRSRPRKzXsoFRbYk@webmail.leidinger.net>.
According to some private emails received, it apparently is not unpopular
to use at least Quad GigaSwift cards driven by cas(4) in x86 machines.

MFC after: 1 week


# f38f12f2 22-Mar-2012 Joel Dahl <joel@FreeBSD.org>

Add snd_cmi, snd_csa and snd_emu10kx to GENERIC on i386 and amd64.

The GPL infected parts which were blocking the inclusion of snd_csa
and snd_emu10kx in GENERIC have recently been removed from the tree.
I'm also adding snd_cmi to GENERIC, which I originally intended to
add when we enabled sound support by default.

Discussed with: jhb, pfg, Yuriy Tsibizov <yuriy.tsibizov@gfk.ru>
Approved by: jhb


# 92396a31 21-Mar-2012 Ed Schouten <ed@FreeBSD.org>

Remove pty(4) from our kernel configurations.

As of FreeBSD 8, this driver should not be used. Applications that use
posix_openpt(2) and openpty(3) use the pts(4) that is built into the
kernel unconditionally. If it turns out high profile depend on the
pty(4) module anyway, I'd rather get those fixed. So please report any
issues to me.

The pty(4) module is still available as a kernel module of course, so a
simple `kldload pty' can be used to run old-style pseudo-terminals.


# e883bb1a 05-Mar-2012 Jung-uk Kim <jkim@FreeBSD.org>

Fix few style nits.


# a65f78bf 04-Mar-2012 Robert Millan <rmh@FreeBSD.org>

Exclude USB drivers (except umass and ukbd) from main kernel image on i386
and amd64.

Reviewed by: hselasky, arch, usb
Approved by: kib (mentor)


# 62953748 02-Mar-2012 Jung-uk Kim <jkim@FreeBSD.org>

Add VESA option to GENERIC for amd64 and i386.

MFC after: 1 month


# f11c7f63 31-Jan-2012 Jim Harris <jimharris@FreeBSD.org>

Add isci(4) driver for amd64 and i386 targets.

The isci driver is for the integrated SAS controller in the Intel C600
(Patsburg) chipset. Source files in sys/dev/isci directory are
FreeBSD-specific, and sys/dev/isci/scil subdirectory contains
an OS-agnostic library (SCIL) published by Intel to control the SAS
controller. This library is used primarily as-is in this driver, with
some post-processing to better integrate into the kernel build
environment.

isci.4 and a README in the sys/dev/isci directory contain a few
additional details.

This driver is only built for amd64 and i386 targets.

Sponsored by: Intel
Reviewed by: scottl
Approved by: scottl


# 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


# 009d2032 29-Dec-2011 Robert Watson <rwatson@FreeBSD.org>

Add "options CAPABILITY_MODE" and "options CAPABILITIES" to GENERIC kernel
configurations for various architectures in FreeBSD 10.x. This allows
basic Capsicum functionality to be used in the default FreeBSD
configuration on non-embedded architectures; process descriptors are not
yet enabled by default.

MFC after: 3 months
Sponsored by: Google, Inc


# 686710f7 20-Nov-2011 Attilio Rao <attilio@FreeBSD.org>

Revert part of the r227758 which crept in.

Pointy hat: attilio
X-MFC: r227758


# ccdf2333 20-Nov-2011 Attilio Rao <attilio@FreeBSD.org>

Introduce macro stubs in the mutex implementation that will be always
defined and will allow consumers, willing to provide options, file and
line to locking requests, to not worry about options redefining the
interfaces.
This is typically useful when there is the need to build another
locking interface on top of the mutex one.

The introduced functions that consumers can use are:
- mtx_lock_flags_
- mtx_unlock_flags_
- mtx_lock_spin_flags_
- mtx_unlock_spin_flags_
- mtx_assert_
- thread_lock_flags_

Spare notes:
- Likely we can get rid of all the 'INVARIANTS' specification in the
ppbus code by using the same macro as done in this patch (but this is
left to the ppbus maintainer)
- all the other locking interfaces may require a similar cleanup, where
the most notable case is sx which will allow a further cleanup of
vm_map locking facilities
- The patch should be fully compatible with older branches, thus a MFC
is previewed (infact it uses all the underlying mechanisms already
present).

Comments review by: eadler, Ben Kaduk
Discussed with: kib, jhb
MFC after: 1 month


# 966d0ed1 08-Nov-2011 Kevin Lo <kevlo@FreeBSD.org>

Enable PCI MMC/SD support by default on i386 and amd64


# 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


# 6168545a 27-Oct-2011 Ken Smith <kensmith@FreeBSD.org>

Adjust the debugger options slightly. This should help me do the right
thing when changing the debugging options as part of head becoming a new
stable branch. It may also help people who for one reason or another want
to run head but don't want it slowed down by the debugging support.

Reviewed by: kib


# 7042aba7 19-Oct-2011 Ken Smith <kensmith@FreeBSD.org>

Add a warning about why sbp(4) is commented out so that curious folks
are forewarned they might wind up with a hole in their foot if they
decide to give it a try.

Suggested by: dougb


# 4c0ba9b7 18-Oct-2011 Ken Smith <kensmith@FreeBSD.org>

Comment out the sbp(4) driver for architectures that support it.

As part of the 8.0-RELEASE cycle this was done in stable/8 (r199112)
but was left alone in head so people could work on fixing an issue that
caused boot failure on some motherboards. Apparently nobody has worked
on it and we are getting reports of boot failure with the 9.0 test builds.
So this time I'll comment out the driver in head (still hoping someone
will work on it) and MFC to stable/9.

Submitted by: Alberto Villa <avilla at FreeBSD dot org>


# db1fda10 04-Oct-2011 Xin LI <delphij@FreeBSD.org>

Add the 9750 SATA+SAS 6Gb/s RAID controller card driver, tws(4). Many
thanks for their contiued support to FreeBSD.

This is version 10.80.00.003 from codeset 10.2.1 [1]

Obtained from: LSI http://kb.lsi.com/Download16574.aspx [1]


# b48f7c4c 11-Sep-2011 Christian Brueffer <brueffer@FreeBSD.org>

Fix a zyd(4) comment typo that was copy+pasted into most kernel config files.

PR: 160276
Submitted by: MATSUMIYA Ryo <matsumiya@mma.club.uec.ac.jp>
Approved by: re (kib)
MFC after: 1 week


# 3a3ba1b0 26-Aug-2011 John Baldwin <jhb@FreeBSD.org>

Enable the puc(4) driver on amd64 and i386 in GENERIC. This allows
devices supported by puc(4) to work "out of the box" since puc.ko does
not work "out of the box".

Reviewed by: marcel
Approved by: re (kib)
MFC after: 1 week


# 88c037e2 07-Aug-2011 Rick Macklem <rmacklem@FreeBSD.org>

Change all the sample kernel configurations to use
NFSCL, NFSD instead of NFSCLIENT, NFSSERVER since
NFSCL and NFSD are now the defaults. The client change is
needed for diskless configurations, so that the root
mount works for fstype nfs.
Reported by seanbru at yahoo-inc.com for i386/XEN.

Approved by: re (hrs)


# 01acaa30 18-Jul-2011 Justin T. Gibbs <gibbs@FreeBSD.org>

Revamp the CAM enclosure services driver, renaming it to "enc" from "ses" in
the process. This updated driver uses an in-kernel daemon to track state
changes and publishes physical path location information for disk elements
into the CAM device database.

share/examples/ses/Makefile.inc:
share/examples/ses/srcs/eltsub.c:
share/examples/ses/srcs/sesd.c:
share/examples/ses/srcs/getencstat.c:
share/examples/ses/srcs/setobjstat.c:
share/examples/ses/srcs/inienc.c:
share/examples/ses/srcs/getobjstat.c:
share/examples/ses/srcs/getnobj.c:
share/examples/ses/srcs/getobjmap.c:
share/examples/ses/srcs/setencstat.c:
Update for changes in driver name and API. The ioctl interface
is largely unchanged and could use additional refinement. It
would be nice to be able to fetch the status of all elements in
a single ioctl call and to have the ioctls that return variable
length data allow you to query the necessary allocation size
by passing in a zero length buffer.

sys/sparc64/conf/GENERIC:
sys/ia64/conf/GENERIC:
sys/mips/conf/OCTEON1:
sys/pc98/conf/GENERIC:
sys/i386/conf/GENERIC:
sys/amd64/conf/GENERIC:
ses -> enc

sys/conf/files:
sys/modules/cam/Makefile:
sys/cam/scsi/scsi_enc_internal.h
sys/cam/scsi/scsi_enc_ses.c
sys/cam/scsi/scsi_enc_safte.c
sys/cam/scsi/scsi_ses.c
sys/cam/scsi/scsi_enc.c
Split the enc driver into a generic driver file and one file
each for the SES and SAF-TE personalities.

sys/cam/scsi/scsi_ses.h:
o Retain this header, but use it to only hold structures derived
from the T10 SES spec. The driver interface can be found in
scsi_enc.h.
o Add definitions for most SES pages.

sys/cam/scsi/scsi_enc.c
sys/cam/scsi/scsi_enc.h
o Use a function vector table to allow interaction between the
generic and protocol specific portions of this driver.
o Provide a generic mechanism allowing personalities to define a
finite state machine that is executed from a daemon thread context.
o Track CAM device arrival events and pass these on to personalities
that have registered an interest in them. These notifications are
used to trigger physical path updates in the CAM EDT.

sys/cam/scsi/scsi_enc_safte.c:
The SAF-TE personality. This module is largely untouched by this
update. To achieve the same level of support as we have for SES,
it will need to define an FSM and code to determine the physical
paths of elements within the enclosure.

sys/cam/scsi/scsi_enc_ses.c:
o Implement a state machine to fetch configuration, status, element
descriptors, and additional element status.
o Build a "element map" that indexes into the config and status
data retrieved from a SES device. Use this to simplify our
responses to ioctls.
o Add support for using SAS domain/phy WWN data to determine the
physical path (ence@<enc WWN>/type@<elm type>/slot@<slot #>)
of an element. Stubs are in place for FC, but both FC and SPI
will need additional work in order to be supported.

Sponsored by: Spectra Logic Corporation
Submitted by: gibbs, will


# 144b7166 14-Jun-2011 Hans Petter Selasky <hselasky@FreeBSD.org>

Enable USB 3.0 support by default in i386 and amd64 GENERIC kernels.

Discussed with: joel @ and thompsa @
MFC after: 7 days


# 701b698b 11-Jun-2011 Joel Dahl <joel@FreeBSD.org>

Enable sound support by default on i386 and amd64.

The generic sound driver has been added, along with enough
device-specific drivers to support the most common audio
chipsets.

We've discussed enabling it from time to time over the years
and we've received numerous requests from users, so we decided
that shipping 9.0 with working audio by default would be the
best thing to do.

Bug reports should be sent to the multimedia@ mailing list, as
usual.

Approved by: mav
No objection: re


# a92e80be 25-May-2011 Kevin Lo <kevlo@FreeBSD.org>

Bring back r222275. runfw(4) will statically link in rt2870.fw.uu
to the kernel, though I have MODULES_OVERRIDE="" in GENERIC.

Spotted by: thompsa


# 6d5ee6cd 24-May-2011 Kevin Lo <kevlo@FreeBSD.org>

run(4) needs firmware loaded to work


# d955f0fc 23-May-2011 Attilio Rao <attilio@FreeBSD.org>

Revert a patch that involountary sneaked in while I was MFCing.


# 6c4c7d0f 14-May-2011 Peter Grehan <grehan@FreeBSD.org>

bhyve import part 2 of 2, guest kernel changes.
This branch is now considered frozen: future bhyve development will take
place in a branch off -CURRENT.

sys/dev/bvm/bvm_console.c
sys/dev/bvm/bvm_dbg.c
- simple console driver/gdb debug port used for bringup. supported
by user-space bhyve executable

sys/conf/options.amd64
sys/amd64/amd64/minidump_machdep.c
- allow NKPT to be set in the kernel config file

sys/amd64/conf/GENERIC
- mptable config options; bhyve user-space executable creates an mptable
with number of CPUs, and optional vendor extension
- add bvm console/debug
- set NKPT to 512 to allow loading of large RAM disks from the loader
- include kdb/gdb

sys/amd64/amd64/local_apic.c
sys/amd64/amd64/apic_vector.S
sys/amd64/include/specialreg.h
- if x2apic mode available, use MSRs to access the local APIC, otherwise
fall back to 'classic' MMIO mode

sys/amd64/amd64/mp_machdep.c
- support AP spinup on CPU models that don't have real-mode support by
overwriting the real-mode page with a message that supplies the bhyve
user-space executable with enough information to start the AP directly
in 64-bit mode.

sys/amd64/amd64/vm_machdep.c
- insert pause statements into cpu shutdown busy-wait loops

sys/dev/blackhole/blackhole.c
sys/modules/blackhole/Makefile
- boot-time loadable module that claims all PCI bus/slot/funcs specified
in an env var that are to be used for PCI passthrough

sys/amd64/amd64/intr_machdep.c
- allow round-robin assignment of device interrupts to CPUs to be disabled
from the loader

sys/amd64/include/bus.h
- convert string ins/outs instructions to loops of individual in/out since
bhyve doesn't support these yet

sys/kern/subr_bus.c
- if the device was no created with a fixed devclass, then remove it's
association with the devclass it was associated with during probe.
Otherwise, new drivers do not get a chance to probe/attach since the
device will stay married to the first driver that it probed successfully
but failed to attach.

Sponsored by: NetApp, Inc.


# 00c885e1 10-May-2011 Jung-uk Kim <jkim@FreeBSD.org>

Add SC_PIXEL_MODE to GENERIC for amd64 and i386.

Requested by: many


# 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)


# 4309e17a 27-Apr-2011 Rick Macklem <rmacklem@FreeBSD.org>

This patch changes head so that the default NFS client is now the new
NFS client (which I guess is no longer experimental). The fstype "newnfs"
is now "nfs" and the regular/old NFS client is now fstype "oldnfs".
Although mounts via fstype "nfs" will usually work without userland
changes, an updated mount_nfs(8) binary is needed for kernels built with
"options NFSCL" but not "options NFSCLIENT". Updated mount_nfs(8) and
mount(8) binaries are needed to do mounts for fstype "oldnfs".
The GENERIC kernel configs have been changed to use options
NFSCL and NFSD (the new client and server) instead of NFSCLIENT and NFSSERVER.
For kernels being used on diskless NFS root systems, "options NFSCL"
must be in the kernel config.
Discussed on freebsd-fs@.


# 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.


# dba9c859 31-Mar-2011 Adrian Chadd <adrian@FreeBSD.org>

Break out the ath PCI logic into a separate device/module.

Introduce the AHB glue for Atheros embedded systems. Right now it's
hard-coded for the AR9130 chip whose support isn't yet in this HAL;
it'll be added in a subsequent commit.

Kernel configuration files now need both 'ath' and 'ath_pci' devices; both
modules need to be loaded for the ath device to work.


# 72bcfc96 29-Mar-2011 Edward Tomasz Napierala <trasz@FreeBSD.org>

Revert part of r220137, committed by mistake - RACCT is _not_ supposed
to be enabled in GENERIC.


# 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)


# d2b74735 19-Mar-2011 Bjoern A. Zeeb <bz@FreeBSD.org>

For now remove options FLOWTABLE from the remaining GENERIC kernel
configurations and make it opt-in for those who want it. LINT will
still build it.

While it may be a perfect win in some scenarios, it still troubles users
(see PRs) in general cases. In addition we are still allocating resources
even if disabled by sysctl and still leak arp/nd6 entries in case of
interface destruction.

Discussed with: qingli (2010-11-24, just never executed)
Discussed with: juli (OCTEON1)
PR: kern/148018, kern/155604, kern/144917, kern/146792
MFC after: 2 weeks


# 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


# a8066a9d 09-Mar-2011 Julian Elischer <julian@FreeBSD.org>

Add a small change to the comment in the GENRIC config files that include udbp

Submitted by: Chris Forgron, cforgeron at acsi dot ca
MFC after: 1 week


# 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.


# 295fbd49 24-Sep-2010 David Xu <davidxu@FreeBSD.org>

Now userland POSIX semaphore is based on umtx. The kernel module
is only used to support binary compatible, if want to run old
binary, you need to kldload the module.


# d3c7b9a0 10-Sep-2010 Kenneth D. Merry <ken@FreeBSD.org>

MFp4 (//depot/projects/mps/...)

Bring in a driver for the LSI Logic MPT2 6Gb SAS controllers.

This driver supports basic I/O, and works with SAS and SATA drives and
expanders.

Basic error recovery works (i.e. timeouts and aborts) as well.

Integrated RAID isn't supported yet, and there are some known bugs.

So this isn't ready for production use, but is certainly ready for
testing and additional development. For the moment, new commits to this
driver should go into the FreeBSD Perforce repository first
(//depot/projects/mps/...) and then get merged into -current once
they've been vetted.

This has only been added to the amd64 GENERIC, since that is the only
architecture I have tested this driver with.

Submitted by: scottl
Discussed with: imp, gibbs, will
Sponsored by: Yahoo, Spectra Logic Corporation


# 5ec432ed 06-Aug-2010 Bernhard Schmidt <bschmidt@FreeBSD.org>

Fix whitespace nits.

PR: conf/148989
Submitted by: pluknet <pluknet at gmail.com>
MFC after: 3 days


# 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)


# 054d87d6 07-Jul-2010 Kevin Lo <kevlo@FreeBSD.org>

Add the u3g(4) driver. I can't find any reason why it's not here.


# 16a79e54 02-May-2010 Warner Losh <imp@FreeBSD.org>

Revert 207494: it was only for testing purposes.


# f459061b 02-May-2010 Warner Losh <imp@FreeBSD.org>

Move to the new way of specifying compat options. The backs out the
FOO = BAR form, in favor of listing the mapping in a separate file
for more compatibility with older versions of config.


# ad658060 29-Apr-2010 Andrew Thompson <thompsa@FreeBSD.org>

MFC r207077

Change USB_DEBUG to #ifdef and allow it to be turned off. Previously this had
the illusion of a tunable setting but was always turned on regardless.


# 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.


# f6a9d95b 25-Apr-2010 Andrew Thompson <thompsa@FreeBSD.org>

Set USB_DEBUG like the other platforms, I had turned it off to test the build
before committing r207077.

Spotted by: marius


# b850ecc1 22-Apr-2010 Andrew Thompson <thompsa@FreeBSD.org>

Change USB_DEBUG to #ifdef and allow it to be turned off. Previously this had
the illusion of a tunable setting but was always turned on regardless.

MFC after: 1 week


# 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.


# 4ccf64eb 06-Apr-2010 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

MFC r205014,205015:

Provide groundwork for 32-bit binary compatibility on non-x86 platforms,
for upcoming 64-bit PowerPC and MIPS support. This renames the COMPAT_IA32
option to COMPAT_FREEBSD32, removes some IA32-specific code from MI parts
of the kernel and enhances the freebsd32 compatibility code to support
big-endian platforms.

This MFC is required for MFCs of later changes to the freebsd32
compatibility from HEAD.

Requested by: kib


# 338f1deb 13-Mar-2010 Ed Schouten <ed@FreeBSD.org>

Remove COMPAT_43TTY from stock kernel configuration files.

COMPAT_43TTY enables the sgtty interface. Even though its exposure has
only been removed in FreeBSD 8.0, it wasn't used by anything in the base
system in FreeBSD 5.x (possibly even 4.x?). On those releases, if your
ports/packages are less than two years old, they will prefer termios
over sgtty.


# 841c0c7e 11-Mar-2010 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

Provide groundwork for 32-bit binary compatibility on non-x86 platforms,
for upcoming 64-bit PowerPC and MIPS support. This renames the COMPAT_IA32
option to COMPAT_FREEBSD32, removes some IA32-specific code from MI parts
of the kernel and enhances the freebsd32 compatibility code to support
big-endian platforms.

Reviewed by: kib, jhb


# 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


# 88cbfa85 10-Feb-2010 Attilio Rao <attilio@FreeBSD.org>

Add the options DEADLKRES (introducing the deadlock resolver thread) in
the 'debugging' section of any HEAD kernel and enable for the mainstream
ones, excluding the embedded architectures.
It may, of course, enabled on a case-by-case basis.

Sponsored by: Sandvine Incorporated
Requested by: emaste
Discussed with: kib


# 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


# 7578ff89 17-Jan-2010 Warner Losh <imp@FreeBSD.org>

MFC r202019:
Add INCLUDE_CONFIG_FILE in GENERIC on all non-embedded platforms.
# This is the resolution of removing it from DEFAULTS...


# 9600c47d 11-Jan-2010 Brooks Davis <brooks@FreeBSD.org>

MFC r201443:
Add vlan(4) to all GENERIC kernels.


# 87948dfd 10-Jan-2010 Warner Losh <imp@FreeBSD.org>

Add INCLUDE_CONFIG_FILE in GENERIC on all non-embedded platforms.

# This is the resolution of removing it from DEFAULTS...

MFC after: 5 days


# 9efde583 03-Jan-2010 Brooks Davis <brooks@FreeBSD.org>

Add vlan(4) to all GENERIC kernels.

MFC after: 1 week


# fb5f8c0a 17-Nov-2009 John Baldwin <jhb@FreeBSD.org>

MFC 198043:
Move the USB wireless drivers down into their own section next to the USB
ethernet drivers.


# 50aa9510 09-Nov-2009 Ken Smith <kensmith@FreeBSD.org>

Comment out the sbp(4) entry for GENERIC config files that contain it.
There are known issues with this driver that are beyond what can be
fixed for 8.0-RELEASE and the bugs can cause boot failure on some systems.
It's not clear if it impacts all systems and there is interest in getting
the problem fixed so for now just comment it out instead of remove it.

Commit straight to stable/8, this is an 8.0-RELEASE issue. Head was left
alone so work on it can continue there.

Reviewed by: Primary misc. architecture maintainers (marcel, marius)


# 55b6a401 13-Oct-2009 John Baldwin <jhb@FreeBSD.org>

Move the USB wireless drivers down into their own section next to the USB
ethernet drivers.

Submitted by: Glen Barber glen.j.barber @ gmail
MFC after: 1 month


# f24f7ffb 01-Oct-2009 Rui Paulo <rpaulo@FreeBSD.org>

MFC r197653:
Improve 802.11s comment.

Approved by: re (kib)


# c16c6b65 30-Sep-2009 Rui Paulo <rpaulo@FreeBSD.org>

Improve 802.11s comment.

Spotted by: dougb
MFC after: 1 day


# ac7d4c93 10-Sep-2009 Ken Smith <kensmith@FreeBSD.org>

Remove extra debugging support that is turned on for head but turned off
for stable branches:

- shift to MALLOC_PRODUCTION
- turn off automatic crash dumps
- Remove kernel debuggers, INVARIANTS*[1], WITNESS* from
GENERIC kernel config files[2]

[1] INVARIANTS* left on for ia64 by request marcel
[2] sun4v was left as-is

Reviewed by: marcel, kib
Approved by: re (implicit)


# be105717 13-Aug-2009 Attilio Rao <attilio@FreeBSD.org>

MFC r196196:

* Completely remove the option STOP_NMI from the kernel. This option
has proven to have a good effect when entering KDB by using a NMI,
but it completely violates all the good rules about interrupts
disabled while holding a spinlock in other occasions. This can be the
cause of deadlocks on events where a normal IPI_STOP is expected.
* Add an new IPI called IPI_STOP_HARD on all the supported architectures.
This IPI is responsible for sending a stop message among CPUs using a
privileged channel when disponible. In other cases it just does match a
normal IPI_STOP.
Right now the IPI_STOP_HARD functionality uses a NMI on ia32 and amd64
architectures, while on the other has a normal IPI_STOP effect. It is
responsibility of maintainers to eventually implement an hard stop
when necessary and possible.
* Use the new IPI facility in order to implement a new userend SMP kernel
function called stop_cpus_hard(). That is specular to stop_cpu() but
it does use the privileged channel for the stopping facility.
* Let KDB use the newly introduced function stop_cpus_hard() and leave
stop_cpus() for all the other cases
* Disable interrupts on CPU0 when starting the process of APs suspension.
* Style cleanup and comments adding

This patch should fix the reboot/shutdown deadlocks many users are
constantly reporting on mailing lists.

Please don't forget to update your config file with the STOP_NMI
option removal

Reviewed by: jhb
Tested by: pho, bz, rink
Approved by: re (kib)


# dc6fbf65 13-Aug-2009 Attilio Rao <attilio@FreeBSD.org>

* Completely Remove the option STOP_NMI from the kernel. This option
has proven to have a good effect when entering KDB by using a NMI,
but it completely violates all the good rules about interrupts
disabled while holding a spinlock in other occasions. This can be the
cause of deadlocks on events where a normal IPI_STOP is expected.
* Adds an new IPI called IPI_STOP_HARD on all the supported architectures.
This IPI is responsible for sending a stop message among CPUs using a
privileged channel when disponible. In other cases it just does match a
normal IPI_STOP.
Right now the IPI_STOP_HARD functionality uses a NMI on ia32 and amd64
architectures, while on the other has a normal IPI_STOP effect. It is
responsibility of maintainers to eventually implement an hard stop
when necessary and possible.
* Use the new IPI facility in order to implement a new userend SMP kernel
function called stop_cpus_hard(). That is specular to stop_cpu() but
it does use the privileged channel for the stopping facility.
* Let KDB use the newly introduced function stop_cpus_hard() and leave
stop_cpus() for all the other cases
* Disable interrupts on CPU0 when starting the process of APs suspension.
* Style cleanup and comments adding

This patch should fix the reboot/shutdown deadlocks many users are
constantly reporting on mailing lists.

Please don't forget to update your config file with the STOP_NMI
option removal

Reviewed by: jhb
Tested by: pho, bz, rink
Approved by: re (kib)


# 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


# 89fe4c0a 02-Jul-2009 Ed Schouten <ed@FreeBSD.org>

Enable POSIX semaphores on all non-embedded architectures by default.

More applications (including Firefox) seem to depend on this nowadays,
so not having this enabled by default is a bad idea.

Proposed by: miwi
Patch by: Florian Smeets <flo kasimir com>
Approved by: re (kib)


# c2919fd8 14-Jun-2009 Ed Schouten <ed@FreeBSD.org>

Enable PRINTF_BUFR_SIZE on i386 and amd64 by default.

In the past there have been some reports of PRINTF_BUFR_SIZE not
functioning correctly. Instead of having garbled console messages, we
should just see whether the issues are still there and analyze them.

Approved by: re


# 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.


# 98fda6ac 09-Jun-2009 Kip Macy <kmacy@FreeBSD.org>

opt in to flowtable on i386/amd64


# bd875f5f 02-Jun-2009 Robert Watson <rwatson@FreeBSD.org>

Remove MAC kernel config files and add "options MAC" to GENERIC, with the
goal of shipping 8.0 with MAC support in the default kernel. No policies
will be compiled in or enabled by default, but it will now be possible to
load them at boot or runtime without a kernel recompile.

While the framework is not believed to impose measurable overhead when no
policies are loaded (a result of optimization over the past few months in
HEAD), we'll continue to benchmark and optimize as the release approaches.
Please keep an eye out for performance or functionality regressions that
could be a result of this change.

Approved by: re (kensmith)
Obtained from: TrustedBSD Project


# b3b17597 09-May-2009 Jun Kuriyama <kuriyama@FreeBSD.org>

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


# dcad8689 01-May-2009 Sam Leffler <sam@FreeBSD.org>

o add uath
o sort usb wireless drivers


# b698ab40 09-Apr-2009 Jack F Vogel <jfv@FreeBSD.org>

Add ixgbe to the GENERIC amd64 kernel in place of the
older ixgb driver. I will add to other architectures
after this one proves trouble free.

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


# c89d41e5 23-Feb-2009 Andrew Thompson <thompsa@FreeBSD.org>

Change over the usb kernel options to the new stack (retaining existing
naming). The old usb stack can be compiled in my prefixing the name with 'o'.


# e31a0702 15-Feb-2009 Andrew Thompson <thompsa@FreeBSD.org>

Add uslcom to the build too.

Reminded by: Michael Butler


# e4edc14e 15-Feb-2009 Andrew Thompson <thompsa@FreeBSD.org>

Switch over GENERIC kernels to USB2 by default.

Tested by: make universe


# 9cfe40d9 19-Jan-2009 Maxim Sobolev <sobomax@FreeBSD.org>

Take NTFS option out to match i386 GENERIC.

Suggested by: phk, luigi


# 4d598bc1 19-Jan-2009 Maxim Sobolev <sobomax@FreeBSD.org>

asr(4) is not amd64-clean, not amr(4).

Pointy hat to: myself
Submitted by: scottl


# 69b2984e 19-Jan-2009 Maxim Sobolev <sobomax@FreeBSD.org>

Comment amr(4) out - according to scottl it's not 64-bit clean.


# 68ce278e 19-Jan-2009 Maxim Sobolev <sobomax@FreeBSD.org>

Whitespace-only: reduce diff to the i386 GENERIC.


# 579aaaa4 19-Jan-2009 Maxim Sobolev <sobomax@FreeBSD.org>

Add asr(4) and stge(4) from i386 GENERIC. Both drivers compile on amd64 and
there is no particular reason for them to be i386-only.

MFC after: 2 weeks


# 650ea0d6 12-Jan-2009 Luigi Rizzo <luigi@FreeBSD.org>

Documentation-only change:

- add a reference to the config(5) manpage;
- hopefully clarify the format of the 'env FILENAME' directive.

I am putting these notes in sys/${arch}/conf/GENERIC and not
in sys/conf/NOTES because:

1. i386/GENERIC already had reference to a similar option (hints..)
and to documentation (handbook)

2. GENERIC is what most users look at when they have to modify or
create a new kernel config, so having the suggestion there is
more effective.

I am only touching i386 and amd64 because the other GENERIC files
are already out of sync, and I am not sure what is the overall plan.

MFC after: 3 days


# b581c497 05-Jan-2009 Robert Watson <rwatson@FreeBSD.org>

Add commented out options KDTRACE_HOOKS and, for amd64, KDRACE_FRAME,
to GENERIC configuration files. This brings what's in 8.x in sync
with what is in 7.x, but does not change any current defaults.

Possibly they should now be enabled in head by default?


# bfba40a4 02-Dec-2008 Ed Schouten <ed@FreeBSD.org>

Remove "[KEEP THIS!]" from COMPAT_43TTY. It's not really that important.

Sgtty is a programming interface that has been replaced by termios over
the years. In June we already removed <sgtty.h>, which exposes the
ioctl()'s that are implemented by this interface. The importance of this
flag is overrated right now.


# 33644623 01-Dec-2008 Sam Leffler <sam@FreeBSD.org>

Switch to ath hal source code. Note this removes the ath_hal
module; the ath module now brings in the hal support. Kernel
config files are almost backwards compatible; supplying

device ath_hal

gives you the same chip support that the binary hal did but you
must also include

options AH_SUPPORT_AR5416

to enable the extended format descriptors used by 11n parts.
It is now possible to control the chip support included in a
build by specifying exactly which chips are to be supported
in the config file; consult ath_hal(4) for information.


# 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


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 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


# 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).


# 859ff640 30-Jul-2008 Jack F Vogel <jfv@FreeBSD.org>

Add igb to the default kernel

MFC after:ASAP


# f4d811f0 13-Jul-2008 Ed Schouten <ed@FreeBSD.org>

Make uart(4) the default serial port driver on i386 and amd64.

The uart(4) driver has the advantage of supporting a wider variety of
hardware on a greater amount of platforms. This driver has already been
the standard on platforms such as ia64, powerpc and sparc64.

I've decided not to change anything on pc98. I'd rather let people from
the pc98 team look at this.

Approved by: philip (mentor), marcel


# dbd47f15 07-Jul-2008 Xin LI <delphij@FreeBSD.org>

Add HWPMC_HOOKS to GENERIC kernels, this makes hwpmc.ko work out
of the box.


# 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


# 20f99a5b 26-May-2008 Pyun YongHyeon <yongari@FreeBSD.org>

Add jme(4) to the list of drivers supported by GENERIC kernel.


# 83a17b90 18-May-2008 Pyun YongHyeon <yongari@FreeBSD.org>

Add age(4) to the list of drivers supported by GENERIC kernel.


# 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


# 6c26723b 03-May-2008 Sam Leffler <sam@FreeBSD.org>

enable IEEE80211_DEBUG and IEEE80211_AMPDU_AGE by default


# 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


# fa9d9930 27-Mar-2008 Doug Rabson <dfr@FreeBSD.org>

Add kernel module support for nfslockd and krpc. Use the module system
to detect (or load) kernel NLM support in rpc.lockd. Remove the '-k'
option to rpc.lockd and make kernel NLM the default. A user can still
force the use of the old user NLM by building a kernel without NFSLOCKD
and/or removing the nfslockd.ko module.


# 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


# 58eefce0 18-Feb-2008 Ruslan Ermilov <ru@FreeBSD.org>

Eliminate whitespace diffs to the i386 version.


# 593c8734 03-Feb-2008 Scott Long <scottl@FreeBSD.org>

Remove the rr232x driver. It has been superceded by the hptrr driver.


# 5965c4b7 07-Jan-2008 John Baldwin <jhb@FreeBSD.org>

Add COMPAT_FREEBSD7 and enable it in configs that have COMPAT_FREEBSD6.


# b063a422 14-Dec-2007 Scott Long <scottl@FreeBSD.org>

Add the 'hptrr' driver for supporting the following Highpoint RocketRAID
cards:

o RocketRAID 172x series
o RocketRAID 174x series
o RocketRAID 2210
o RocketRAID 222x series
o RocketRAID 2240
o RocketRAID 230x series
o RocketRAID 231x series
o RocketRAID 232x series
o RocketRAID 2340
o RocketRAID 2522

Many thanks to Highpoint for their continued support of FreeBSD.

Submitted by: Highpoint


# 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)


# 47e87d5a 25-Oct-2007 Warner Losh <imp@FreeBSD.org>

Ooops. Put back Invariants and witness

Submitted by: csjp


# 97816f8e 25-Oct-2007 Warner Losh <imp@FreeBSD.org>

Add usb serial devices by default. I'm tired of telling people how to
do this that should know better :-).


# 95b55771 18-Oct-2007 Ken Smith <kensmith@FreeBSD.org>

Switch over to ULE as the default scheduler for amd64 and i386
architectures.


# 4fabde56 26-Sep-2007 Christian Brueffer <brueffer@FreeBSD.org>

Use the correct expanded name for SCTP.

PR: 116496
Submitted by: koitsu
Reviewed by: rrs
Approved by: re (kensmith)


# a7b811a6 01-Jul-2007 Nate Lawson <njl@FreeBSD.org>

Add cpufreq(4) to GENERIC. It does not change the frequency by default,
so systems should be relatively unaffected. Users can then simply enable
powerd(8) in rc.conf to take advantage of it.

Approved by: re


# a2346f7c 14-Jun-2007 Xin LI <delphij@FreeBSD.org>

Enable SCTP by default for GENERIC kernels in order to give it
more exposure. The current state of SCTP implementation is
considered to be ready for 32-bit platforms, but still need some
work/testing on 64-bit platforms.

Approved by: re (kensmith)
Discussed with: rrs


# b5f0caf9 11-Jun-2007 Pyun YongHyeon <yongari@FreeBSD.org>

Add nfe(4) to the list of drivers supported by GENERIC kernel.
While I'm here comment out nve(4) as nfe(4) will take over.

Approved by: re


# ed3247ce 11-Jun-2007 Andrew Thompson <thompsa@FreeBSD.org>

Add wlan_scan_ap and wlan_scan_sta to platforms that include wlan.


# 68d4cc61 08-Jun-2007 Robert Watson <rwatson@FreeBSD.org>

Enable AUDIT by default in the GENERIC kernel, allowing security event
auditing to be turned on without a kernel recompile, just an rc.conf
option.

Approved by: re (kensmith)
Obtained from: TrustedBSD Project


# 35fafac2 28-May-2007 Hidetoshi Shimokawa <simokawa@FreeBSD.org>

Enable fwip and dcons in GENERIC. They seem fairly stable.

Note on dcons:
To enable dcons in kernel, put the following lines in /boot/loader.conf.
You may also want to enable dcons in /etc/ttys.

boot_multicons="YES"
#Force dcons to be the high-level console if a firewire bus presents.
#hw.firewire.dcons_crom.force_console=1

FireWire/dcons support in loader will come shortly.
(i386/amd64 only)


# 00465d5a 09-May-2007 Kevin Lo <kevlo@FreeBSD.org>

Add wlan_amrr. ural(4) uses amrr as transmit rate control.


# 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.


# fef2a259 10-Apr-2007 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Remove trailing '.' for consistency!


# 57bcf75f 10-Apr-2007 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Add UFS_GJOURNAL options to the GENERIC kernel.

Approved by: re (kensmith)


# 983f9709 09-Feb-2007 Brooks Davis <brooks@FreeBSD.org>

Include GEOM_LABEL in GENERIC. It's very useful and not well publicized
enough.

Approved by: pjd


# 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.


# 1f90cf98 12-Dec-2006 Pyun YongHyeon <yongari@FreeBSD.org>

Add msk(4) to the list of drivers supported by GENERIC kernel.


# 43d9d89b 03-Dec-2006 Alexander Leidinger <netchild@FreeBSD.org>

Sync with i386 (remove the LINUX stuff) now that the module is usable.


# f27eb216 22-Nov-2006 Ruslan Ermilov <ru@FreeBSD.org>

It's been possible to build linprocfs as a module for some time now.

Submitted by: rdivacky


# 3750d1ec 26-Oct-2006 John Birrell <jb@FreeBSD.org>

Remove the KSE option now that it's in DEFAULTS on these arches/machines.

The 'nooption' kernel config entry has to be used to turn KSE off now.
This isn't my preferred way of dealing with this, but I'll defer to
scottl's experience with the io/mem kernel option change and the grief
experienced over that.

Submitted by: scottl@


# 8460a577 26-Oct-2006 John Birrell <jb@FreeBSD.org>

Make KSE a kernel option, turned on by default in all GENERIC
kernel configs except sun4v (which doesn't process signals properly
with KSE).

Reviewed by: davidxu@


# 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


# 6c9fdda7 25-Sep-2006 Ruslan Ermilov <ru@FreeBSD.org>

Added COMPAT_FREEBSD6 option.


# 086ba9f7 09-Jul-2006 Matt Jacob <mjacob@FreeBSD.org>

Make the firmware assist driver resident in
preparation for isp using it.


# 20197a8c 04-Jul-2006 David Xu <davidxu@FreeBSD.org>

Temporarily remove SCHED_CORE, it seems I have so many works can do now,
one example is POSIX priority mutex for libthr.


# 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


# 28a3ae7f 15-Jun-2006 Alexander Leidinger <netchild@FreeBSD.org>

Remove COMPAT_43 from GENERIC (and other kernel configs). For amd64 there's
an explicit comment that it's needed for the linuxolator. This is not the
case anymore. For all other architectures there was only a "KEEP THIS".
I'm (and other people too) running a COMPAT_43-less kernel since it's not
necessary anymore for the linuxolator. Roman is running such a kernel for a
for longer time. No problems so far. And I doubt other (newer than ia32
or alpha) architectures really depend on it.

This may result in a small performance increase for some workloads.

If the removal of COMPAT_43 results in a not working program, please
recompile it and all dependencies and try again before reporting a
problem.

The only place where COMPAT_43 is needed (as in: does not compile without
it) is in the (outdated/not usable since too old) svr4 code.

Note: this does not remove the COMPAT_43TTY option.

Nagging by: rdivacky


# 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.


# 8df071af 17-May-2006 Marius Strobl <marius@FreeBSD.org>

Add le(4). I could actually only test it on alpha, i386 and sparc64 but
given that this includes the more problematic platforms I see no reason
why it shouldn't also work on amd64 and ia64.


# 155d9f6a 15-May-2006 Ruslan Ermilov <ru@FreeBSD.org>

Kill more references to lnc(4).

Submitted by: grep(1)


# 32397ce0 09-May-2006 Doug Ambrisko <ambrisko@FreeBSD.org>

Add in linsysfs. A linux 2.6 like sys filesystem to pacify the Linux
LSI MegaRAID SAS utility.

Sponsored by: IronPort Systems
Man page help from: brueffer


# 57d6ae06 03-May-2006 Sam Leffler <sam@FreeBSD.org>

add ath and wlan crypto support

MFC after: 1 month


# 27aafcda 27-Apr-2006 Scott Long <scottl@FreeBSD.org>

Enable the rr232x driver for amd64.


# 3b28c0c6 24-Apr-2006 Xin LI <delphij@FreeBSD.org>

Move AHC_REG_PRETTY_PRINT and AHD_REG_PRETTY_PRINT below
their corresponding devices.


# d8636a9a 10-Apr-2006 Paul Saab <ps@FreeBSD.org>

Hook bce up to the build


# b6431012 31-Mar-2006 Maksim Yevmenkin <emax@FreeBSD.org>

Add kbdmux(4) to GENERIC on amd64

Requested by: scottl
Tested by: scottl


# 7f631a41 29-Mar-2006 Scott Long <scottl@FreeBSD.org>

Hook the MFI driver up to the build.


# f8ed1e34 11-Jan-2006 David E. O'Brien <obrien@FreeBSD.org>

Move linux support to the linux section.


# 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.


# 6646524f 27-Nov-2005 Ruslan Ermilov <ru@FreeBSD.org>

- Allow duplicate "machine" directives with the same arguments.
- Move existing "machine" directives to DEFAULTS.


# 38195fdc 05-Nov-2005 Marcel Moolenaar <marcel@FreeBSD.org>

Add uart(4). When both sio(4) and uart(4) can handle a serial port,
sio(4) will claim it. This change therefore only affects how ports
are handled when they are not claimed by sio(4), and in principle
will improve hardware support.

MFC after: 2 months


# d394d454 01-Nov-2005 John Baldwin <jhb@FreeBSD.org>

Throw the switch and turn on STOP_NMI on in GENERIC for amd64 and i386.

Requested by: kris
Ok'd by: scottl


# 54903605 27-Oct-2005 Peter Wemm <peter@FreeBSD.org>

MFi386: bring over DEFAULTS (repocopy) and adapt. While there isn't a
4.x->6.x amd64 upgrade path, the config files are kept in approximate sync.


# 537b6cf3 27-Oct-2005 David E. O'Brien <obrien@FreeBSD.org>

Remove atpic as we've changed to using the lapic timer vs. using irq0


# dc8540a9 07-Sep-2005 Scott Long <scottl@FreeBSD.org>

Hook up the hptmv driver for amd64.

MFC After: 3 days


# 5a297065 24-Jul-2005 Maxime Henrion <mux@FreeBSD.org>

Add back ed(4) in amd64 GENERIC. It now works nicely and since those
chips are commonly found, it makes sense to have it in GENERIC. This
is a candidate for a RELENG_6 MFC.

Approved by; peter
Requested by: pav
Tested by: pav


# 22e59cec 14-Jul-2005 Ken Smith <kensmith@FreeBSD.org>

Add recently invented COMPAT_FREEBSD5 option.

MFC after: 3 days


# 0b090f41 24-May-2005 Damien Bergamini <damien@FreeBSD.org>

Add new ral(4) and ural(4) drivers.

Approved by: silby (mentor)


# e137a5d6 15-Apr-2005 Peter Wemm <peter@FreeBSD.org>

MFi386: remove NO_MIXED_MODE


# 354096a3 13-Apr-2005 Eric Anholt <anholt@FreeBSD.org>

Follow i386's suit and include AGP support in the generic kernel.


# 503e759c 31-Mar-2005 David E. O'Brien <obrien@FreeBSD.org>

MFR5: rev 1.421.2.6: Enable support for 32-bit Linux binaries by default.
There are too many questions in freebsd-amd64@ about how to enable Linux
support that it seems a required piece of functionality. Thus we should
just have it on by default.


# d0885ac3 31-Mar-2005 Scott Long <scottl@FreeBSD.org>

Glue the arcmsr driver into the tree.


# 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


# bf6fabdd 16-Mar-2005 David E. O'Brien <obrien@FreeBSD.org>

Make it clear nve needs mii, and shorten long comment line.


# 7fe25a57 15-Mar-2005 Ian Dowse <iedowse@FreeBSD.org>

Enable ehci by default on i386 and amd64. It had got to the stage
where having this disabled was actually hurting us, since so many
BIOSes include legacy USB emulation that takes control of all usb
ports and only the ehci driver knows how to disable it.


# 1b1a07ad 11-Mar-2005 David E. O'Brien <obrien@FreeBSD.org>

FreeBSD consumer bits of the nForce MCP NIC binary blob.

Demanded by: DES
Encouraged by: scottl
Obtained from: q@onthenet.com.au (partially)
KNF'ed by: obrien


# 8a7572e0 28-Feb-2005 Peter Wemm <peter@FreeBSD.org>

MFi386: Sync whitespace and an abbreviation


# 6f4e528a 04-Jan-2005 Jun Kuriyama <kuriyama@FreeBSD.org>

o Use tab instead of spaces for puc(4) line.
o Use capitalized "Ethernet" for consistency.


# 118ef86e 30-Dec-2004 John Baldwin <jhb@FreeBSD.org>

Minor sync to i386 GENERIC in the form of comments and whitespace.


# 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


# 46ec31b0 21-Sep-2004 Peter Wemm <peter@FreeBSD.org>

MFi386: add ispfw (except using correct device<tab><tab>ispfw format,
<space><tab> is for the options line)


# a07bd003 10-Sep-2004 Bill Paul <wpaul@FreeBSD.org>

Add device driver support for the VIA Networking Technologies
VT6122 gigabit ethernet chip and integrated 10/100/1000 copper PHY.
The vge driver has been added to GENERIC for i386, pc98 and amd64,
but not to sparc or ia64 since I don't have the ability to test
it there. The vge(4) driver supports VLANs, checksum offload and
jumbo frames.

Also added the lge(4) and nge(4) drivers to GENERIC for i386 and
pc98 since I was in the neighborhood. There's no reason to leave them
out anymore.


# 444ba945 07-Sep-2004 Scott Long <scottl@FreeBSD.org>

Switch the default scheduler to 4BSD to match what will go into RELENG_5 soon.
It can be switched back once 5.3 is tested and released. Also turn on
PREEMPTION as many of the stability problems with it have been fixed.

MT5: 3 days.


# 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.


# deefc3c4 16-Aug-2004 Peter Wemm <peter@FreeBSD.org>

Sync with i386 - add ADAPTIVE_GIANT, remove pcic


# 7a071c6a 15-Aug-2004 David E. O'Brien <obrien@FreeBSD.org>

Complete 'IA32' -> 'COMPAT_IA32' change for the Linuxulator32.


# 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)


# b6527a36 01-Aug-2004 Mark Murray <markm@FreeBSD.org>

Add the I/O device for those architectures that have it.


# 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.


# 2eed2482 22-Jul-2004 Warner Losh <imp@FreeBSD.org>

Remove ahb, aha, ie, le and wl devices. They are all ISA/EISA only.
I went ahead and left in the ISA cards that also have pccard
attachments. There's no way that these devices could attach.

OK'd by: peter


# 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.


# aa355a26 18-Jul-2004 Maxim Konovalov <maxim@FreeBSD.org>

In -CURRENT pseudo devices are not statically assigned at compile time,
remove a stale comment.

PR: kern/62285


# a1467988 16-Jul-2004 Paul Saab <ps@FreeBSD.org>

Fix the build. pcm is no more.


# 8bcb1e9e 10-Jul-2004 Marcel Moolenaar <marcel@FreeBSD.org>

Add options KDB and GDB. KDB takes on the function of what DDB used
to be. Both DDB and GDB specify which KDB backends to include.


# 2a79761d 13-Jun-2004 David E. O'Brien <obrien@FreeBSD.org>

The majority of FreeBSD/amd64 machines are SMP, so use ADAPTIVE_MUTEXES
by default to improve performance.


# 74cfa969 03-Jun-2004 Peter Wemm <peter@FreeBSD.org>

MFi386: add ixgp device


# 922013a6 17-May-2004 Peter Wemm <peter@FreeBSD.org>

Turn on modules for amd64. Fear.


# 2a779082 16-May-2004 Peter Wemm <peter@FreeBSD.org>

MFi386: add rue and twa


# d1d9feac 02-May-2004 Marcel Moolenaar <marcel@FreeBSD.org>

Add option GEOM_GPT. This brings the ability to have a large number of
partitions on a single disk.


# 4e744b5e 02-May-2004 David E. O'Brien <obrien@FreeBSD.org>

Spell Ethernet correctly.


# e6c2326d 24-Mar-2004 David E. O'Brien <obrien@FreeBSD.org>

Add NTFS since many may want to dual-boot MS-Win64 w/FreeBSD.


# a5b0d494 14-Mar-2004 David E. O'Brien <obrien@FreeBSD.org>

Shorten a long comment.


# 02c4c7b8 01-Feb-2004 David E. O'Brien <obrien@FreeBSD.org>

Remove a device that will compile fine, isn't 64-bit clean.


# 3a0bfa76 29-Jan-2004 Peter Wemm <peter@FreeBSD.org>

GRR. MFi386: white space spam


# 048ac395 24-Jan-2004 Jeff Roberson <jeff@FreeBSD.org>

- Recruit some new ULE users by making it the default scheduler in GENERIC.
ULE will be in a probationary period to determine whether it will be left
as the default in 5.3 which would likely mean the rest of the 5.x series.


# 5864cda7 24-Jan-2004 Jacques Vidrine <nectar@FreeBSD.org>

Add PFIL_HOOKS to the GENERIC kernel configuration, primarily so
that one can load the IPFilter module (which requires PFIL_HOOKS).

Requested by: Many, for over a year


# 68cd0cc3 20-Nov-2003 Peter Wemm <peter@FreeBSD.org>

Turn on NO_MIXED_MODE for amd64 generic. It turns out that all the
known samples of broken chipsets that needed mixed mode in the first place
are so broken (ie: locks up) that we can't use IO APIC mode at all and it
needs to be turned off in the bios. So, the MIXED_MODE penalty on the
good chipsets gained nothing.

Approved by: re (scottl)


# b8aeddf1 19-Nov-2003 Peter Wemm <peter@FreeBSD.org>

Sync with i386.
- turn on SMP in generic
- add 'device atpic' - this is unconditional on i386, but certain nvidia
based systems need to disable acpi because the reference bios seems to be
hosed. If acpi is disabled, we won't find the apic. amd64 has the
mptable code in a seperate compile option as well.
- turn sym back on, it doesn't fail to compile anymore.

Approved by: re


# a4d60a7f 07-Nov-2003 Peter Wemm <peter@FreeBSD.org>

Converge with i386/GENERIC


# 9678710b 19-Sep-2003 Joerg Wunsch <joerg@FreeBSD.org>

Mention the puc(4) glue driver in a commented-out example so the user
of "dumb" PCI-based serial/parallel boards get a hint how to enable
them.

I wasn't sure about the ia64, pc98, powerpc, and sparc64 archs whether
they'd support puc(4) or not.


# 67193a54 15-Sep-2003 David E. O'Brien <obrien@FreeBSD.org>

Statically compile in sound as we don't have modules yet.


# 3fc40c24 10-Sep-2003 David E. O'Brien <obrien@FreeBSD.org>

Sort 'bge' correctly.


# df6ece38 08-Sep-2003 Peter Wemm <peter@FreeBSD.org>

Turn aac back on now that its been cleaned up for 64 bit compilation


# a94100fa 07-Sep-2003 Bill Paul <wpaul@FreeBSD.org>

Take the support for the 8139C+/8169/8169S/8110S chips out of the
rl(4) driver and put it in a new re(4) driver. The re(4) driver shares
the if_rlreg.h file with rl(4) but is a separate module. (Ultimately
I may change this. For now, it's convenient.)

rl(4) has been modified so that it will never attach to an 8139C+
chip, leaving it to re(4) instead. Only re(4) has the PCI IDs to
match the 8169/8169S/8110S gigE chips. if_re.c contains the same
basic code that was originally bolted onto if_rl.c, with the
following updates:

- Added support for jumbo frames. Currently, there seems to be
a limit of approximately 6200 bytes for jumbo frames on transmit.
(This was determined via experimentation.) The 8169S/8110S chips
apparently are limited to 7.5K frames on transmit. This may require
some more work, though the framework to handle jumbo frames on RX
is in place: the re_rxeof() routine will gather up frames than span
multiple 2K clusters into a single mbuf list.

- Fixed bug in re_txeof(): if we reap some of the TX buffers,
but there are still some pending, re-arm the timer before exiting
re_txeof() so that another timeout interrupt will be generated, just
in case re_start() doesn't do it for us.

- Handle the 'link state changed' interrupt

- Fix a detach bug. If re(4) is loaded as a module, and you do
tcpdump -i re0, then you do 'kldunload if_re,' the system will
panic after a few seconds. This happens because ether_ifdetach()
ends up calling the BPF detach code, which notices the interface
is in promiscuous mode and tries to switch promisc mode off while
detaching the BPF listner. This ultimately results in a call
to re_ioctl() (due to SIOCSIFFLAGS), which in turn calls re_init()
to handle the IFF_PROMISC flag change. Unfortunately, calling re_init()
here turns the chip back on and restarts the 1-second timeout loop
that drives re_tick(). By the time the timeout fires, if_re.ko
has been unloaded, which results in a call to invalid code and
blows up the system.

To fix this, I cleared the IFF_UP flag before calling ether_ifdetach(),
which stops the ioctl routine from trying to reset the chip.

- Modified comments in re_rxeof() relating to the difference in
RX descriptor status bit layout between the 8139C+ and the gigE
chips. The layout is different because the frame length field
was expanded from 12 bits to 13, and they got rid of one of the
status bits to make room.

- Add diagnostic code (re_diag()) to test for the case where a user
has installed a broken 32-bit 8169 PCI NIC in a 64-bit slot. Some
NICs have the REQ64# and ACK64# lines connected even though the
board is 32-bit only (in this case, they should be pulled high).
This fools the chip into doing 64-bit DMA transfers even though
there is no 64-bit data path. To detect this, re_diag() puts the
chip into digital loopback mode and sets the receiver to promiscuous
mode, then initiates a single 64-byte packet transmission. The
frame is echoed back to the host, and if the frame contents are
intact, we know DMA is working correctly, otherwise we complain
loudly on the console and abort the device attach. (At the moment,
I don't know of any way to work around the problem other than
physically modifying the board, so until/unless I can think of a
software workaround, this will have do to.)

- Created re(4) man page

- Modified rlphy.c to allow re(4) to attach as well as rl(4).

Note that this code works for the sample 8169/Marvell 88E1000 NIC
that I have, but probably won't work for the 8169S/8110S chips.
RealTek has sent me some sample NICs, but they haven't arrived yet.
I will probably need to add an rlgphy driver to handle the on-board
PHY in the 8169S/8110S (it needs special DSP initialization).


# be8d2cbf 02-Sep-2003 David E. O'Brien <obrien@FreeBSD.org>

MFi386: add device ataraid, this is now seperate and not pulled in by atadisk.


# b6a5f89b 27-Jun-2003 Peter Wemm <peter@FreeBSD.org>

Turn ips back on.


# 1e5d8b3b 25-Jun-2003 Peter Wemm <peter@FreeBSD.org>

Oops, I only added a comment about why ips doesn't compile. Actually
comment it out for real.


# ba1cabf4 25-Jun-2003 Peter Wemm <peter@FreeBSD.org>

Sync with i386 - add everything that compiles. There are a few drivers
that are trivially easy to fix (eg: ips) that I've not committed fixes for.


# 713c9391 01-Jun-2003 David E. O'Brien <obrien@FreeBSD.org>

Sync with i386/GENERIC ordering.


# 4af5a3de 31-May-2003 Peter Wemm <peter@FreeBSD.org>

Add acpi to the build. Remove the hack from machdep.c that lies to the
loader to shut it up.


# d85631c4 13-May-2003 Peter Wemm <peter@FreeBSD.org>

Add BASIC i386 binary support for the amd64 kernel. This is largely
stolen from the ia64/ia32 code (indeed there was a repocopy), but I've
redone the MD parts and added and fixed a few essential syscalls. It
is sufficient to run i386 binaries like /bin/ls, /usr/bin/id (dynamic)
and p4. The ia64 code has not implemented signal delivery, so I had
to do that.

Before you say it, yes, this does need to go in a common place. But
we're in a freeze at the moment and I didn't want to risk breaking ia64.
I will sort this out after the freeze so that the common code is in a
common place.

On the AMD64 side, this required adding segment selector context switch
support and some other support infrastructure. The %fs/%gs etc code
is hairy because loading %gs will clobber the kernel's current MSR_GSBASE
setting. The segment selectors are not used by the kernel, so they're only
changed at context switch time or when changing modes. This still needs
to be optimized.

Approved by: re (amd64/* blanket)


# 14426b9c 09-May-2003 Peter Wemm <peter@FreeBSD.org>

Turn syscons on now that it works, so that anybody trying to run this
can see something. Probing for keyboard still works for auto serial
console mode.


# afa88623 30-Apr-2003 Peter Wemm <peter@FreeBSD.org>

Commit MD parts of a loosely functional AMD64 port. This is based on
a heavily stripped down FreeBSD/i386 (brutally stripped down actually) to
attempt to get a stable base to start from. There is a lot missing still.
Worth noting:
- The kernel runs at 1GB in order to cheat with the pmap code. pmap uses
a variation of the PAE code in order to avoid having to worry about 4
levels of page tables yet.
- It boots in 64 bit "long mode" with a tiny trampoline embedded in the
i386 loader. This simplifies locore.s greatly.
- There are still quite a few fragments of i386-specific code that have
not been translated yet, and some that I cheated and wrote dumb C
versions of (bcopy etc).
- It has both int 0x80 for syscalls (but using registers for argument
passing, as is native on the amd64 ABI), and the 'syscall' instruction
for syscalls. int 0x80 preserves all registers, 'syscall' does not.
- I have tried to minimize looking at the NetBSD code, except in a couple
of places (eg: to find which register they use to replace the trashed
%rcx register in the syscall instruction). As a result, there is not a
lot of similarity. I did look at NetBSD a few times while debugging to
get some ideas about what I might have done wrong in my first attempt.


# 092cd06f 21-Apr-2003 Hidetoshi Shimokawa <simokawa@FreeBSD.org>

Add FireWire drivers to GENERIC.


# 87b4a259 20-Apr-2003 Bill Paul <wpaul@FreeBSD.org>

Add device driver support for the ASIX Electronics AX88172 USB 2.0
ethernet controller. The driver has been tested with the LinkSys
USB200M adapter. I know for a fact that there are other devices out
there with this chip but don't have all the USB vendor/device IDs.

Note: I'm not sure if this will force the driver to end up in the
install kernel image or not. Special magic needs to be done to exclude
it to keep the boot floppies from bloating again, someone please
advise.


# 50e960d9 29-Mar-2003 Matthew N. Dodd <mdodd@FreeBSD.org>

- Move driver to newbus.
- Provide identify methods for EtherExpress and 3c507 cards; this
means these cards no longer need wired configs.
- Provide a detach method.


# 90836fcf 26-Mar-2003 Paul Saab <ps@FreeBSD.org>

Nuke HTT from here too.

Spotted by: jhb


# 84b7dcad 25-Mar-2003 John Baldwin <jhb@FreeBSD.org>

Add an options entry for HTT in SMP and GENERIC similar to the SMP and
APIC_IO options.

Requested by: John Cagle <john.cagle@hp.com>


# ab0f83bd 22-Mar-2003 Ruslan Ermilov <ru@FreeBSD.org>

Remove bitrot associated with `maxusers'.

Submitted by: bde


# 36dc5b94 13-Feb-2003 David E. O'Brien <obrien@FreeBSD.org>

Fix the style of the SCHED_4BSD commit.


# c0c9e71f 01-Feb-2003 Josef Karthauser <joe@FreeBSD.org>

Put replace spaces with tabs in keeping with the rest of the file.


# 4183d949 25-Jan-2003 Jeff Roberson <jeff@FreeBSD.org>

- Remove a redundant scheduler option.

Pointy hat to: jeff
Spotted by: dillon


# c3384118 25-Jan-2003 Jeff Roberson <jeff@FreeBSD.org>

- Introduce the SCHED_ULE and SCHED_4BSD options for compile time selection
of the scheduler.
- Add SCHED_4BSD as the scheduler for all kernel config files in cvs.


# 18bf5d2b 15-Jan-2003 Sam Leffler <sam@FreeBSD.org>

wi now needs wlan

Reviewed by: imp


# b4b9c52c 27-Dec-2002 Scott Long <scottl@FreeBSD.org>

Add the if_bge driver. I can't find any reason why it's not here, and it's
pretty common on Dell servers and other high-end boxes.


# 47770b6f 16-Dec-2002 Olivier Houchard <cognet@FreeBSD.org>

Add the trm(4) driver.

MFC after: 1 day


# c7063e59 19-Oct-2002 Robert Watson <rwatson@FreeBSD.org>

Permits UFS ACLs to be used with the GENERIC kernel. Due to recent
ACL configuration changes, this shouldn't result in different code paths
for file systems not explicitly configured for ACLs by the system
administrator. For UFS1, administrators must still recompile their
kernel to add support for extended attributes; for UFS2, it's sufficient
to enable ACLs using tunefs or at mount-time (tunefs preferred for
reliability reasons). UFS2, for a variety of reasons, including
performance and reliability, is the preferred file system for use with
ACLs.

Approved by: re


# 4275e0d9 13-Oct-2002 Mike Barcroft <mike@FreeBSD.org>

Remove the P1003_1B kernel option; it is no longer used.


# 1d6055e7 12-Oct-2002 Poul-Henning Kamp <phk@FreeBSD.org>

Remove NO_GEOM option. No outstanding show-stoppers.

Sponsored by: DARPA & NAI Labs.


# 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.


# 4c2c25d4 27-Sep-2002 Søren Schmidt <sos@FreeBSD.org>

Add the pst (Promise SX6000) driver to GENERIC.


# a9739d98 11-Sep-2002 Robert Watson <rwatson@FreeBSD.org>

Whitespace consistency fix from addition of IAHD_REG_PRETTY_PRINT: use
tabs not spaces.


# b37a9be2 08-Sep-2002 Jun Kuriyama <kuriyama@FreeBSD.org>

Use "options " rather than "options<tab>".


# f31d7a57 05-Sep-2002 David E. O'Brien <obrien@FreeBSD.org>

Statically compile pcn(4) into the install kernel vs. using as module.
lnc(4) will attach to AMD PCnet/FAST NICs if pcn(4) does not attach.
I.e. pcn(4) gets first chance. There is a problem however in that pcn(4)
was moved out of the install kernel so that the module would be used.
This however causes bad installs if one has an AMD PCnet/FAST NIC.


# 97145a37 31-Aug-2002 Justin T. Gibbs <gibbs@FreeBSD.org>

Enable ahd/ahc register pretty printing by default. This expedites
handling of bug reports.


# f453022c 19-Aug-2002 Peter Wemm <peter@FreeBSD.org>

remove unit counts from atkbdc, pckbd, sc


# 6319263d 15-Aug-2002 Warner Losh <imp@FreeBSD.org>

pccbb->cbb


# 9b631363 11-Aug-2002 Matt Jacob <mjacob@FreeBSD.org>

Add support for the LSI-Logic Fusion/MP architecture.

This is an architecture that present a thing message passing interface
to the OS. You can query as to how many ports and what kind are attached
and enable them and so on.

A less grand view is that this is just another way to package SCSI (SPI or
FC) and FC-IP into a one-driver interface set.

This driver support the following hardware:

LSI FC909: Single channel, 1Gbps, Fibre Channel (FC-SCSI only)
LSI FC929: Dual Channel, 1-2Gbps, Fibre Channel (FC-SCSI only)
LSI 53c1020: Single Channel, Ultra4 (320M) (Untested)
LSI 53c1030: Dual Channel, Ultra4 (320M)

Currently it's in fair shape, but expect a lot of changes over the
next few weeks as it stabilizes.

Credits:

The driver is mostly from some folks from Jeff Roberson's company- I've
been slowly migrating it to broader support that I it came to me as.

The hardware used in developing support came from:

FC909: LSI-Logic, Advansys (now Connetix)
FC929: LSI-Logic
53c1030: Antares Microsystems (they make a very fine board!)

MFC after: 3 weeks


# 05c872ad 09-Aug-2002 Brooks Davis <brooks@FreeBSD.org>

Make ppp(4) devices clonable and unloadable.


# 66905408 06-Aug-2002 Warner Losh <imp@FreeBSD.org>

Add Intersil and Symbol as vendors for 802.11 cards that the wi driver
supports.

Obtained from: NetBSD


# 2690c0bb 04-Aug-2002 Eric Anholt <anholt@FreeBSD.org>

Add device agp to GENERIC, filter it out of floppy builds

Approved by: des (mentor)


# 35e58ed3 04-Aug-2002 Warner Losh <imp@FreeBSD.org>

Remove commented out PCI_ENABLE_IO_MODES. It is gone now.


# c0727dcb 01-Aug-2002 Marc Fonvieille <blackend@FreeBSD.org>

Fix the link to the Handbook


# b618108f 23-Jul-2002 Peter Wemm <peter@FreeBSD.org>

de-count pci


# fc147d7f 21-Jul-2002 Peter Wemm <peter@FreeBSD.org>

Add explicit unit count on 'device pci' for ahc/ahd


# dde04295 16-Jul-2002 John Baldwin <jhb@FreeBSD.org>

Various comment and minor style fixes. No actual content changes.

Inspired by: bde


# 074453c2 12-Jul-2002 Alfred Perlstein <alfred@FreeBSD.org>

Introduce syscall.master option 'COMPAT4' which allows one to wrap
syscalls for FreeBSD 4 compatibility.
Add kernel option COMPAT_FREEBSD4 to enable these syscalls.


# 8d03e1e9 08-Jul-2002 Mark Murray <markm@FreeBSD.org>

Comment out apm; ACPI is the modern replacement, and folks who really
need it can uncomment it. This may buy us some kernel space.

Discussed with: imp & msmith (quite a while ago)


# 22c0046f 07-Jul-2002 Warner Losh <imp@FreeBSD.org>

Make NEWCARD the default pccard/cardbus system.


# 006f19e4 29-Jun-2002 Robert Watson <rwatson@FreeBSD.org>

Remove ALT_BREAK_TO_DEBUGGER. This was inconsistent (both in form
and function) with existing configuration choices. Arguably if
ALT_BREAK_TO_DEBUGGER was present, so should have been
BREAK_TO_DEBUGGER. Regardless, it broke the option sort order in
these kernel configuration files.

Requested by: bde


# cdd49e97 06-Jun-2002 Justin T. Gibbs <gibbs@FreeBSD.org>

Hook up the ahd driver.


# 69d18565 29-May-2002 David E. O'Brien <obrien@FreeBSD.org>

Do not refer to the Intel PRO/1000 by its internal name.

Requested by: pdeuskar


# 540e5c2e 22-May-2002 David E. O'Brien <obrien@FreeBSD.org>

Restore us back to the rev 1.324 level of having an Intel gigE driver.


# ddbbc962 21-May-2002 Robert Watson <rwatson@FreeBSD.org>

Permit alternative break sequence to break to debugger in GENERIC. Breakage
of serial break on -CURRENT seems rampant for some reason, and I like
being able to get into ddb.

Reviewed by: peter


# ea0b7a76 03-May-2002 Juli Mallett <jmallett@FreeBSD.org>

Typo fix: detects -> detect.

Reviewed by: phk


# 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


# 91e007dc 17-Apr-2002 Robert Watson <rwatson@FreeBSD.org>

Since WITNESS doesn't just do mutexes, remove "mutex" from the WITNESS
comment in GENERIC config files of appropriate platforms. For whatever
reason, powerpc didn't use WITNESS in GENERIC.


# 2ce7d7a0 09-Apr-2002 Poul-Henning Kamp <phk@FreeBSD.org>

GC various bits and pieces of USERCONFIG from all over the place.


# 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


# 2d5c9da3 17-Mar-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

s/options\t\t/options \t/


# 5d8e6357 13-Feb-2002 Alfred Perlstein <alfred@FreeBSD.org>

Re-enable WITNESS for GENERIC. Since the 5.x branch is mostly about
SMP we'd like as much feedback as possible from users about possible
locking problems as early as possible.

To negate most of the performance impact I've also enabled
WITNESS_SKIPSPIN. I've done this as we've been running WITNESS
over the spinlock code for a while without incident and it goes a
long way to making the performance problems of WITNESS much more
bearable.

Users who should be running current should know about turning WITNESS
off for performance reasons.

That said and done, WITNESS could/should be made into a tuneable,
but we'll leave that as an excersize to those that want to disable
it without a kernel recompile.


# 92b98fda 13-Feb-2002 Robert Watson <rwatson@FreeBSD.org>

Remove WITNESS from GENERIC by default: as we grow more locks, this gets
slower, and may be impeding adoption of -CURRENT by developers. We
recommend turning on WITNESS by default on crash boxes, and when doing
locking development. It will probably get turned on by default for a week
or two following any major locking commits, also.

Approved by: all and sundry (jhb, phk, ...)


# 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


# 1cb4661d 14-Dec-2001 Ian Dowse <iedowse@FreeBSD.org>

Enable UFS_DIRHASH in the GENERIC kernel.

Suggested by: silby
Reviewed by: dillon
MFC after: 5 days


# 66a11b9f 08-Dec-2001 Matthew Dillon <dillon@FreeBSD.org>

Allow maxusers to be specified as 0 in the kernel config, which will
cause the system to auto-size to between 32 and 512 depending on the
amount of memory.

MFC after: 1 week


# 40f0fe38 04-Dec-2001 Dag-Erling Smørgrav <des@FreeBSD.org>

PROCFS requires PSEUDOFS. I forgot that GENERIC didn't have PSEUDOFS yet.


# 7e46cddb 06-Nov-2001 David E. O'Brien <obrien@FreeBSD.org>

Fix tab damage in rev 1.326.


# 0ef2717b 31-Oct-2001 Robert Watson <rwatson@FreeBSD.org>

Spell deivces as devices.


# 8f3a0dd4 29-Oct-2001 Warner Losh <imp@FreeBSD.org>

Move device lnc to isa section, since it no longer uses the compat shims.
Add comment about lnc.
Remove probe order comment from isa_compat.c. That appears to no longer
be the case.


# 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


# 8c7c272c 20-Oct-2001 Matt Jacob <mjacob@FreeBSD.org>

Remove wx.


# c9326152 19-Oct-2001 David E. O'Brien <obrien@FreeBSD.org>

Drop support for x87 emulation. Any CPU one would dare to run 5-CURRENT
on would have built-in FP support.


# aaeac4f6 16-Oct-2001 Matt Jacob <mjacob@FreeBSD.org>

Make SCSI changer and SES devices standard in generic kernels.

Reviewed by: ken@kdm.org


# 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.


# 090905a5 23-Sep-2001 David E. O'Brien <obrien@FreeBSD.org>

+ Fix misplacement of `txp'
+ Document our -CURRENT debugging bits


# 22374865 22-Sep-2001 Chris D. Faulhaber <jedgar@FreeBSD.org>

Update NFS_ROOT comments to reflect the NFSCLIENT option
instead of the depricated NFS option.

Reviewed by: peter


# 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.


# 359ebc38 25-Aug-2001 Peter Wemm <peter@FreeBSD.org>

Argh! Revert accidental commit.


# 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.


# 3633ea98 05-Aug-2001 Nate Williams <nate@FreeBSD.org>

- Removed comment about ThinkPad keyboards from the PCVT line. Any ThinkPad
that needs this probably won't run -current, as it's at least 5 years old.


# 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.


# 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>


# 53dab5fe 02-Jul-2001 Brooks Davis <brooks@FreeBSD.org>

gif(4) and stf(4) modernization:

- Remove gif dependencies from stf.
- Make gif and stf into modules
- Make gif cloneable.

PR: kern/27983
Reviewed by: ru, ume
Obtained from: NetBSD
MFC after: 1 week


# 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.


# ecf33dd4 29-May-2001 Matt Jacob <mjacob@FreeBSD.org>

move wx to be part of miibus requiring chipsets


# 888a8e35 29-May-2001 Poul-Henning Kamp <phk@FreeBSD.org>

Remove MFS options from all example kernel configs.


# 62d1937c 25-May-2001 Jordan K. Hubbard <jkh@FreeBSD.org>

Take pcm (audio) back out of GENERIC; there appears to be some
concensus, most notably among the maintainers, that it's better
loaded as a module.

Finally-pushed-over-the-edge-by-the-anguished-cries-of: rwatson


# 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.


# c5e70d92 15-Apr-2001 David E. O'Brien <obrien@FreeBSD.org>

Turn on kernel debugging support (DDB, INVARIANTS, INVARIANT_SUPPORT, WITNESS)
by default while SMPng is still being developed.

Submitted by: jhb


# 48c14243 16-Mar-2001 Søren Schmidt <sos@FreeBSD.org>

Remove the now defunct ATA_ENABLE* options

Spotted by: phk


# 4664a8d5 12-Mar-2001 Jonathan Lemon <jlemon@FreeBSD.org>

Move the fxp driver so it is under the miibus section.


# ff5fb8ad 06-Mar-2001 Gregory Sutter <gsutter@FreeBSD.org>

Spelling and capitalization fixes.

Reviewed by: gshapiro, jake, jhb, rwatson (all within 30 seconds)


# f2fdbb57 03-Mar-2001 Warner Losh <imp@FreeBSD.org>

Add support for Dlink DL10022 to the ed driver. This is a mii part
bolted to a ne-2000 chip. This is necessary for the NetGear FA-410TX
and other cards.

This also requires you add mii to your kernel if you have an ed driver
configured.

This code will result in a couple of timeout messages for ed on the
impacted cards. Additional work will be needed, but this does work
right now, and many people need these cards.

Submitted by: Ian Dowse <iedowse@maths.tcd.ie>


# b9e3a5d3 24-Feb-2001 Peter Wemm <peter@FreeBSD.org>

Drop the 'count' from the aha device specs


# 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.


# b0254d10 27-Jan-2001 Poul-Henning Kamp <phk@FreeBSD.org>

Turn DEVFS on by default.

You may need to turn this off if you you vinum. Apart from that I know of
no reason not to run with DEVFS.


# d008d67e 19-Jan-2001 Peter Wemm <peter@FreeBSD.org>

At great personal risk to my sanity, turn off COMPAT_OLDISA and the
two drivers that depend on it - ie and le. The compat code has not been
disabled.


# 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


# 4408a4e8 14-Jan-2001 John Baldwin <jhb@FreeBSD.org>

Argh, remove a local customization that snuck in here.

Noticed by: jasone


# decc707a 14-Jan-2001 John Baldwin <jhb@FreeBSD.org>

Remove I386_CPU from GENERIC. Support for the 386 seriously pessimizes
performance on other x86 processors. Custom kernels can still be built
that will run on the 386.


# 3164c587 20-Dec-2000 Paul Richards <paul@FreeBSD.org>

Re-enable the lnc driver in GENERIC.


# 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.


# 9b677143 11-Dec-2000 Poul-Henning Kamp <phk@FreeBSD.org>

Remove DDB, it leaked in here with another commit.

Submitted by: bde


# 959b7375 08-Dec-2000 Poul-Henning Kamp <phk@FreeBSD.org>

Staticize some malloc M_ instances.


# e655ea71 15-Nov-2000 Warner Losh <imp@FreeBSD.org>

Add pmtimer device, necessary for proper time keeping when apm or
other power management devices are enabled.


# 4dc665b8 13-Nov-2000 Jordan K. Hubbard <jkh@FreeBSD.org>

Proper capitalization of PCMCIA (and avoid matching pcm)


# 68ce54fb 13-Nov-2000 Jordan K. Hubbard <jkh@FreeBSD.org>

In the year 2000, I think it's perfectly reasonable to include audio
support by default in GENERIC.


# 30cb2a0d 07-Nov-2000 Warner Losh <imp@FreeBSD.org>

Make the ISA nic section look like the other device sections with
comments on the same line like so:
device foo # FooInc Brand NetEther cards

Also, move the wireless NIC cards to their own section.

Add commented out wl driver in wireless section.

Remove obsolete or redundant comments about some of the wireless cards
that used to apply but don't since we've removed 'at foobus'.

There should be no functional changes in this change.


# 53501555 07-Nov-2000 Warner Losh <imp@FreeBSD.org>

Minor ordering changes to make more sections strictly alphabetical.


# 600ae3dd 07-Nov-2000 Semen Ustimenko <semenu@FreeBSD.org>

Synced tx(4) driver descriptions + ``device tx'' line moved to the
list of drivers using miibus.

PR: kern/22556


# f425f328 06-Nov-2000 Bill Paul <wpaul@FreeBSD.org>

The vx driver no longer needs the PCI compat shims. Also should now
work on the alpha (at least the PCI part should).


# f94a808c 28-Oct-2000 Nik Clayton <nik@FreeBSD.org>

Add a brief comment telling people to retain 'device miibus' as necessary.

PR: docs/21981
Submitted by: Matthew Emmerton <matt@gsicomp.on.ca>


# 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.


# 2fd84f56 25-Oct-2000 Nick Hibma <n_hibma@FreeBSD.org>

The USB scanner driver. To be used together with SANE.


# 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


# 5f3dac9c 11-Oct-2000 Mike Smith <msmith@FreeBSD.org>

Bring the 'twe' driver back now that we think it should work.


# 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


# 73334a43 20-Sep-2000 Bill Paul <wpaul@FreeBSD.org>

Add a new driver for the AMD PCnet/FAST, FAST+ and Home PCI adapters.
Previously, these cards were supported by the lnc driver (and they
still are, but the pcn driver will claim them first), which is fine
except the lnc driver runs them in 16-bit LANCE compatibility mode.
The pcn driver runs these chips in 32-bit mode and uses the RX alignment
feature to achieve zero-copy receive. (Which puts it in the same
class as the xl, fxp and tl chipsets.) This driver is also MI, so it
will work on the x86 and alpha platforms. (The lnc driver is still
needed to support non-PCI cards. At some point, I'll need to newbusify
it so that it too will me MI.)

The Am79c978 HomePNA adapter is also supported.


# 5d7e2cbe 14-Sep-2000 Yoshihiro Takahashi <nyan@FreeBSD.org>

Moved the fe driver from the compat section to the correct section.

Submitted by: sanpei


# 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


# eaeac22d 11-Sep-2000 Bill Fumerola <billf@FreeBSD.org>

Move tx to the list of drivers that now require miibus.


# 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.


# 2422dd79 24-Aug-2000 Peter Wemm <peter@FreeBSD.org>

Comment out the static wiring of hints for GENERIC - the release process
now installs the hints file into /boot.


# 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.


# 3f54a085 20-Aug-2000 Poul-Henning Kamp <phk@FreeBSD.org>

Remove all traces of Julians DEVFS (incl from kern/subr_diskslice.c)

Remove old DEVFS support fields from dev_t.

Make uid, gid & mode members of dev_t and set them in make_dev().

Use correct uid, gid & mode in make_dev in disk minilayer.

Add support for registering alias names for a dev_t using the
new function make_dev_alias(). These will show up as symlinks
in DEVFS.

Use makedev() rather than make_dev() for MFSs magic devices to prevent
DEVFS from noticing this abuse.

Add a field for DEVFS inode number in dev_t.

Add new DEVFS in fs/devfs.

Add devfs cloning to:
disk minilayer (ie: ad(4), sd(4), cd(4) etc etc)
md(4), tun(4), bpf(4), fd(4)

If DEVFS add -d flag to /sbin/inits args to make it mount devfs.

Add commented out DEVFS to GENERIC


# ff680471 28-Jul-2000 David E. O'Brien <obrien@FreeBSD.org>

Revert previous commit. Not all RAID controllers are SCSI.


# c79ef5d3 28-Jul-2000 David E. O'Brien <obrien@FreeBSD.org>

Move the RAID controllers next to the SCSI controllers.


# cf10fa4f 28-Jul-2000 David E. O'Brien <obrien@FreeBSD.org>

Comment out `ncr' as `sym' handles all that `ncr' does.
(only commented out to make it easy for people to find it that really
wants it.)

Asked for by: Peter


# 78a40870 25-Jul-2000 Bill Fumerola <billf@FreeBSD.org>

s%LINT%NOTES%g


# 08a7e048 10-Jul-2000 Matt Jacob <mjacob@FreeBSD.org>

Removing commented out devices I added.


# 62d132e3 08-Jul-2000 Matt Jacob <mjacob@FreeBSD.org>

Oops- remove the '0' appended to targbh.


# 94ad21f3 08-Jul-2000 Matt Jacob <mjacob@FreeBSD.org>

Add in the commented out SCSI device entries of

#device ses # SCSI Environmental Services (and SAF-TE)
#device targ # SCSI Target Mode Code
#device targbh0 # SCSI Target Mode Blackhole Device
#define pt # SCSI Processor Target Device

so that people know that they are there.


# 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)


# bc265916 22-Jun-2000 Peter Wemm <peter@FreeBSD.org>

Add SOFTUPDATES to GENERIC (BOOTMFS has this filtered out)


# 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


# 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


# 214d1c55 13-May-2000 Tim Vanderhoek <hoek@FreeBSD.org>

Change to comments only: spell FreeBSD.org correctly


# 558d6032 11-May-2000 John Baldwin <jhb@FreeBSD.org>

Turn on USB support for most USB devices. udbp is not turned on since
NETGRAPH is not present in GENERIC at the moment. Also, change some
settings to support USB installs:

- Add KBD_INSTALL_CDEV as an option to make /dev/kbd[01] actually work.
- Turn on keyboard probing in sc0. The syscons driver will now use a
flag documented in ukbd(4) but not in sc(4) that tells syscons to
actively search for a keyboard device if none is found. This allows
USB keyboards to just be plugged in and instantly start working.
- Require the atkbd0 driver to actually probe to see if a keyboard is
there. This allows USB keyboards to be seen by sc0 if an AT keyboard
isn't plugged into the computer. This also means that you will no
longer be able to plug an AT keyboard into a machine after it has
booted a GENERIC kernel and use it. AT keyboards aren't designed for
this anyway. USB keyboards are designed for this, and they work.


# 0ab302bf 02-May-2000 Warner Losh <imp@FreeBSD.org>

Move sn and cs drivers from the compat section to the real section.
Enable xe driver now that I've had reports that it works.

PR: 18323
Submitted by: MIHIRA Yoshiro-san


# 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.


# aec5a3b3 15-Apr-2000 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

Fix typo, extentions -> extensions

Submitted by: George Cox <gjvc@sophos.com>


# 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>


# afb8931f 04-Apr-2000 Hellmuth Michaelis <hm@FreeBSD.org>

Remove obsolete reference to PCVT_FREEBSD.


# 6ad9d702 21-Mar-2000 Dan Moschuk <dan@FreeBSD.org>

Include a space between hash ('#') and 'Berkeley packet filter' like
all the other comments have.


# 4e64b0d3 19-Mar-2000 Peter Wemm <peter@FreeBSD.org>

Document and supply COMPAT_OLDPCI and COMPAT_OLDISA so 'make release'
still works.


# 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>


# 5e3488e3 09-Mar-2000 Jonathan Lemon <jlemon@FreeBSD.org>

Add Compaq `ida' driver to GENERIC, update it's LINT entry.

Approved by: jordan


# 60bfc3b0 27-Feb-2000 Brian Feldman <green@FreeBSD.org>

Do some cleanups of the IPv6 stuff. This is a non-functional change.

Approved by: jkh


# 0dab4916 26-Feb-2000 Jordan K. Hubbard <jkh@FreeBSD.org>

Enable IPv6 support by default.


# 418a4537 20-Feb-2000 Nick Hibma <n_hibma@FreeBSD.org>

Update the documentation to reflect Bill Paul's latest changes.


# 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


# 4a041628 04-Feb-2000 Jordan K. Hubbard <jkh@FreeBSD.org>

Clean up POSIX options, syncronize generics.


# 764d1fc4 01-Feb-2000 Nick Hibma <n_hibma@FreeBSD.org>

da0 -> da


# 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.


# 173c0f9f 27-Jan-2000 Warner Losh <imp@FreeBSD.org>

Mitigate the stream.c attacks

o Drop all broadcast and multicast source addresses in tcp_input.
o Enable ICMP_BANDLIM in GENERIC.
o Change default to 200/s from 100/s. This will still stop the attack, but
is conservative enough to do this close to code freeze.

This is not the optimal patch for the problem, but is likely the least
intrusive patch that can be made for this.

Obtained from: Don Lewis and Matt Dillon.
Reviewed by: freebsd-security


# b33b1940 24-Jan-2000 Peter Wemm <peter@FreeBSD.org>

Remove a bunch of no-op "port ?" and "irq ?" declarations.


# 621d865f 23-Jan-2000 Bruce Evans <bde@FreeBSD.org>

Removed bogus quotes and unmangled related contractions.
"ktrace(1) syscall trace" -> "ktrace(1)".


# 97608dbe 23-Jan-2000 Peter Wemm <peter@FreeBSD.org>

Some formatting cleanups and remove comments about numbers of units that
were intended to head off confusion about the trailing '0'.


# 0d31b179 23-Jan-2000 Peter Wemm <peter@FreeBSD.org>

Drop 'at ppbus?' and the trailing '0' from the ppbus children.


# 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.


# f0e4bd3f 22-Jan-2000 Warner Losh <imp@FreeBSD.org>

Add the two wireless pccard nics.


# 29429dde 21-Jan-2000 Wilko Bulte <wilko@FreeBSD.org>

updated comments


# c5954134 18-Jan-2000 Jordan K. Hubbard <jkh@FreeBSD.org>

Enable POSIX P1003_1B extentions by default; there's no reason I can see
not to class them with the SYSV extentions as "optional but damn useful".

Also desired by: wollman


# 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.


# 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.


# c201f69b 11-Jan-2000 David E. O'Brien <obrien@FreeBSD.org>

Sort.


# 89ce66ed 09-Jan-2000 Warner Losh <imp@FreeBSD.org>

Uncomment pcic device and put pccard in GENERIC. PCCARD will be removed
in a little while as soon as I find all the places it is used in the
tree.


# 62d128b8 08-Jan-2000 Peter Wemm <peter@FreeBSD.org>

s/controller/device/ as per config(8) changes


# 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


# b6ca8f5a 04-Jan-2000 Matt Jacob <mjacob@FreeBSD.org>

add wx0 driver


# 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


# b6219c62 22-Dec-1999 Bill Paul <wpaul@FreeBSD.org>

Fix minor typo in comments about WaveLAN/IEEE driver: 802.1 -> 802.11


# 19b132d7 21-Dec-1999 David E. O'Brien <obrien@FreeBSD.org>

Turn on the `sym' driver by default. It lives well beside the `ncr' driver
now. On one machine with <825a> and <875> controllers, `sym' correctly
attached. On another one with only a <ncr 53c810 fast10 scsi>, the `ncr'
driver correctly attached.


# 65bbe4e3 19-Dec-1999 Bill Fumerola <billf@FreeBSD.org>

Borrow phk's axe and chop off the old soundcard-CDROM devices. We get
about 40k of savings from this, and these abominations are still in LINT
if anyone needs to use them.

Reviewed by: jkh


# 70c3f049 19-Dec-1999 Mark Murray <markm@FreeBSD.org>

Comment and order to reduce diffs. No functional change.


# 4e820cbe 18-Dec-1999 Warner Losh <imp@FreeBSD.org>

spell isa right on sn0 line


# 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


# 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.


# a3fb836c 08-Dec-1999 Søren Schmidt <sos@FreeBSD.org>

Finally use the new ata driver.


# 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)


# ee46a571 04-Dec-1999 Luoqi Chen <luoqi@FreeBSD.org>

Reinstate the aic driver.

PR: conf/15187


# 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.


# 42264206 02-Dec-1999 Mike Smith <msmith@FreeBSD.org>

Remove the 'gzip' image activator. We're not using a.out anymore, so save
ourselves just over 8k.


# 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


# 8d0b9687 01-Dec-1999 Mike Smith <msmith@FreeBSD.org>

Add the AMI MegaRAID and Mylex DAC960 drivers. Installation to arrays
on these controllers is now no different to the process for any other
supported disk controller.


# 521c57eb 27-Nov-1999 David E. O'Brien <obrien@FreeBSD.org>

Sort PCI SCSI controlers.


# 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.


# 61677ebb 27-Nov-1999 David E. O'Brien <obrien@FreeBSD.org>

Add a commented out 'ATA' driver config block to help assist -CURRENT
people to migrate to this driver since it will be the default IDE/ATA/ATAPI
driver in 4.0-R.


# 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.


# 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


# 82cd038d 21-Nov-1999 Yoshinobu Inoue <shin@FreeBSD.org>

KAME netinet6 basic part(no IPsec,no V6 Multicast Forwarding, no UDP/TCP
for IPv6 yet)

With this patch, you can assigne IPv6 addr automatically, and can reply to
IPv6 ping.

Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project


# 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.


# d1eb1e4f 21-Oct-1999 Nick Hibma <n_hibma@FreeBSD.org>

From: src/sys/i386/conf/PCCARD

revision 1.21
date: 1999/10/15 17:29:20; author: imp; state: Exp; lines: +3 -3
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.

Forgotten by: imp


# ed8c6514 15-Oct-1999 Bill Paul <wpaul@FreeBSD.org>

Convert the mx driver to miibus.

In order to make this work, I created a pseudo-PHY driver to deal with
Macronix chips that use the built-in NWAY support and symbol mode port.
This is actually all of them, with the exception of the original MX98713
which presents its NWAY support via the MII serial interface.

The mxphy driver actually manipulates the controller registers directly
rather than using the miibus_readreg()/miibus_writereg() bus interface
since there are no MII registers to read. The mx driver itself pretends
that the NWAY interface is a PHY locayed at MII address 31 for the sole
purpose of allowing the mxphy_probe() routine to know when it needs to
attach to a host controller.


# b65fdcda 15-Oct-1999 David E. O'Brien <obrien@FreeBSD.org>

Acutally our style is "options\x20\x09".

As BDE says: "options\x09\x09foo" looks quite different from
"options\x20\x09foo" after adding a one or two character prefix.

Notice by: BDE


# 5fafa719 14-Oct-1999 David E. O'Brien <obrien@FreeBSD.org>

Like it or not, we use ^I's not 0x20 to align things in this file.


# 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.


# ae3b8c19 19-Sep-1999 Bill Paul <wpaul@FreeBSD.org>

Convert the VIA Rhine driver to miibus.


# 0e985713 11-Sep-1999 Justin T. Gibbs <gibbs@FreeBSD.org>

Add the AMD driver.


# c6a5d1a6 09-Sep-1999 Peter Wemm <peter@FreeBSD.org>

Seperate the miibus pci ethernet drivers from the non-miibus drivers so
it's a little clearer which is which from just looking at GENERIC.


# 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.


# 3dd1fb66 01-Sep-1999 Jordan K. Hubbard <jkh@FreeBSD.org>

Try and commit the tun comment fix again; I have no idea why there
was a clash the last time, leading me to think that it had already
been fixed.


# 3e5eed68 31-Aug-1999 Brian Somers <brian@FreeBSD.org>

ppp(1) -> ppp(8)


# 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.


# 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.


# 0a729622 06-Aug-1999 Jordan K. Hubbard <jkh@FreeBSD.org>

Enable bpf by default. There was no significant dissention to my proposal
of 2 weeks ago that this be done, and anyone who wishes to make bpf more
selective according to securelevel or compile-time options is more
than free to do so.


# 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.


# a6c6cfcd 13-Jul-1999 David E. O'Brien <obrien@FreeBSD.org>

Move the xe0 driver back where it was. It was misleading where it was as it
does not take over the PCIC, it does require PCCARD support, and it doesn't
replace any existing driver.


# 6b5ca0d8 06-Jul-1999 Dag-Erling Smørgrav <des@FreeBSD.org>

Rename bpfilter to bpf.


# 1f06573d 29-Jun-1999 Peter Wemm <peter@FreeBSD.org>

Put on my asbestos suit and attempt to tidy up and add some simple docs
or notes to make it much more obvious what things are for people who
have not committed LINT to memory yet.


# d571daa0 19-Jun-1999 Jordan K. Hubbard <jkh@FreeBSD.org>

Clean up some of the documentation at the top.


# 9b953cf6 15-Jun-1999 Dag-Erling Smørgrav <des@FreeBSD.org>

Kill option FAILSAFE.

PR: i386/12187
Approved by: bde


# 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.


# 282462f9 13-May-1999 David E. O'Brien <obrien@FreeBSD.org>

Add the `xe' Xircom PC Card driver.


# 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.


# 3574d12d 03-May-1999 Mike Smith <msmith@FreeBSD.org>

Disable the ppc chipset-specific probes by default.


# b7b075a2 02-May-1999 Nick Hibma <n_hibma@FreeBSD.org>

Add driver for the Iomega Zip 100 drive.


# 5895e3c8 24-Apr-1999 Peter Wemm <peter@FreeBSD.org>

De-quote where possible and minor tweaks. depends on a current config(8).


# 36d9945d 24-Apr-1999 Peter Wemm <peter@FreeBSD.org>

Drop the tty/net/bio/cam interrupt class labels, they are meaninless here
now.


# 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


# 24c38be4 16-Apr-1999 Jordan K. Hubbard <jkh@FreeBSD.org>

Add SYSVSEM so that newer versions of Xaccel don't require a kernel
compile just to work. We have the room now, so what the heck.

Reqested by: Thomas Roell <roell@xig.com>


# 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.


# 11290483 13-Apr-1999 Peter Wemm <peter@FreeBSD.org>

Add a commented-out example on using the makeoptions command to get a
kernel.debug.


# 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


# 7dc1a5bd 11-Apr-1999 Nick Hibma <n_hibma@FreeBSD.org>

Make debugging more selective.
Remove debugging options from GENERIC


# 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.


# 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.


# 1571f899 21-Feb-1999 Nick Hibma <n_hibma@FreeBSD.org>

Rename hid device to uhid (HID: Human Interface Device)


# 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.


# 2402b9a1 20-Feb-1999 David E. O'Brien <obrien@FreeBSD.org>

Really make the "Rename nlpt to lpt." purported to have been made in
rev 1.149.


# 29c6a10b 17-Feb-1999 Garrett Wollman <wollman@FreeBSD.org>

Add a little bit more identifying information to the myriad PCI network
drivers.


# 7d0d5e18 14-Feb-1999 Jordan K. Hubbard <jkh@FreeBSD.org>

MF3: add SYSVMSG


# 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.


# 04e83575 10-Feb-1999 Joseph Koshy <jkoshy@FreeBSD.org>

Fix typos


# de7462ba 09-Feb-1999 Dag-Erling Smørgrav <des@FreeBSD.org>

Use ppbus instead of the lpt driver. Throw in a (commented-out) vpo entry
for good measure.


# 38ebe562 04-Feb-1999 Adam David <adam@FreeBSD.org>

replace previous stupid comment with one more appropriate
where it will be easily found


# 431552d2 04-Feb-1999 Adam David <adam@FreeBSD.org>

remind that apm is required in order for timekeeping to work


# 8d25715c 27-Jan-1999 Eivind Eklund <eivind@FreeBSD.org>

Add ISA PnP support, now that we have the space for it.


# 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.


# 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).


# 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


# 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


# 8fab58d8 27-Dec-1998 Poul-Henning Kamp <phk@FreeBSD.org>

Add commented out SMP stuff in GENERIC, remove stale configs.


# 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


# eca58e5e 13-Dec-1998 Nick Hibma <n_hibma@FreeBSD.org>

dded the stubs for umodem and ucom (communications class driver). They are nothing other than
the ugen driver with different variable names.


# a48e33e0 09-Dec-1998 Nick Hibma <n_hibma@FreeBSD.org>

Preliminary support for OHCI motherboards


# 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.


# 0cec007c 26-Nov-1998 Nick Hibma <n_hibma@FreeBSD.org>

Initial commit of ported NetBSD USB stack


# 58371a7e 12-Nov-1998 David E. O'Brien <obrien@FreeBSD.org>

Remove `amd', `nca' SCSI devices to match Mike's LINT commit.


# 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.


# 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.


# d1436a88 15-Oct-1998 David E. O'Brien <obrien@FreeBSD.org>

Add commented out bpf entry. (DHCP is popular here, and this is required).

Ok'ed by: jkh


# cbe7e088 10-Oct-1998 Jordan K. Hubbard <jkh@FreeBSD.org>

Add entries for MFS which are consistent with the others, now that
Peter has made this more selectable.


# 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.


# 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.


# 6335d18e 03-Oct-1998 Jordan K. Hubbard <jkh@FreeBSD.org>

Add dpt driver back to GENERIC and adjust a stale comment.


# d35326ae 01-Oct-1998 Mike Smith <msmith@FreeBSD.org>

Remove lpt1 - we have userconfig if you have a weird port.
Remove mse0 - the Microsoft Bus Mouse is a dinosaur. There are probably
more Pintos on the road than these on peoples' desks.


# 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).


# 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.


# 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.


# 14b1f190 04-Sep-1998 Mike Smith <msmith@FreeBSD.org>

Increase 'maxusers' to 32; with the number of people using GENERIC as
their one-size-fits-all kernel, this should help reduce the "out of foo"
reports.

Reviewed by: jkh


# 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.)


# 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>


# ccbe4f96 17-Jul-1998 Joerg Wunsch <joerg@FreeBSD.org>

Place a fat warning that floppy tapes should be configured as drive 2
only (normally).

PR: kern/7176


# 10004708 03-Jun-1998 Jordan K. Hubbard <jkh@FreeBSD.org>

Add the DPT driver here. It's kinda ironic that it got enabled in -stable
first. :)
PR: 6848


# e21faf3e 20-May-1998 Bill Paul <wpaul@FreeBSD.org>

And entries for ThunderLAN driver.


# 8bafc245 22-Apr-1998 Matt Jacob <mjacob@FreeBSD.org>

Add support for the Qlogic ISP SCSI && FC/AL Adapters


# 42be88e8 16-Feb-1998 Mike Smith <msmith@FreeBSD.org>

Remove DISABLE_PSE option which was masking (but not fixing) the problem.
A correct fix for execution off MFS filesystems has been committed.


# 354f83d3 15-Feb-1998 Mike Smith <msmith@FreeBSD.org>

TEMPORARILY disable support for the 4MB kernel page, as it appears to be
causing installation images for -current to be unbootable.

Submitted by: phk


# 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


# efae35ab 10-Jan-1998 Jordan K. Hubbard <jkh@FreeBSD.org>

Add ppp, at long last, back to GENERIC. We have enough room in the
kernel for it and I'm tired of reading the "This system lacks kernel
support for PPP..." line in people's tech support messages.


# c198e6ec 31-Oct-1997 Justin M. Seger <jseger@FreeBSD.org>

Change comments about ijppp to iijppp.

PR: conf/4905
Submitted by: takas-su@is.aist-nara.ac.jp


# 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.


# 9e5fbad4 08-Oct-1997 Nate Williams <nate@FreeBSD.org>

- Enable PS/2 mouse support by default. Given that almost all new hardware
has a PS/2 port, this is a good thing. Note, older 386/486 boxes may
lockup the keyboard controller with this enabled, but most of these kinds
of machines don't run -current, so the benefits outweigh the downsides.

Discussed with: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>


# cec9e91f 21-Sep-1997 Justin T. Gibbs <gibbs@FreeBSD.org>

Oops. This file shouldn't have been committed.


# 168bbc99 21-Sep-1997 Justin T. Gibbs <gibbs@FreeBSD.org>

Move the rules for aicasm to the MI conf file.


# 755b925e 14-Sep-1997 Joerg Wunsch <joerg@FreeBSD.org>

Addf flags 0x10 to the sio0 line, so it is available as a potential
console. This features backwards-compatibility to the era when sio(4)
was always available for a console.


# c1f94e71 22-Jul-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

Well, consensus seems very split on this so I talked it over with DG
and he says he's happy to see forward movement in aligning our defaults
with a 16 bit world, the 8 bit folk already being veterans by this
point who know how to use userconfig.

In any case, perhaps Warner will soon come to save us all with his Dynamic
Probing(tm) feature and this will all become totally moot in any case,
so it's probably not worth arguing about either way.


# 50c6520b 14-Jul-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

Add SYSVSHM by default. Nobody seems to have objected too strongly
to this when raised, and most were in favor of at least this option
(some also asked for semaphores and messages, but I'll leave that argument
for another time :).


# 818de095 05-Jun-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

YAMF22 - XSERVER comment changes.


# 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.


# 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.


# a92a5c23 13-Mar-1997 Bruce Evans <bde@FreeBSD.org>

Quoted CMD640. It's still missing from options.i386.

Removed stale comment saying that npx0 is mandatory.


# 09d5def9 12-Mar-1997 Stefan Eßer <se@FreeBSD.org>

Activate CMD640 workaround


# 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.


# 0942673f 17-Jan-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

Adjust ex0 entries properly after talking with Javier.


# 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>


# 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.


# 56ecc382 20-Dec-1996 Stefan Eßer <se@FreeBSD.org>

Mention amd driver in comment regarding PCI drivers.


# f8fc0225 17-Dec-1996 Stefan Eßer <se@FreeBSD.org>

Add driver for AMD 53c974 SCSI (Tekram DC390/390T).
Remove MAX_LUN=2 option for NCR driver: FAILSAFE does
no longer imply MAX_LUN=1.


# b88a8959 15-Dec-1996 Stefan Eßer <se@FreeBSD.org>

Remove "options MAXLUN=2" since the ncr driver will probe for 8 LUNs
now anyway, even if compiled with FAILSAFE defined.


# 0b3870cb 13-Dec-1996 Jordan K. Hubbard <jkh@FreeBSD.org>

Close PR#2198:

I've added an installation from optical disk drive facility.
This enables FreeBSD to be installed from an optical disk, which
may be formatted in "super floppy" style or sliced into MSDOS-FS
and UFS partitions.

Note: ncr.c should be reviewed by Stefan Esser <se@freebsd.org>
and cd.c by Joerg Wunsch <joerg@freebsd.org> before bringing this
into 2.2.

Submitted-By: Shunsuke Akiyama <akiyama@kme.mei.co.jp>


# 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.


# 1affda38 27-Oct-1996 Justin T. Gibbs <gibbs@FreeBSD.org>

Add two new aic7xxx driver options:

AHC_FORCE_PIO - This forces the driver to use PIO even on systems that
say they have memory mapped the controller's registers. This
seems to fix Ken Lam's problems. I've also placed this option
in the GENERIC kernel file so that we are guaranteed to install
even on these flakey machines.

AHC_SHARE_SCBS - This option attempts to share the external SCB SRAM on
the 398X controllers allowing a totoll of 255 non-paged SCBs.
This doesn't work quite yet, so this option is mostly here to
help 398X owners to experiment and give me feedback until this
works properly.


# 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


# 8830dd31 27-Aug-1996 Wolfram Schneider <wosch@FreeBSD.org>

Add hints to the file ./LINT and the handbook.


# 0375cce8 11-Jul-1996 Jordan K. Hubbard <jkh@FreeBSD.org>

Merge.


# 9f5c1d51 09-Jul-1996 Jordan K. Hubbard <jkh@FreeBSD.org>

Clean out some historical cruft.


# c683ac7c 30-Jun-1996 Joerg Wunsch <joerg@FreeBSD.org>

Enable ktrace by default, accompanied by a small reminder about the
implications (4 KB bloat, slight slowdown of syscalls).

Reviewed by: freebsd-hackers


# 93063432 16-Jun-1996 Joerg Wunsch <joerg@FreeBSD.org>

Explain the options for the `od' driver.


# 92d38a13 12-May-1996 Nate Williams <nate@FreeBSD.org>

Added commented out PCCARD entries to GENERIC, also document and add
entries in LINT.


# 2c703b3e 30-Apr-1996 Bruce Evans <bde@FreeBSD.org>

Only disable sio3 by default.


# 9773398d 29-Apr-1996 Jordan K. Hubbard <jkh@FreeBSD.org>

Add ATAPI_STATIC so that the ATAPI cdroms work correctly again
under -current.
Submitted-By: Serge Vakulenko <vak@cronyx.ru>


# 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


# 6bb76283 17-Apr-1996 Nate Williams <nate@FreeBSD.org>

Added a disabled psm0 (PS/2) mouse device, using the new 'disable'
keyword.


# 7506b46e 10-Apr-1996 Jordan K. Hubbard <jkh@FreeBSD.org>

Disable sio3 in GENERIC - it messes with ATI cards.


# dbb315cb 09-Apr-1996 Jordan K. Hubbard <jkh@FreeBSD.org>

Gag! Somebody removed the bus mouse from GENERIC for reasons unknown.
That certainly explains why I noticed it suddenly missing from the
2.2 SNAPSHOT! :-)


# 51fa90c5 20-Mar-1996 Jordan K. Hubbard <jkh@FreeBSD.org>

Add vx0 device to GENERIC. Yes, I know that this bloats GENERIC, but
what can we do?


# 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>


# 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.


# 4e593506 19-Jan-1996 Nate Williams <nate@FreeBSD.org>

Added a comment above the npx0 device line
# Mandatory, don't remove


# a8ce2e68 07-Jan-1996 Justin T. Gibbs <gibbs@FreeBSD.org>

Add comment about only needing on of either ahc, ncr, or ahb type
controllers to handle any number of devices.
Remove unnecessary extra units for these controllers.


# 56c7a48c 28-Dec-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Make a couple of options that hurt when they're removed more
carefully noted.


# 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.


# 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.


# 174f8afa 10-Dec-1995 Bruce Evans <bde@FreeBSD.org>

Added pcvt option FAT_CURSOR.

Fixed comment about PCVT_VERSION=210.

Fixed tabs and trailing blanks.


# 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.


# 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.


# 49bdb5b8 31-Oct-1995 Joerg Wunsch <joerg@FreeBSD.org>

Include the "od" driver.


# 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>


# 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>


# d3628763 11-Jun-1995 Rodney W. Grimes <rgrimes@FreeBSD.org>

Merge RELENG_2_0_5 into HEAD


# 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.


# 807afe4f 01-May-1995 Poul-Henning Kamp <phk@FreeBSD.org>

A missing 'and', probably my fault.

Submitted by: Ed Hudson <elh@p5.spnet.com>


# d3f4d460 23-Apr-1995 Poul-Henning Kamp <phk@FreeBSD.org>

Added "bio" to matcd.


# 804e33a8 20-Apr-1995 Poul-Henning Kamp <phk@FreeBSD.org>

Add wd2 and wd3 as swap-devices too.


# 8d89e37c 10-Apr-1995 Poul-Henning Kamp <phk@FreeBSD.org>

I got that wrong,
lnc0 @ 0x280
lnc1 @ 0x300

moved le0 into sorted sequence.


# 1f9e6f19 10-Apr-1995 Poul-Henning Kamp <phk@FreeBSD.org>

lnc0 is @ 0x300
lnc1 is @ 0x280


# 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...


# 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.


# 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.


# f8e028be 18-Mar-1995 Rodney W. Grimes <rgrimes@FreeBSD.org>

Add Intel EtherExpress16 (ix0) driver.
Reviewed by:
Submitted by:
Obtained from:


# 9cfb8f7e 11-Mar-1995 Atsushi Murai <amurai@FreeBSD.org>

Adding tunnel pseudo-device for Network Installation with User process PPP.
Reviewed by: amruai@spec.co.jp


# 68cfe626 05-Mar-1995 Joerg Wunsch <joerg@FreeBSD.org>

pcvt is still using the XSERVER option; document this.


# 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>


# c851c2f0 15-Feb-1995 Joerg Wunsch <joerg@FreeBSD.org>

Include three lines about the pcvt console driver, so we don't ever need
a different config file for it.


# 11af8962 09-Feb-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Add PPP to the generic kernel. Now that Poul has made us all this space,
maybe I can get us back into the slip/ppp game without having to tell users
to reconfigure their kernels all the time! :)


# f1780a6c 27-Jan-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Add soundblaster CD to generic kernel. Hope this doesn't run us out
of space!


# 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>


# 87fcda46 25-Jan-1995 Andrey A. Chernov <ache@FreeBSD.org>

Remove FAT_CURSOR, it is already non-existent during several
last syscons versions


# 94187a78 24-Jan-1995 Paul Richards <paul@FreeBSD.org>

is to lnc changes


# 99495644 14-Jan-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Remove bogus scd0 driver - I should have looked at LINT first, anyway.


# 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


# 451ab98f 12-Jan-1995 Justin T. Gibbs <gibbs@FreeBSD.org>

Add in aic7770.c (EISA/VL Adaptors) and aic7870.c (PCI adaptor) dependancies
for the ahc driver.


# 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.


# 76fe9b27 17-Dec-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Add a 'vn' to GENERIC


# 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


# 26b39132 18-Nov-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Put ie0 above ep0. Otherwise, the ie0 probe clobbers it.
Submitted by: gibbs


# cbb8b164 17-Nov-1994 Justin T. Gibbs <gibbs@FreeBSD.org>

New device-driver entries for the aic7770 driver. These use new features
of config so YOU MUST RECOMPILE CONFIG. Modifying config was the cleanest
solution to integrating this driver into the tree which will become more
obvious in the next commit.


# e424e8bf 13-Nov-1994 Justin T. Gibbs <gibbs@FreeBSD.org>

Add ep0 line to kernel config files.


# 412ac969 13-Nov-1994 Nate Williams <nate@FreeBSD.org>

Add Matt Thomas' le0 DEPCA driver to the GENERIC kernel. This works
but I can't test to see if it walks on other ethernet drivers. Can the
install folks add this driver to the install script?


# ef53d2f8 13-Nov-1994 David Greenman <dg@FreeBSD.org>

Nuked ed2 - it was added for the common 16bit card case where the
irq is 10. This is auto-sensed/configured now in the 'ed' driver.


# 5231231d 12-Nov-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Add back ed2. Harrumph..


# 794a7989 11-Nov-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

ed2 was actually an impossible entry to reach!


# e50e132a 10-Nov-1994 David Greenman <dg@FreeBSD.org>

Added 'de' ethernet driver.


# 49445644 10-Nov-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Enable floppy-tape support.


# 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.


# 2405ced3 05-Nov-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Argh! Missing quotes.


# 4525c93e 05-Nov-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

We need CD9660 and MSDOS filesystems built-in if the floppy is to have
a hope of getting at these types of filesystems without dragging all
the LKM stuff in.


# b851eb15 03-Nov-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Eliminate USERCONFIG. This option is now standard.


# 97555463 02-Nov-1994 Gary Palmer <gpalmer@FreeBSD.org>

Cosmetic changes in comment at start (it's no longer a GENERICAH config
file!)


# 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


# b4e5146f 22-Oct-1994 Poul-Henning Kamp <phk@FreeBSD.org>

NFS-diskless works. Look in sys/i386/boot/netboot for some of the
explanation. More doc needed, but not hard to do, if you want to.

A big hand to Martin Renters for the netboot program !

Anybody want to compete on who can "make world" in the shortest
amount of time ? I have 127 i486DX2/66 and 5 P60's I can use
now. And 3 times 66 Gb file servers to support it... :->

Anyway, NFS will be standard in the GENERIC kernel now, so that
people can use the bin-tarball to set up shop.


# 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 ?


# 677060b4 17-Oct-1994 Poul-Henning Kamp <phk@FreeBSD.org>

GENERIC is our new all singing and dancing kernel. Please report ASAP if
there is anything GENERICAH or GENERICBT can, which this one cannot.

MINI changed to reflect the SCSI-pecking-order.