For the complete documentation index, see llms.txt. This page is also available as Markdown.

40.5 GENERIC Kernel Options (AMD64)

GENERIC is the default kernel configuration file for the FreeBSD amd64 architecture, and its options can all be found with corresponding descriptions in the machine-independent and machine-dependent NOTES files. This section lists the complete GENERIC options with item-by-item annotations.

For detailed option lists and device line descriptions, refer to the corresponding NOTES file.

The original meaning of GENERIC is "general-purpose, generic, common." The GENERIC kernel options are the default build options for all images under the amd64 architecture (FreeBSD/amd64 generic kernel configuration file), but CURRENT (main branch) introduces additional debugging options.

For ease of explanation and to avoid introducing debugging options that are useless to most non-developers, this section uses the GENERIC kernel options from 15.0-RELEASE (releng/15.0 branch) as an example.

First, the CPU-related configuration options:

cpu		HAMMER

HAMMER is the codename for AMD K8, namely Opteron and Athlon64.

ident		GENERIC

This is the kernel "identifier."

It should typically be the same as the kernel name. This option sets the kernel name to GENERIC. At least one ident entry is required.

makeoptions	DEBUG=-g

Build a kernel that includes gdb(1) debugging symbols.

makeoptions	WITH_CTF=1

To support DTrace, run ctfconvert(1) to convert debug data into CTF data.

options 	SCHED_ULE

ULE scheduler.

Non-Uniform Memory Access (NUMA) support.

Enable kernel thread preemption.

Its former name was BLOAT_KERNEL_WITH_EXTERR, used to enable extended kernel error messages. See: Extended errors from kernel[EB/OL]. [2026-03-26]. https://reviews.freebsd.org/D50483.

Used for subsystem virtualization, such as VNET.

IPv4 protocol family. The IP protocol family is a set of protocols layered above the Internet Protocol (IP) and using the Internet address format. This protocol family provides protocol support for SOCK_STREAM, SOCK_DGRAM, and SOCK_RAW socket types; the SOCK_RAW interface provides access to the IP protocol.

IPv6 protocol family.

Allow loading ipsec and tcpmd5 modules via the kldload command.

Inline IPsec offload infrastructure.

Multipath routing support.

Modular FIB lookup support.

TCP offload support.

Enhanced TCP event logging.

hhook(9) framework support for TCP.

TCP Fast Open.

Allow loading SCTP KLD module support.

TLS send and receive offload.

Berkeley Fast File System (FFS).

Enable FFS soft updates support.

Access control list support.

Improve performance for large directories.

Enable gjournal-based UFS journaling.

Enable UFS disk quotas.

Allow MD devices to serve as the root device.

Network File System (NFS) client.

Network File System (NFS) server.

Network Lock Manager (NLM).

Use NFS as /, depends on NFSCL.

MS-DOS file system.

ISO 9660 file system.

Proc process file system (requires PSEUDOFS support).

Pseudo-file system framework.

Efficient memory file system.

Software RAID support.

Provides GEOM label functionality.

EFI runtime services support.

i386 binary compatibility.

FreeBSD 4 compatibility.

FreeBSD 5 compatibility.

FreeBSD 6 compatibility.

FreeBSD 7 compatibility.

FreeBSD 9 compatibility.

FreeBSD 10 compatibility.

FreeBSD 11 compatibility.

FreeBSD 12 compatibility.

FreeBSD 13 compatibility.

FreeBSD 14 compatibility.

Delay time (in milliseconds) before probing SCSI devices.

ktrace(1) support.

stack(9) support.

SYSV-style shared memory.

SYSV-style message queues.

SYSV-style semaphores.

POSIX P1003_1B real-time extensions.

Prevent interleaving of printf output.

Create character device (CDEV) entries in /dev.

Kernel hooks required by hwpmc(4).

Security event auditing.

Capsicum capability mode.

Capsicum capabilities.

TrustedBSD MAC framework.

Ensure kernel is compiled with stack frame information.

Kernel DTrace hooks.

