1994-10-17 21:10:20 +00:00
|
|
|
#
|
2000-01-21 20:19:18 +00:00
|
|
|
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
|
1994-10-17 21:10:20 +00:00
|
|
|
#
|
2009-01-13 12:35:33 +00:00
|
|
|
# For more information on this file, please read the config(5) manual page,
|
|
|
|
# and/or the handbook section on Kernel Configuration Files:
|
1994-10-17 21:10:20 +00:00
|
|
|
#
|
2017-10-29 08:17:03 +00:00
|
|
|
# https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
|
1999-06-20 03:36:46 +00:00
|
|
|
#
|
|
|
|
# The handbook is also available locally in /usr/share/doc/handbook
|
|
|
|
# if you've installed the doc distribution, otherwise always see the
|
2017-10-29 08:17:03 +00:00
|
|
|
# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the
|
1999-06-20 03:36:46 +00:00
|
|
|
# latest information.
|
|
|
|
#
|
|
|
|
# An exhaustive list of options and more detailed explanations of the
|
2004-01-29 21:24:53 +00:00
|
|
|
# device lines is also present in the ../../conf/NOTES and NOTES files.
|
|
|
|
# If you are in doubt as to the purpose or necessity of a line, check first
|
2002-07-16 18:20:17 +00:00
|
|
|
# in NOTES.
|
1996-08-27 16:25:53 +00:00
|
|
|
#
|
1999-08-28 01:08:13 +00:00
|
|
|
# $FreeBSD$
|
1994-10-17 21:10:20 +00:00
|
|
|
|
2017-03-06 03:52:15 +00:00
|
|
|
cpu I486_CPU
|
2010-03-19 16:09:57 +00:00
|
|
|
cpu I586_CPU
|
1999-04-24 21:45:44 +00:00
|
|
|
cpu I686_CPU
|
1994-10-17 21:10:20 +00:00
|
|
|
ident GENERIC
|
|
|
|
|
2014-06-06 04:08:55 +00:00
|
|
|
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
|
2012-04-20 21:37:42 +00:00
|
|
|
makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support
|
2004-01-29 21:24:53 +00:00
|
|
|
|
2007-10-19 12:30:33 +00:00
|
|
|
options SCHED_ULE # ULE scheduler
|
2004-09-07 22:37:43 +00:00
|
|
|
options PREEMPTION # Enable kernel thread preemption
|
2018-01-14 16:04:51 +00:00
|
|
|
options VIMAGE # Subsystem virtualization, e.g. VNET
|
2004-01-29 21:24:53 +00:00
|
|
|
options INET # InterNETworking
|
|
|
|
options INET6 # IPv6 communications protocols
|
2017-09-19 20:40:05 +00:00
|
|
|
options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5
|
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
2016-10-12 02:16:42 +00:00
|
|
|
options TCP_HHOOK # hhook(9) framework for TCP
|
2012-06-19 07:34:13 +00:00
|
|
|
options TCP_OFFLOAD # TCP offload
|
2007-09-26 20:05:07 +00:00
|
|
|
options SCTP # Stream Control Transmission Protocol
|
2004-01-29 21:24:53 +00:00
|
|
|
options FFS # Berkeley Fast Filesystem
|
|
|
|
options SOFTUPDATES # Enable FFS soft updates support
|
|
|
|
options UFS_ACL # Support for access control lists
|
|
|
|
options UFS_DIRHASH # Improve performance on big directories
|
2007-04-10 21:40:13 +00:00
|
|
|
options UFS_GJOURNAL # Enable gjournal-based UFS journaling
|
2013-01-03 19:03:41 +00:00
|
|
|
options QUOTA # Enable disk quotas for UFS
|
2004-01-29 21:24:53 +00:00
|
|
|
options MD_ROOT # MD is a potential root device
|
2015-01-06 16:15:57 +00:00
|
|
|
options NFSCL # Network Filesystem Client
|
|
|
|
options NFSD # Network Filesystem Server
|
2008-03-27 11:54:20 +00:00
|
|
|
options NFSLOCKD # Network Lock Manager
|
2011-08-07 20:16:46 +00:00
|
|
|
options NFS_ROOT # NFS usable as /, requires NFSCL
|
2004-01-29 21:24:53 +00:00
|
|
|
options MSDOSFS # MSDOS Filesystem
|
|
|
|
options CD9660 # ISO 9660 Filesystem
|
|
|
|
options PROCFS # Process filesystem (requires PSEUDOFS)
|
|
|
|
options PSEUDOFS # Pseudo-filesystem framework
|
2012-05-10 12:37:32 +00:00
|
|
|
options GEOM_RAID # Soft RAID functionality.
|
2007-02-09 19:03:18 +00:00
|
|
|
options GEOM_LABEL # Provides labelization
|
2004-01-29 21:24:53 +00:00
|
|
|
options COMPAT_FREEBSD4 # Compatible with FreeBSD4
|
2005-07-14 15:39:06 +00:00
|
|
|
options COMPAT_FREEBSD5 # Compatible with FreeBSD5
|
2006-09-26 12:36:34 +00:00
|
|
|
options COMPAT_FREEBSD6 # Compatible with FreeBSD6
|
2008-01-07 21:40:11 +00:00
|
|
|
options COMPAT_FREEBSD7 # Compatible with FreeBSD7
|
2014-10-24 19:58:24 +00:00
|
|
|
options COMPAT_FREEBSD9 # Compatible with FreeBSD9
|
|
|
|
options COMPAT_FREEBSD10 # Compatible with FreeBSD10
|
2016-12-09 18:54:12 +00:00
|
|
|
options COMPAT_FREEBSD11 # Compatible with FreeBSD11
|
2019-05-02 18:10:23 +00:00
|
|
|
options COMPAT_FREEBSD12 # Compatible with FreeBSD12
|
2004-11-02 20:57:20 +00:00
|
|
|
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
|
2004-01-29 21:24:53 +00:00
|
|
|
options KTRACE # ktrace(1) support
|
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)
2007-12-02 20:40:35 +00:00
|
|
|
options STACK # stack(9) support
|
2004-01-29 21:24:53 +00:00
|
|
|
options SYSVSHM # SYSV-style shared memory
|
|
|
|
options SYSVMSG # SYSV-style message queues
|
|
|
|
options SYSVSEM # SYSV-style semaphores
|
|
|
|
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
|
2009-06-14 18:01:35 +00:00
|
|
|
options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed.
|
2000-05-12 03:05:35 +00:00
|
|
|
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
|
2009-05-10 00:00:25 +00:00
|
|
|
options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4)
|
2007-06-08 20:29:07 +00:00
|
|
|
options AUDIT # Security event auditing
|
2011-12-29 22:48:36 +00:00
|
|
|
options CAPABILITY_MODE # Capsicum capability mode
|
|
|
|
options CAPABILITIES # Capsicum capabilities
|
2009-06-02 18:31:08 +00:00
|
|
|
options MAC # TrustedBSD MAC Framework
|
2012-04-20 21:37:42 +00:00
|
|
|
options KDTRACE_HOOKS # Kernel DTrace hooks
|
2012-05-09 01:37:48 +00:00
|
|
|
options DDB_CTF # Kernel ELF linker loads CTF data
|
2014-03-16 15:22:52 +00:00
|
|
|
options INCLUDE_CONFIG_FILE # Include this file in kernel
|
2015-05-14 14:03:55 +00:00
|
|
|
options RACCT # Resource accounting framework
|
|
|
|
options RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
|
|
|
|
options RCTL # Resource limits
|
1994-10-17 21:10:20 +00:00
|
|
|
|
2011-10-27 13:07:49 +00:00
|
|
|
# Debugging support. Always need this:
|
2004-07-11 03:20:09 +00:00
|
|
|
options KDB # Enable kernel debugger support.
|
2013-08-07 08:03:50 +00:00
|
|
|
options KDB_TRACE # Print a stack trace for a panic.
|
2013-08-09 08:11:09 +00:00
|
|
|
# For full debugger support use (turn off in stable branch):
|
2004-07-11 03:20:09 +00:00
|
|
|
options DDB # Support DDB.
|
|
|
|
options GDB # Support remote GDB.
|
2010-02-15 23:44:48 +00:00
|
|
|
options DEADLKRES # Enable the deadlock resolver
|
2004-01-29 21:24:53 +00:00
|
|
|
options INVARIANTS # Enable calls of extra sanity checking
|
|
|
|
options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
|
|
|
|
options WITNESS # Enable checks to detect deadlocks and cycles
|
|
|
|
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
|
2010-07-28 15:36:12 +00:00
|
|
|
options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
|
2018-10-31 22:38:19 +00:00
|
|
|
options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default
|
2001-04-15 19:37:28 +00:00
|
|
|
|
2018-05-19 19:53:23 +00:00
|
|
|
# Kernel dump features.
|
|
|
|
options EKCD # Support for encrypted kernel dumps
|
|
|
|
options GZIO # gzip-compressed kernel and user dumps
|
|
|
|
options ZSTDIO # zstd-compressed kernel and user dumps
|
2019-10-17 16:23:03 +00:00
|
|
|
options DEBUGNET # debugnet networking
|
2018-05-19 19:53:23 +00:00
|
|
|
options NETDUMP # netdump(4) client support
|
2019-10-17 21:33:01 +00:00
|
|
|
options NETGDB # netgdb(4) client support
|
2018-05-19 19:53:23 +00:00
|
|
|
|
2004-12-30 15:30:23 +00:00
|
|
|
# To make an SMP kernel, the next two lines are needed
|
|
|
|
options SMP # Symmetric MultiProcessor Kernel
|
|
|
|
device apic # I/O APIC
|
2016-12-16 21:10:37 +00:00
|
|
|
options EARLY_AP_STARTUP
|
1998-12-27 13:12:59 +00:00
|
|
|
|
2007-07-01 21:47:45 +00:00
|
|
|
# CPU frequency control
|
|
|
|
device cpufreq
|
|
|
|
|
2005-10-27 17:34:35 +00:00
|
|
|
# Bus support.
|
2008-09-16 20:22:22 +00:00
|
|
|
device acpi
|
2002-07-23 06:38:47 +00:00
|
|
|
device pci
|
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
2016-05-05 22:26:23 +00:00
|
|
|
options PCI_HP # PCI-Express native HotPlug
|
2015-03-01 00:40:09 +00:00
|
|
|
options PCI_IOV # PCI SR-IOV support
|
1994-10-17 21:10:20 +00:00
|
|
|
|
1999-06-29 18:55:53 +00:00
|
|
|
# Floppy drives
|
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
2000-06-13 22:28:50 +00:00
|
|
|
device fdc
|
1994-10-17 21:10:20 +00:00
|
|
|
|
2011-04-24 08:58:58 +00:00
|
|
|
# ATA controllers
|
2014-03-16 15:22:52 +00:00
|
|
|
device ahci # AHCI-compatible SATA controllers
|
|
|
|
device ata # Legacy ATA/SATA controllers
|
|
|
|
device mvs # Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA
|
|
|
|
device siis # SiliconImage SiI3124/SiI3132/SiI3531 SATA
|
1999-11-27 23:25:17 +00:00
|
|
|
|
1999-06-29 18:55:53 +00:00
|
|
|
# SCSI Controllers
|
2014-03-16 15:22:52 +00:00
|
|
|
device ahc # AHA2940 and onboard AIC7xxx devices
|
|
|
|
device esp # AMD Am53C974 (Tekram DC-390(T))
|
|
|
|
device hptiop # Highpoint RocketRaid 3xxx series
|
|
|
|
device isp # Qlogic family
|
|
|
|
#device ispfw # Firmware for QLogic HBAs- normally a module
|
|
|
|
device mpt # LSI-Logic MPT-Fusion
|
|
|
|
device mps # LSI-Logic MPT-Fusion 2
|
2014-05-02 20:25:09 +00:00
|
|
|
device mpr # LSI-Logic MPT-Fusion 3
|
2018-10-22 02:36:18 +00:00
|
|
|
device sym # NCR/Symbios Logic
|
2014-03-16 15:22:52 +00:00
|
|
|
device trm # Tekram DC395U/UW/F DC315U adapters
|
|
|
|
device isci # Intel C600 SAS controller
|
2019-11-14 23:31:20 +00:00
|
|
|
device pvscsi # VMware PVSCSI
|
2000-10-23 12:55:51 +00:00
|
|
|
|
2011-04-24 08:58:58 +00:00
|
|
|
# ATA/SCSI peripherals
|
2014-03-16 15:22:52 +00:00
|
|
|
device scbus # SCSI bus (required for ATA/SCSI)
|
|
|
|
device ch # SCSI media changers
|
|
|
|
device da # Direct Access (disks)
|
|
|
|
device sa # Sequential Access (tape etc)
|
|
|
|
device cd # CD
|
|
|
|
device pass # Passthrough device (direct ATA/SCSI access)
|
|
|
|
device ses # Enclosure Services (SES and SAF-TE)
|
|
|
|
#device ctl # CAM Target Layer
|
1994-10-17 21:10:20 +00:00
|
|
|
|
2003-09-09 06:36:32 +00:00
|
|
|
# RAID controllers interfaced to the SCSI subsystem
|
2014-03-16 15:22:52 +00:00
|
|
|
device amr # AMI MegaRAID
|
|
|
|
device arcmsr # Areca SATA II RAID
|
|
|
|
device ciss # Compaq Smart RAID 5*
|
|
|
|
device iir # Intel Integrated RAID
|
|
|
|
device ips # IBM (Adaptec) ServeRAID
|
|
|
|
device mly # Mylex AcceleRAID/eXtremeRAID
|
|
|
|
device twa # 3ware 9000 series PATA/SATA RAID
|
|
|
|
device tws # LSI 3ware 9750 SATA+SAS 6Gb/s RAID controller
|
2003-09-09 06:36:32 +00:00
|
|
|
|
2000-07-29 02:12:44 +00:00
|
|
|
# RAID controllers
|
2014-03-16 15:22:52 +00:00
|
|
|
device aac # Adaptec FSA RAID
|
|
|
|
device aacp # SCSI passthrough for aac (requires CAM)
|
|
|
|
device aacraid # Adaptec by PMC RAID
|
|
|
|
device ida # Compaq Smart RAID
|
|
|
|
device mfi # LSI MegaRAID SAS
|
|
|
|
device mlx # Mylex DAC960 family
|
2014-09-04 21:06:33 +00:00
|
|
|
device mrsas # LSI/Avago MegaRAID SAS/SATA, 6Gb/s and 12Gb/s
|
2015-08-03 13:49:46 +00:00
|
|
|
device pmspcv # PMC-Sierra SAS/SATA Controller driver
|
2014-03-16 15:22:52 +00:00
|
|
|
device pst # Promise Supertrak SX6000
|
|
|
|
device twe # 3ware ATA RAID
|
2000-07-29 02:12:44 +00:00
|
|
|
|
2015-05-14 20:19:22 +00:00
|
|
|
# NVM Express (NVMe) support
|
|
|
|
device nvme # base NVMe driver
|
|
|
|
device nvd # expose NVMe namespace as disks, depends on nvme
|
|
|
|
|
1999-04-19 10:18:34 +00:00
|
|
|
# atkbdc0 controls both the keyboard and the PS/2 mouse
|
2014-03-16 15:22:52 +00:00
|
|
|
device atkbdc # AT keyboard controller
|
|
|
|
device atkbd # AT keyboard
|
|
|
|
device psm # PS/2 mouse
|
1999-01-11 03:18:56 +00:00
|
|
|
|
2014-03-16 15:22:52 +00:00
|
|
|
device kbdmux # keyboard multiplexer
|
2006-03-31 19:03:37 +00:00
|
|
|
|
2014-03-16 15:22:52 +00:00
|
|
|
device vga # VGA video card driver
|
|
|
|
options VESA # Add support for VESA BIOS Extensions (VBE)
|
1999-01-11 03:18:56 +00:00
|
|
|
|
2014-03-16 15:22:52 +00:00
|
|
|
device splash # Splash screen and screen saver support
|
1999-01-11 03:18:56 +00:00
|
|
|
|
1999-01-01 08:09:58 +00:00
|
|
|
# syscons is the default console driver, resembling an SCO console
|
2002-08-20 00:10:22 +00:00
|
|
|
device sc
|
2014-03-16 15:22:52 +00:00
|
|
|
options SC_PIXEL_MODE # add support for the raster text mode
|
1999-04-24 21:45:44 +00:00
|
|
|
|
2014-06-30 16:18:38 +00:00
|
|
|
# vt is the new video console driver
|
|
|
|
device vt
|
|
|
|
device vt_vga
|
|
|
|
|
2014-03-16 15:22:52 +00:00
|
|
|
device agp # support several AGP chipsets
|
2002-08-04 18:35:02 +00:00
|
|
|
|
2000-07-25 08:25:48 +00:00
|
|
|
# Power management support (see NOTES for more options)
|
2002-07-08 11:56:44 +00:00
|
|
|
#device apm
|
1997-03-29 11:07:12 +00:00
|
|
|
|
1996-05-13 04:29:14 +00:00
|
|
|
# PCCARD (PCMCIA) support
|
2004-01-29 21:24:53 +00:00
|
|
|
# PCMCIA and cardbus bridge support
|
2014-03-16 15:22:52 +00:00
|
|
|
device cbb # cardbus (yenta) bridge
|
|
|
|
device pccard # PC Card (16-bit) bus
|
|
|
|
device cardbus # CardBus (32-bit) bus
|
1996-04-22 19:40:28 +00:00
|
|
|
|
1999-06-29 18:55:53 +00:00
|
|
|
# Serial (COM) ports
|
2014-03-16 15:22:52 +00:00
|
|
|
device uart # Generic UART driver
|
1994-10-17 21:10:20 +00:00
|
|
|
|
1999-02-11 06:07:27 +00:00
|
|
|
# Parallel port
|
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
2000-06-13 22:28:50 +00:00
|
|
|
device ppc
|
2014-03-16 15:22:52 +00:00
|
|
|
device ppbus # Parallel port bus (required)
|
|
|
|
device lpt # Printer
|
|
|
|
device ppi # Parallel port interface device
|
|
|
|
#device vpo # Requires scbus and da
|
1999-06-29 18:55:53 +00:00
|
|
|
|
2014-03-16 15:22:52 +00:00
|
|
|
device puc # Multi I/O cards and multi-channel UARTs
|
1999-08-21 18:34:58 +00:00
|
|
|
|
2019-01-31 19:05:56 +00:00
|
|
|
# PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure
|
|
|
|
device iflib
|
|
|
|
device em # Intel PRO/1000 Gigabit Ethernet Family
|
|
|
|
device vmx # VMware VMXNET3 Ethernet
|
|
|
|
|
1999-06-29 18:55:53 +00:00
|
|
|
# PCI Ethernet NICs.
|
2014-03-16 15:22:52 +00:00
|
|
|
device bxe # Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE
|
|
|
|
device le # AMD Am7900 LANCE and Am79C9xx PCnet
|
|
|
|
device ti # Alteon Networks Tigon I/II gigabit Ethernet
|
1999-09-09 18:30:58 +00:00
|
|
|
|
|
|
|
# PCI Ethernet NICs that use the common MII bus controller code.
|
2000-10-28 22:32:17 +00:00
|
|
|
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
|
2014-03-16 15:22:52 +00:00
|
|
|
device miibus # MII bus support
|
|
|
|
device ae # Attansic/Atheros L2 FastEthernet
|
|
|
|
device age # Attansic/Atheros L1 Gigabit Ethernet
|
|
|
|
device alc # Atheros AR8131/AR8132 Ethernet
|
|
|
|
device ale # Atheros AR8121/AR8113/AR8114 Ethernet
|
|
|
|
device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet
|
|
|
|
device bfe # Broadcom BCM440x 10/100 Ethernet
|
|
|
|
device bge # Broadcom BCM570xx Gigabit Ethernet
|
|
|
|
device cas # Sun Cassini/Cassini+ and NS DP83065 Saturn
|
|
|
|
device dc # DEC/Intel 21143 and various workalikes
|
|
|
|
device et # Agere ET1310 10/100/Gigabit Ethernet
|
|
|
|
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
|
|
|
|
device gem # Sun GEM/Sun ERI/Apple GMAC
|
|
|
|
device hme # Sun HME (Happy Meal Ethernet)
|
|
|
|
device jme # JMicron JMC250 Gigabit/JMC260 Fast Ethernet
|
|
|
|
device lge # Level 1 LXT1001 gigabit Ethernet
|
|
|
|
device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet
|
|
|
|
device nfe # nVidia nForce MCP on-board Ethernet
|
|
|
|
device nge # NatSemi DP83820 gigabit Ethernet
|
|
|
|
device re # RealTek 8139C+/8169/8169S/8110S
|
|
|
|
device rl # RealTek 8129/8139
|
|
|
|
device sge # Silicon Integrated Systems SiS190/191
|
|
|
|
device sis # Silicon Integrated Systems SiS 900/SiS 7016
|
|
|
|
device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet
|
|
|
|
device ste # Sundance ST201 (D-Link DFE-550TX)
|
|
|
|
device stge # Sundance/Tamarack TC9021 gigabit Ethernet
|
|
|
|
device vge # VIA VT612x gigabit Ethernet
|
|
|
|
device vr # VIA Rhine, Rhine II
|
|
|
|
device vte # DM&P Vortex86 RDC R6040 Fast Ethernet
|
|
|
|
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
|
1999-06-29 18:55:53 +00:00
|
|
|
|
2000-11-07 21:20:52 +00:00
|
|
|
# Wireless NIC cards
|
2014-03-16 15:22:52 +00:00
|
|
|
device wlan # 802.11 support
|
|
|
|
options IEEE80211_DEBUG # enable debug msgs
|
2009-10-01 02:08:42 +00:00
|
|
|
options IEEE80211_SUPPORT_MESH # enable 802.11s draft support
|
2014-03-16 15:22:52 +00:00
|
|
|
device wlan_wep # 802.11 WEP support
|
|
|
|
device wlan_ccmp # 802.11 CCMP support
|
|
|
|
device wlan_tkip # 802.11 TKIP support
|
|
|
|
device wlan_amrr # AMRR transmit rate control algorithm
|
|
|
|
device an # Aironet 4500/4800 802.11 wireless NICs.
|
|
|
|
device ath # Atheros NICs
|
|
|
|
device ath_pci # Atheros pci/cardbus glue
|
|
|
|
device ath_hal # pci/cardbus chip support
|
|
|
|
options AH_AR5416_INTERRUPT_MITIGATION # AR5416 interrupt mitigation
|
|
|
|
options ATH_ENABLE_11N # Enable 802.11n support for AR5416 and later
|
|
|
|
device ath_rate_sample # SampleRate tx rate control for ath
|
|
|
|
#device bwi # Broadcom BCM430x/BCM431x wireless NICs.
|
|
|
|
#device bwn # Broadcom BCM43xx wireless NICs.
|
|
|
|
device ipw # Intel 2100 wireless NICs.
|
|
|
|
device iwi # Intel 2200BG/2225BG/2915ABG wireless NICs.
|
|
|
|
device iwn # Intel 4965/1000/5000/6000 wireless NICs.
|
|
|
|
device malo # Marvell Libertas wireless NICs.
|
|
|
|
device mwl # Marvell 88W8363 802.11n wireless NICs.
|
|
|
|
device ral # Ralink Technology RT2500 wireless NICs.
|
|
|
|
device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
|
|
|
|
device wpi # Intel 3945ABG wireless NICs.
|
2000-11-07 21:20:52 +00:00
|
|
|
|
2004-07-18 09:03:12 +00:00
|
|
|
# Pseudo devices.
|
2018-08-18 20:32:08 +00:00
|
|
|
device crypto # core crypto support
|
2014-03-16 15:22:52 +00:00
|
|
|
device loop # Network loopback
|
|
|
|
device padlock_rng # VIA Padlock RNG
|
|
|
|
device rdrand_rng # Intel Bull Mountain RNG
|
|
|
|
device ether # Ethernet support
|
|
|
|
device vlan # 802.1Q VLAN support
|
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
2019-05-08 02:32:11 +00:00
|
|
|
device tuntap # Packet tunnel.
|
2014-03-16 15:22:52 +00:00
|
|
|
device md # Memory "disks"
|
|
|
|
device gif # IPv6 and IPv4 tunneling
|
|
|
|
device firmware # firmware assist module
|
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
2000-06-13 22:28:50 +00:00
|
|
|
|
|
|
|
# The `bpf' device enables the Berkeley Packet Filter.
|
1999-08-07 01:42:08 +00:00
|
|
|
# Be aware of the administrative consequences of enabling this!
|
2005-03-18 15:24:00 +00:00
|
|
|
# Note that 'bpf' is required for DHCP.
|
2014-03-16 15:22:52 +00:00
|
|
|
device bpf # Berkeley packet filter
|
1998-11-26 23:13:13 +00:00
|
|
|
|
2009-02-23 18:34:56 +00:00
|
|
|
# USB support
|
2014-03-16 15:22:52 +00:00
|
|
|
options USB_DEBUG # enable debug msgs
|
|
|
|
device uhci # UHCI PCI->USB interface
|
|
|
|
device ohci # OHCI PCI->USB interface
|
|
|
|
device ehci # EHCI PCI->USB interface (USB 2.0)
|
|
|
|
device xhci # XHCI PCI->USB interface (USB 3.0)
|
|
|
|
device usb # USB Bus (required)
|
|
|
|
device ukbd # Keyboard
|
|
|
|
device umass # Disks/Mass storage - Requires scbus and da
|
2003-04-21 16:44:05 +00:00
|
|
|
|
2011-06-11 09:08:46 +00:00
|
|
|
# Sound support
|
2014-03-16 15:22:52 +00:00
|
|
|
device sound # Generic sound driver (required)
|
|
|
|
device snd_cmi # CMedia CMI8338/CMI8738
|
|
|
|
device snd_csa # Crystal Semiconductor CS461x/428x
|
|
|
|
device snd_emu10kx # Creative SoundBlaster Live! and Audigy
|
|
|
|
device snd_es137x # Ensoniq AudioPCI ES137x
|
|
|
|
device snd_hda # Intel High Definition Audio
|
|
|
|
device snd_ich # Intel, NVidia and other ICH AC'97 Audio
|
|
|
|
device snd_via8233 # VIA VT8233x Audio
|
2011-11-08 08:29:05 +00:00
|
|
|
|
|
|
|
# MMC/SD
|
2014-03-16 15:22:52 +00:00
|
|
|
device mmc # MMC/SD bus
|
|
|
|
device mmcsd # MMC/SD memory card
|
|
|
|
device sdhci # Generic PCI SD Host Controller
|
2013-01-13 07:14:16 +00:00
|
|
|
|
|
|
|
# VirtIO support
|
2014-03-16 15:22:52 +00:00
|
|
|
device virtio # Generic VirtIO bus (required)
|
|
|
|
device virtio_pci # VirtIO PCI device
|
|
|
|
device vtnet # VirtIO Ethernet device
|
|
|
|
device virtio_blk # VirtIO Block device
|
|
|
|
device virtio_scsi # VirtIO SCSI device
|
|
|
|
device virtio_balloon # VirtIO Memory Balloon device
|
2013-09-17 01:54:13 +00:00
|
|
|
|
2015-04-29 10:12:34 +00:00
|
|
|
# HyperV drivers and enchancement support
|
2014-03-16 15:22:52 +00:00
|
|
|
device hyperv # HyperV drivers
|
2013-12-05 00:56:50 +00:00
|
|
|
|
2013-10-11 19:40:28 +00:00
|
|
|
# Xen HVM Guest Optimizations
|
|
|
|
# NOTE: XENHVM depends on xenpci. They must be added or removed together.
|
2014-03-16 15:22:52 +00:00
|
|
|
options XENHVM # Xen HVM kernel infrastructure
|
|
|
|
device xenpci # Xen HVM Hypervisor services driver
|
2013-09-20 22:59:22 +00:00
|
|
|
|
2018-11-12 21:01:28 +00:00
|
|
|
# evdev interface
|
|
|
|
options EVDEV_SUPPORT # evdev support in legacy drivers
|
|
|
|
device evdev # input event device support
|
|
|
|
device uinput # install /dev/uinput cdev
|