> For the complete documentation index, see [llms.txt](https://book.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://book.bsdcn.org/ask/flat/chapter-40-freebsd-kernel-architecture/di-40.5-jie-generic-nei-he-xuan-xiang-zhu-jie-amd64.md).

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

* Source: [sys/amd64/conf/GENERIC](https://github.com/freebsd/freebsd-src/blob/releng/15.0/sys/amd64/conf/GENERIC)
* Version: [u2f(4): Invert U2F\_MAKE\_UHID\_ALIAS kernel build option](https://github.com/freebsd/freebsd-src/commit/64b530b38be37ebf32596a5ee7ab95f484f49176), nearly 400 lines in total

First, the CPU-related configuration options:

```ini
cpu		HAMMER
```

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

```ini
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.

```ini
makeoptions	DEBUG=-g
```

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

```ini
makeoptions	WITH_CTF=1
```

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

```ini
options 	SCHED_ULE
```

ULE scheduler.

```ini
options 	NUMA
```

Non-Uniform Memory Access (NUMA) support.

```ini
options 	PREEMPTION
```

Enable kernel thread preemption.

```ini
options 	EXTERR_STRINGS
```

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

```ini
options 	VIMAGE
```

Used for subsystem virtualization, such as VNET.

```ini
options 	INET
```

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.

```ini
options 	INET6
```

IPv6 protocol family.

```ini
options 	IPSEC_SUPPORT
```

Allow loading `ipsec` and `tcpmd5` modules via the `kldload` command.

```ini
options 	IPSEC_OFFLOAD
```

Inline IPsec offload infrastructure.

```ini
options 	ROUTE_MPATH
```

Multipath routing support.

```ini
options 	FIB_ALGO
```

Modular FIB lookup support.

```ini
options 	TCP_OFFLOAD
```

TCP offload support.

```ini
options 	TCP_BLACKBOX
```

Enhanced TCP event logging.

```ini
options 	TCP_HHOOK
```

hhook(9) framework support for TCP.

```ini
options 	TCP_RFC7413
```

TCP Fast Open.

```ini
options 	SCTP_SUPPORT
```

Allow loading SCTP KLD module support.

```ini
options 	KERN_TLS
```

TLS send and receive offload.

```ini
options 	FFS
```

Berkeley Fast File System (FFS).

```ini
options 	SOFTUPDATES
```

Enable FFS soft updates support.

```ini
options 	UFS_ACL
```

Access control list support.

```ini
options 	UFS_DIRHASH
```

Improve performance for large directories.

```ini
options 	UFS_GJOURNAL
```

Enable gjournal-based UFS journaling.

```ini
options 	QUOTA
```

Enable UFS disk quotas.

```ini
options 	MD_ROOT
```

Allow MD devices to serve as the root device.

```ini
options 	NFSCL
```

Network File System (NFS) client.

```ini
options 	NFSD
```

Network File System (NFS) server.

```ini
options 	NFSLOCKD
```

Network Lock Manager (NLM).

```ini
options 	NFS_ROOT
```

Use NFS as **/**, depends on `NFSCL`.

```ini
options 	MSDOSFS
```

MS-DOS file system.

```ini
options 	CD9660
```

ISO 9660 file system.

```ini
options 	PROCFS
```

Proc process file system (requires PSEUDOFS support).

```ini
options 	PSEUDOFS
```

Pseudo-file system framework.

```ini
options 	TMPFS
```

Efficient memory file system.

```ini
options 	GEOM_RAID
```

Software RAID support.

```ini
options 	GEOM_LABEL
```

Provides GEOM label functionality.

```ini
options 	EFIRT
```

EFI runtime services support.

```ini
options 	COMPAT_FREEBSD32
```

i386 binary compatibility.

```ini
options 	COMPAT_FREEBSD4
```

FreeBSD 4 compatibility.

```ini
options 	COMPAT_FREEBSD5
```

FreeBSD 5 compatibility.

```ini
options 	COMPAT_FREEBSD6
```

FreeBSD 6 compatibility.

```ini
options 	COMPAT_FREEBSD7
```

FreeBSD 7 compatibility.

```ini
options 	COMPAT_FREEBSD9
```

FreeBSD 9 compatibility.

```ini
options 	COMPAT_FREEBSD10
```

FreeBSD 10 compatibility.

```ini
options 	COMPAT_FREEBSD11
```

FreeBSD 11 compatibility.

```ini
options 	COMPAT_FREEBSD12
```

FreeBSD 12 compatibility.

```ini
options 	COMPAT_FREEBSD13
```

FreeBSD 13 compatibility.

```ini
options 	COMPAT_FREEBSD14
```

FreeBSD 14 compatibility.

```ini
options 	SCSI_DELAY=5000
```

Delay time (in milliseconds) before probing SCSI devices.

```ini
options 	KTRACE
```

ktrace(1) support.

```ini
options 	STACK
```

stack(9) support.

```ini
options 	SYSVSHM
```

SYSV-style shared memory.

```ini
options 	SYSVMSG
```

SYSV-style message queues.

```ini
options 	SYSVSEM
```

SYSV-style semaphores.

```ini
options 	_KPOSIX_PRIORITY_SCHEDULING
```

POSIX P1003\_1B real-time extensions.

```ini
options 	PRINTF_BUFR_SIZE=128
```

Prevent interleaving of printf output.

```ini
options 	KBD_INSTALL_CDEV
```

Create character device (CDEV) entries in **/dev**.

```ini
options 	HWPMC_HOOKS
```

Kernel hooks required by hwpmc(4).

```ini
options 	AUDIT
```

Security event auditing.

```ini
options 	CAPABILITY_MODE
```

Capsicum capability mode.

```ini
options 	CAPABILITIES
```

Capsicum capabilities.

```ini
options 	MAC
```

TrustedBSD MAC framework.

```ini
options 	KDTRACE_FRAME
```

Ensure kernel is compiled with stack frame information.

```ini
options 	KDTRACE_HOOKS
```

Kernel DTrace hooks.

```ini
options 	DDB_CTF
```

Allow kernel ELF linker to load CTF data.

```ini
options 	INCLUDE_CONFIG_FILE
```

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

```ini
options 	RACCT
```

Resource accounting framework.

```ini
options 	RACCT_DEFAULT_TO_DISABLED
```

Set `kern.racct.enable=0` by default.

```ini
options 	RCTL
```

Resource limits framework.

## Debugging Support (Always Required)

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

```ini
options 	KDB
```

Enable kernel debugger support.

```ini
options 	KDB_TRACE
```

Print stack trace on panic.

## Kernel Dump Functionality

This subsection introduces kernel dump related configuration options.

```ini
options 	EKCD
```

Support for encrypted kernel dumps.

```ini
options 	GZIO
```

Support for gzip-compressed kernel and user dumps.

```ini
options 	ZSTDIO
```

Support for zstd-compressed kernel and user dumps.

```ini
options 	DEBUGNET
```

debugnet network support.

```ini
options 	NETDUMP
```

netdump(4) client support.

```ini
options 	NETGDB
```

netgdb(4) client support.

```ini
options 	SMP
```

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

```ini
device		cpufreq
```

CPU frequency control support.

## Bus Support

This subsection introduces options for various bus support.

```ini
device		acpi
```

ACPI support.

```ini
device		smbios
```

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

```ini
options 	IOMMU
```

Enable IOMMU.

```ini
device		pci
```

Generic PCI/PCIe bus driver.

```ini
options 	PCI_HP
```

PCIe native hot-plug support.

```ini
options 	PCI_IOV
```

PCI SR-IOV support.

```ini
options 	COMPAT_LINUXKPI
```

Enable Linux Kernel Programming Interface (KPI) compatibility layer.

```ini
options 	PPS_SYNC
```

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

```ini
device		fdc
```

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.

```ini
device		ahci
```

AHCI-compatible SATA controller support.

```ini
device		ata
```

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.

```ini
device		mvs
```

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

```ini
device		siis
```

Silicon Image SiI3124/SiI3132/SiI3531 SATA controllers.

## SCSI Controllers

This subsection introduces SCSI controller related options.

```ini
device		ahc
```

AHA2940 and onboard AIC7xxx SCSI devices.

```ini
device		ahd
```

AHA39320/29320 and onboard AIC79xx devices.

```ini
device		hptiop
```

Highpoint RocketRaid 3xxx series.

```ini
device		isp
```

QLogic series controllers.

```ini
#device		ispfw
```

Firmware for QLogic HBAs, typically loaded as a module.

```ini
device		mpt
```

LSI Logic MPT-Fusion controllers.

```ini
device		mps
```

LSI-Logic MPT-Fusion 2.

```ini
device		mpr
```

LSI-Logic MPT-Fusion 3.

```ini
device		mpi3mr
```

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

```ini
device		sym
```

NCR/Symbios Logic SCSI controllers.

```ini
device		isci
```

Intel C600 series SAS controllers.

```ini
device		ocs_fc
```

Emulex Fibre Channel adapters.

```ini
device		pvscsi
```

VMware PVSCSI.

## ATA/SCSI Peripherals

This subsection introduces ATA/SCSI peripheral related options.

```ini
device		scbus
```

SCSI bus (required for ATA/SCSI devices).

```ini
device		ch
```

SCSI medium changer.

```ini
device		da
```

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

```ini
device		sa
```

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

```ini
device		cd
```

Optical discs.

```ini
device		pass
```

Passthrough device (for direct ATA/SCSI access).

```ini
device		ses
```

Enclosure services (SES and SAF-TE protocols).

```ini
#device		ctl
```

CAM target layer.

## RAID Controllers Connected via the SCSI Subsystem

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

```ini
device		arcmsr
```

Areca SATA II RAID.

```ini
device		ciss
```

Compaq Smart Array 5\*/6\* series controllers.

```ini
device		ips
```

IBM (Adaptec) ServeRAID.

```ini
device		smartpqi
```

Microchip smartpqi driver.

```ini
device		tws
```

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

```ini
device		aac
```

RAID controller, Adaptec FSA RAID series.

```ini
device		aacp
```

SCSI passthrough support for aac (requires CAM).

```ini
device		aacraid
```

Adaptec RAID by PMC.

```ini
device		ida
```

Compaq Smart RAID.

```ini
device		mfi
```

LSI MegaRAID SAS.

```ini
device		mlx
```

Mylex DAC960 series.

```ini
device		mrsas
```

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

```ini
#device		pst
```

Promise SuperTrak SX6000 RAID controller.

## NVM Express (NVMe) Support

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

```ini
device		nvme
```

Base NVMe driver.

```ini
device		nvd
```

Exposes NVMe namespaces as disk devices, depends on `nvme`.

```ini
device 		ufshci			# UFS Host Controller
```

Universal Flash Storage (UFS) Host Controller Interface support.

```ini
device		vmd
```

Intel Volume Management Device (VMD) support.

```ini
device		atkbdc
```

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

```ini
device		atkbd
```

AT keyboard.

```ini
device		psm
```

PS/2 mouse.

```ini
device		kbdmux
```

Keyboard multiplexer.

```ini
device		vga
```

VGA graphics driver.

```ini
device		splash
```

Boot splash screen and screen saver support.

```ini
device		sc
```

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

```ini
options 	SC_PIXEL_MODE
```

Add support for rasterized text modes.

```ini
device		vt
device		vt_vga
device		vt_efifb
device		vt_vbefb
```

vt is the default video console driver.

```ini
device		agp
```

Support for various AGP chipsets.

## CardBus Bridges

This subsection introduces CardBus bridge related options.

```ini
device		cbb
```

CardBus (Yenta) bridge.

```ini
device		cardbus
```

CardBus (32-bit) bus.

## Serial Ports (COM Ports)

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

```ini
device		uart
```

Generic UART driver.

## Parallel Ports

This subsection introduces parallel port related options.

```ini
device		ppc
```

Parallel port.

```ini
device		ppbus
```

Parallel port bus (required).

```ini
device		lpt
```

Printer.

```ini
device		ppi
```

Parallel port device.

```ini
#device		vpo
```

Requires scbus and da.

```ini
device		puc
```

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

```ini
device		iflib
```

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

```ini
device		em
```

Intel PRO/1000 series Gigabit Ethernet NICs.

```ini
device		igc
```

Intel I225 series 2.5GbE Ethernet NICs.

```ini
device		ix
```

Intel PRO/10GbE PCIe PF Ethernet.

```ini
device		ixv
```

Intel PRO/10GbE PCIe VF Ethernet.

```ini
device		ixl
```

Intel 700 series Physical Function (PF).

```ini
device		iavf
```

Intel Adaptive Virtual Function (AVF).

```ini
device		ice
```

Intel 800 series Physical Function (PF).

```ini
device		vmx
```

VMware VMXNET3 Ethernet.

```ini
device		axp
```

AMD EPYC integrated NIC (requires `miibus` support).

## PCI Ethernet NICs

This subsection introduces PCI Ethernet NIC related options.

```ini
device		bxe
```

Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE.

```ini
device		le
```

AMD Am7900 LANCE and Am79C9xx PCnet.

```ini
device		ti
```

Alteon Networks Tigon I/II Gigabit Ethernet.

```ini
device		mlx5
```

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

```ini
device		mlxfw
```

For firmware updates.

```ini
device		mlx5en
```

Ethernet driver.

```ini
device		miibus
```

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

```ini
device		ae
```

Attansic/Atheros L2 Fast Ethernet.

```ini
device		age
```

Attansic/Atheros L1 Gigabit Ethernet.

```ini
device		alc
```

Atheros AR8131/AR8132 Ethernet.

```ini
device		ale
```

Atheros AR8121/AR8113/AR8114 Ethernet.

```ini
device		bce
```

Broadcom BCM5706/BCM5708 Gigabit Ethernet.

```ini
device		bfe
```

Broadcom BCM440x 10/100 Ethernet.

```ini
device		bge
```

Broadcom BCM570xx Gigabit Ethernet.

```ini
device		cas
```

Sun Cassini/Cassini+ and NS DP83065 Saturn.

```ini
device		dc
```

DEC/Intel 21143 and various compatible chips.

```ini
device		et
```

Agere ET1310 10/100/Gigabit Ethernet.

```ini
device		fxp
```

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

```ini
device		gem
```

Sun GEM/Sun ERI/Apple GMAC.

```ini
device		jme
```

JMicron JMC250 Gigabit Ethernet / JMC260 Fast Ethernet.

```ini
device		lge
```

Level 1 LXT1001 Gigabit Ethernet.

```ini
device		msk
```

Marvell/SysKonnect Yukon II Gigabit Ethernet.

```ini
device		nfe
```

NVIDIA nForce MCP onboard Ethernet.

```ini
device		nge
```

NatSemi DP83820 Gigabit Ethernet.

```ini
device		re
```

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

```ini
device		rl
```

RealTek 8129/8139.

```ini
device		sge
```

Silicon Integrated Systems SiS190/191.

```ini
device		sis
```

Silicon Integrated Systems SiS 900/SiS 7016.

```ini
device		sk
```

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

```ini
device		ste
```

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

```ini
device		stge
```

Sundance/Tamarack TC9021 Gigabit Ethernet.

```ini
device		vge
```

VIA VT612x Gigabit Ethernet.

```ini
device		vr
```

VIA Rhine, Rhine II.

```ini
device		xl
```

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

## Wireless NICs

This subsection introduces wireless NIC related options.

```ini
device		wlan
```

IEEE 802.11 support.

```ini
options 	IEEE80211_DEBUG
```

Enable debugging information.

```ini
options 	IEEE80211_SUPPORT_MESH
```

Enable IEEE 802.11s draft support.

```ini
device		wlan_wep
```

802.11 WEP support.

```ini
device		wlan_tkip
```

802.11 TKIP support.

```ini
device		wlan_ccmp
```

802.11 CCMP support.

```ini
device		wlan_gcmp
```

802.11 GCMP support.

```ini
device		wlan_amrr
```

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

```ini
device		ath
```

Atheros CardBus/PCI NICs.

```ini
device		ath_hal
```

Atheros CardBus/PCI chip support.

```ini
options 	AH_AR5416_INTERRUPT_MITIGATION
```

AR5416 interrupt mitigation.

```ini
device		ath_rate_sample
```

SampleRate transmit rate control algorithm for `ath`.

```ini
#device		bwi
```

Broadcom BCM430x/BCM431x wireless NICs.

```ini
#device		bwn
```

Broadcom BCM43xx wireless NICs.

```ini
device		ipw
```

Intel 2100 wireless NICs.

```ini
device		iwi
```

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

```ini
device		iwn
```

Intel 4965/1000/5000/6000 wireless NICs.

```ini
device		malo
```

Marvell Libertas wireless NICs.

```ini
device		mwl
```

Marvell 88W8363 802.11n wireless NICs.

```ini
device		ral
```

Ralink Technology RT2500 wireless NICs.

```ini
device		wpi
```

Intel 3945ABG wireless NICs.

## Pseudo-Devices

This subsection introduces pseudo-device related options.

```ini
device		crypto
```

Core cryptographic support.

```ini
device		aesni
```

AES-NI OpenCrypto acceleration module.

```ini
device		loop
```

Network loopback interface.

```ini
device		padlock_rng
```

VIA Padlock random number generator.

```ini
device		rdrand_rng
```

Intel Bull Mountain random number generator.

```ini
device		ether
```

Ethernet support.

```ini
device		vlan
```

802.1Q VLAN support.

```ini
device		tuntap
```

Packet tunnel interface.

```ini
device		md
```

Memory "disk."

```ini
device		gif
```

IPv6 and IPv4 tunneling.

```ini
device		firmware
```

Firmware helper module.

```ini
device		xz
```

LZMA decompression support.

```ini
device		bpf  # Berkeley Packet Filter
```

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.

```ini
options 	USB_DEBUG
```

Enable USB debugging information.

```ini
device		uhci
```

UHCI PCI-to-USB interface.

```ini
device		ohci
```

OHCI PCI-to-USB interface.

```ini
device		ehci
```

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

```ini
device		xhci
```

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

```ini
device		usb
```

USB bus (required).

```ini
device		usbhid
```

USB HID transport.

```ini
device		hkbd
```

HID keyboard.

```ini
device		ukbd
```

USB keyboard.

```ini
device		umass
```

Disk / mass storage, requires `scbus` and `da`.

## Audio Support

This subsection introduces audio support related options.

```ini
device		sound
```

Generic sound card driver (required).

```ini
device		snd_cmi
```

CMedia CMI8338/CMI8738.

```ini
device		snd_csa
```

Crystal Semiconductor CS461x/428x.

```ini
device		snd_emu10kx
```

Creative SoundBlaster Live! and Audigy.

```ini
device		snd_es137x
```

Ensoniq AudioPCI ES137x.

```ini
device		snd_hda
```

Intel High Definition Audio.

```ini
device		snd_ich
```

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

```ini
device		snd_via8233
```

VIA VT8233x audio.

## MMC/SD

This subsection introduces MMC/SD related options.

```ini
device		mmc
```

MMC/SD bus.

```ini
device		mmcsd
```

MMC/SD memory cards.

```ini
device		sdhci
```

Generic PCI SD host controller.

## VirtIO

This subsection introduces VirtIO related options.

```ini
device		virtio
```

Generic VirtIO bus (required).

```ini
device		virtio_pci
```

VirtIO PCI device.

```ini
device		vtnet
```

VirtIO Ethernet device.

```ini
device		virtio_blk
```

VirtIO block device.

```ini
device		virtio_scsi
```

VirtIO SCSI device.

```ini
device		virtio_balloon
```

VirtIO memory balloon device.

## Linux KVM Paravirtualization Support

This subsection introduces Linux KVM paravirtualization support related options.

```ini
device		kvm_clock
```

KVM paravirtualized clock driver.

## Hyper-V Drivers and Enhanced Support

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

```ini
device		hyperv
```

Hyper-V driver.

## Xen HVM Guest Optimization

This subsection introduces Xen HVM guest optimization related options.

```ini
options 	XENHVM
```

Xen HVM kernel infrastructure.

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

```ini
device		xenefi
```

Xen EFI timer device.

```ini
device		xenpci
```

Xen HVM hypervisor service driver.

```ini
device		xentimer
```

Xen x86 PV timer device.

## netmap(4) Support

This subsection introduces netmap(4) support related options.

```ini
device		netmap
```

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

## evdev Interface

This subsection introduces evdev interface related options.

```ini
options 	EVDEV_SUPPORT
```

Enable evdev interface support in legacy drivers.

```ini
device		evdev
```

Input event device support.

```ini
device		uinput
```

Install character device (CDEV) **/dev/uinput**.

## HID Support

This subsection introduces HID support related options.

```ini
options 	HID_DEBUG
```

Enable debug message output.

```ini
device		hid
```

Generic HID support.

```ini
device		hidbus
```

Generic HID bus.

```ini
options 	IICHID_SAMPLING
```

Workaround for missing GPIO interrupt support.

## EFI Devices

This subsection introduces EFI device related options.

```ini
device		efidev
```

EFI pseudo-device.

```ini
device		efirtc
```

EFI real-time clock.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://book.bsdcn.org/ask/flat/chapter-40-freebsd-kernel-architecture/di-40.5-jie-generic-nei-he-xuan-xiang-zhu-jie-amd64.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