Allow kernel ELF linker to load CTF data.

Embed this configuration file into the kernel; it can be extracted via config -x or viewed through sysctl kern.conftxt.

Resource accounting framework.

Set kern.racct.enable=0 by default.

Resource limits framework.

Debugging Support (Always Required)

This subsection introduces options related to debugging support that are always required.

Enable kernel debugger support.

Print stack trace on panic.

Kernel Dump Functionality

This subsection introduces kernel dump related configuration options.

Support for encrypted kernel dumps.

Support for gzip-compressed kernel and user dumps.

Support for zstd-compressed kernel and user dumps.

debugnet network support.

netdump(4) client support.

netgdb(4) client support.

Build a kernel with SMP (Symmetric MultiProcessor) support by default.

CPU frequency control support.

Bus Support

This subsection introduces options for various bus support.

ACPI support.

smbios, i.e., System Management BIOS, provides basic system management support.

Enable IOMMU.

Generic PCI/PCIe bus driver.

PCIe native hot-plug support.

PCI SR-IOV support.

Enable Linux Kernel Programming Interface (KPI) compatibility layer.

Enable kernel PLL support for using external PPS signals, monitored by ntpd(8). For more information, see the ntpd documentation: Welcome to the home of the Network Time Protocol (NTP) Project.[EB/OL]. [2026-03-26]. https://www.ntp.org.

Floppy disk drive support. fdc is a legacy ISA bus era driver; floppy disk drives have largely disappeared from modern systems, and this driver is retained only for compatibility with older hardware.

ATA Controllers

This subsection introduces ATA controller related options.

AHCI-compatible SATA controller support.

Legacy ATA/SATA controller support. ata(4) is the older subsystem driver with fewer features, and has been superseded by the CAM subsystem-based ahci, mvs, and siis drivers, which support the same hardware and provide more features. ata is only necessary when compatibility with non-AHCI legacy ATA controllers is required.

Marvell 88SX50XX/88SX60XX/88SX70XX and SoC SATA controllers.

Silicon Image SiI3124/SiI3132/SiI3531 SATA controllers.

SCSI Controllers

This subsection introduces SCSI controller related options.

AHA2940 and onboard AIC7xxx SCSI devices.

AHA39320/29320 and onboard AIC79xx devices.

Highpoint RocketRaid 3xxx series.

QLogic series controllers.

Firmware for QLogic HBAs, typically loaded as a module.

LSI Logic MPT-Fusion controllers.

LSI-Logic MPT-Fusion 2.

LSI-Logic MPT-Fusion 3.

Broadcom MPIMR 3.0 IT/IR 24Gb/s SAS Tri-Mode RAID controller.

NCR/Symbios Logic SCSI controllers.

Intel C600 series SAS controllers.

Emulex Fibre Channel adapters.

VMware PVSCSI.

ATA/SCSI Peripherals

This subsection introduces ATA/SCSI peripheral related options.

SCSI bus (required for ATA/SCSI devices).

SCSI medium changer.

Direct access devices (e.g., disks).

Sequential access devices (e.g., tapes).

Optical discs.

Passthrough device (for direct ATA/SCSI access).

Enclosure services (SES and SAF-TE protocols).

CAM target layer.

RAID Controllers Connected via the SCSI Subsystem

This subsection introduces options for RAID controllers connected via the SCSI subsystem.

Areca SATA II RAID.

Compaq Smart Array 5*/6* series controllers.

IBM (Adaptec) ServeRAID.

Microchip smartpqi driver.

LSI 3ware 9750 SATA+SAS 6Gb/s RAID controllers.

RAID controller, Adaptec FSA RAID series.

SCSI passthrough support for aac (requires CAM).

Adaptec RAID by PMC.

Compaq Smart RAID.

LSI MegaRAID SAS.

Mylex DAC960 series.

LSI/Avago MegaRAID SAS/SATA, 6Gb/s and 12Gb/s support.

Promise SuperTrak SX6000 RAID controller.

NVM Express (NVMe) Support

This subsection introduces NVM Express (NVMe) related support options.

Base NVMe driver.

Exposes NVMe namespaces as disk devices, depends on nvme.

Universal Flash Storage (UFS) Host Controller Interface support.

Intel Volume Management Device (VMD) support.

AT keyboard controller. atkbdc0 controls both the keyboard and PS/2 mouse.

AT keyboard.

PS/2 mouse.

Keyboard multiplexer.

VGA graphics driver.

Boot splash screen and screen saver support.

syscons is the traditional console driver, functionally similar to the SCO console. syscons has been superseded by vt(4) as the default console driver and is incompatible with UEFI-booted systems; new deployments are recommended to use vt(4). See: syscons(4)[EB/OL]. [2026-06-10]. https://man.freebsd.org/cgi/man.cgi?query=syscons&sektion=4.

Add support for rasterized text modes.

vt is the default video console driver.

Support for various AGP chipsets.

CardBus Bridges

This subsection introduces CardBus bridge related options.

CardBus (Yenta) bridge.

CardBus (32-bit) bus.

Serial Ports (COM Ports)

This subsection introduces serial port (COM port) related options.

Generic UART driver.

Parallel Ports

This subsection introduces parallel port related options.

Parallel port.

Parallel port bus (required).

Printer.

Parallel port device.

Requires scbus and da.

Multi-I/O card and multi-channel UART support.

PCI/PCI-X/PCIe Ethernet NICs using the iflib infrastructure.

Intel PRO/1000 series Gigabit Ethernet NICs.

Intel I225 series 2.5GbE Ethernet NICs.

Intel PRO/10GbE PCIe PF Ethernet.

Intel PRO/10GbE PCIe VF Ethernet.

Intel 700 series Physical Function (PF).

Intel Adaptive Virtual Function (AVF).

Intel 800 series Physical Function (PF).

VMware VMXNET3 Ethernet.

AMD EPYC integrated NIC (requires miibus support).

PCI Ethernet NICs

This subsection introduces PCI Ethernet NIC related options.

Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE.

AMD Am7900 LANCE and Am79C9xx PCnet.

Alteon Networks Tigon I/II Gigabit Ethernet.

Base driver.

NVIDIA/Mellanox ConnectX-4 and later models, Ethernet only:

  • Depends on COMPAT_LINUXKPI and xz(1)

  • mlx5ib depends on ibcore infrastructure, not built-in by default

For firmware updates.

Ethernet driver.

MII bus support. For PCI Ethernet NICs that use generic MII bus controller code.

Note

Be sure to keep the device miibus line, otherwise the above NICs will not work

Attansic/Atheros L2 Fast Ethernet.

Attansic/Atheros L1 Gigabit Ethernet.

Atheros AR8131/AR8132 Ethernet.

Atheros AR8121/AR8113/AR8114 Ethernet.

Broadcom BCM5706/BCM5708 Gigabit Ethernet.

Broadcom BCM440x 10/100 Ethernet.

Broadcom BCM570xx Gigabit Ethernet.

Sun Cassini/Cassini+ and NS DP83065 Saturn.

DEC/Intel 21143 and various compatible chips.

Agere ET1310 10/100/Gigabit Ethernet.

Intel EtherExpress PRO/100B (82557, 82558).

Sun GEM/Sun ERI/Apple GMAC.

JMicron JMC250 Gigabit Ethernet / JMC260 Fast Ethernet.

Level 1 LXT1001 Gigabit Ethernet.

Marvell/SysKonnect Yukon II Gigabit Ethernet.

NVIDIA nForce MCP onboard Ethernet.

NatSemi DP83820 Gigabit Ethernet.

RealTek 8139C+/8169/8169S/8110S.

RealTek 8129/8139.

Silicon Integrated Systems SiS190/191.

Silicon Integrated Systems SiS 900/SiS 7016.

SysKonnect SK-984x & SK-982x Gigabit Ethernet.

Sundance ST201 (D-Link DFE-550TX).

Sundance/Tamarack TC9021 Gigabit Ethernet.

VIA VT612x Gigabit Ethernet.

VIA Rhine, Rhine II.

3Com 3c90x ("Boomerang", "Cyclone").

Wireless NICs

This subsection introduces wireless NIC related options.

IEEE 802.11 support.

Enable debugging information.

Enable IEEE 802.11s draft support.

802.11 WEP support.

802.11 TKIP support.

802.11 CCMP support.

802.11 GCMP support.

AMRR transmit rate control algorithm (Adaptive Multi Rate Retry).

Atheros CardBus/PCI NICs.

Atheros CardBus/PCI chip support.

AR5416 interrupt mitigation.

SampleRate transmit rate control algorithm for ath.

Broadcom BCM430x/BCM431x wireless NICs.

Broadcom BCM43xx wireless NICs.

Intel 2100 wireless NICs.

Intel 2200BG/2225BG/2915ABG wireless NICs.

Intel 4965/1000/5000/6000 wireless NICs.

Marvell Libertas wireless NICs.

Marvell 88W8363 802.11n wireless NICs.

Ralink Technology RT2500 wireless NICs.

Intel 3945ABG wireless NICs.

Pseudo-Devices

This subsection introduces pseudo-device related options.

Core cryptographic support.

AES-NI OpenCrypto acceleration module.

Network loopback interface.

VIA Padlock random number generator.

Intel Bull Mountain random number generator.

Ethernet support.

802.1Q VLAN support.

Packet tunnel interface.

Memory "disk."

IPv6 and IPv4 tunneling.

Firmware helper module.

LZMA decompression support.

The bpf device enables the Berkeley Packet Filter; when enabled, be mindful of its system administration implications.

Note

DHCP depends on bpf.

USB Support

This subsection introduces USB support related options.

Enable USB debugging information.

UHCI PCI-to-USB interface.

OHCI PCI-to-USB interface.

EHCI PCI-to-USB interface (USB 2.0).

xHCI PCI-to-USB interface (USB 3.0).

USB bus (required).

USB HID transport.

HID keyboard.

USB keyboard.

Disk / mass storage, requires scbus and da.

Audio Support

This subsection introduces audio support related options.

Generic sound card driver (required).

CMedia CMI8338/CMI8738.

Crystal Semiconductor CS461x/428x.

Creative SoundBlaster Live! and Audigy.

Ensoniq AudioPCI ES137x.

Intel High Definition Audio.

Intel, NVIDIA, and other ICH AC'97 audio.

VIA VT8233x audio.

MMC/SD

This subsection introduces MMC/SD related options.

MMC/SD bus.

MMC/SD memory cards.

Generic PCI SD host controller.

VirtIO

This subsection introduces VirtIO related options.

Generic VirtIO bus (required).

VirtIO PCI device.

VirtIO Ethernet device.

VirtIO block device.

VirtIO SCSI device.

VirtIO memory balloon device.

Linux KVM Paravirtualization Support

This subsection introduces Linux KVM paravirtualization support related options.

KVM paravirtualized clock driver.

Hyper-V Drivers and Enhanced Support

This subsection introduces Hyper-V driver and enhanced support related options.

Hyper-V driver.

Xen HVM Guest Optimization

This subsection introduces Xen HVM guest optimization related options.

Xen HVM kernel infrastructure.

Note

XENHVM depends on xenpci and xentimer. They must all be present or all absent.

Xen EFI timer device.

Xen HVM hypervisor service driver.

Xen x86 PV timer device.

netmap(4) Support

This subsection introduces netmap(4) support related options.

Netmap provides direct access support for transmit/receive rings of supported NICs.

evdev Interface

This subsection introduces evdev interface related options.

Enable evdev interface support in legacy drivers.

Input event device support.

Install character device (CDEV) /dev/uinput.

HID Support

This subsection introduces HID support related options.

Enable debug message output.

Generic HID support.

Generic HID bus.

Workaround for missing GPIO interrupt support.

EFI Devices

This subsection introduces EFI device related options.

EFI pseudo-device.

EFI real-time clock.

Last updated