Skip to content

28.3 机器相关的内核选项注解

机器相关选项针对 x86、ARM、RISC-V 等处理器架构的硬件特性作了优化。本节译注 amd64/conf/NOTES 中的关键选项,按功能类别列出原文与中文释义。

技巧

可直接剪切并粘贴内核选项和 hints 条目到内核配置文件中。

28.3.1 amd64 机器相关的内核选项

28.3.1.1 GCOV(生成覆盖率信息)

ini
options 	LINDEBUGFS # ①
options 	GCOV # ②

28.3.1.2 SMP

本小节介绍与对称多处理(Symmetric Multi-Processing,SMP)相关的可选设备配置:

可选设备:

ini
device		atpic			# 可选兼容 pic 可编程中断控制器,ISA 相关
device		mptable			# 可选的 MPSPEC 多处理器表 ①

28.3.1.3 CPU

本小节介绍与 CPU 相关的配置选项,包括处理器型号的指定:

技巧

必须至少指定一种 CPU(即计划运行的目标 CPU);移除不使用的 CPU 配置可提升系统运行效率。

ini
cpu		HAMMER			# HAMMER 是 AMD K8 研发代号,即 Opteron(皓龙)与 Athlon64(速龙)

28.3.1.4 硬件设备配置

本小节介绍各种硬件设备的内核配置选项,包括显示设备、网络接口、存储适配器等:

可选设备:

ini
device		vt_efifb	# EFI framebuffer(帧缓冲区)①
ini
device		tdfx			# 启用 3Dfx Voodoo

提供对 3Dfx Voodoo Graphics 和 Voodoo II 的 /dev/3dfx 字符设备支持(20 世纪 90 年代的产品)。

将创建设备 /dev/3dfx0,以便与 Glide 实现一起使用。该设备应链接到 /dev/3dfx/dev/voodoo。需注意,这与 XFree86 的 tdfx DRI 模块相互独立,二者无关联。

28.3.1.4.1 RAID 适配器

本小节介绍各种 RAID(独立磁盘冗余阵列)适配器的驱动配置:

ini
#device	pst

Promise Supertrak SX6000 的设备驱动程序。

ini
device		smartpqi

Microsemi smartpqi 控制器。这些控制器有类似 SCSI 的接口,并且需要 CAM 基础设施。

ini
device		mpi3mr			# LSI-Logic MPT-Fusion 4

Broadcom MPT-Fusion 第 4 版,仅支持 64 位架构。

28.3.1.4.2 网络接口设备

本小节介绍各种网络接口设备的驱动配置,包括以太网、无线网卡等:

ini
device		axp	    # AMD EPYC 集成以太网卡,依赖 miibus 模块
device		ixl	    # Intel 700 Series Physical Function,依赖 ice_ddp 模块
device		iavf 	  # Intel Adaptive Virtual Function
device		ice		  # Intel 800 Series Physical Function
device		ice_ddp	# Intel 800 Series DDP Package
device		irdma		# Intel 800 Series RDMA 驱动,依赖 ice 模块
device		qlxgb		# QLogic 3200/8200 10Gb 以太网与 CNA 适配器
device		qlxgbe	# QLogic 8300 10Gb 以太网与 CNA 适配器
device		qlxge		# QLogic 8100 系列 10Gb 以太网与 CNA 适配器
device		qlnxe		# QLogic 41000/45000 系列 10/25/40/100 GbE 以太网与 CNA 适配器
device		sfxge		# Solarflare SFC9000 系列 10Gb 以太网

28.3.1.4.3 其他硬件

本小节介绍其他各类硬件设备的配置选项,包括 DMA 引擎、EFI 服务等:

ini
device		ioat		# Intel I/OAT DMA 引擎

提供 Intel I/O 加速技术(I/OAT)支持。

ini
options 	EFIRT

EFI 运行时服务支持。

ini
device		efidev

EFI 伪设备。

ini
device		efirtc

EFI RTC(实时时钟)。

ini
device		qat_c2xxx

带 OpenCrypto 支持的 Intel QuickAssist 驱动,仅支持 Atom C2XXX 芯片组。

ini
options 	XENHVM		# Xen HVM 内核基础设施
device		xenefi		# Xen EFI 定时器驱动
device 		xenpci		# Xen HVM Hypervisor 服务驱动
device		xentimer	# Xen x86 PV 定时器驱动

用于 Xen HVM 虚拟机的内核优化支持。

28.3.1.5 ABI 仿真

ini
options 	COMPAT_FREEBSD32

启用 amd64 系统上运行 FreeBSD i386 32 位二进制文件的运行时兼容支持。

ini
options 	COMPAT_AOUT

启用 32 位 a.out 二进制文件支持。

28.3.1.6 ZFS

注意

该功能依赖 crypto、cryptodev 和 zstd 内核组件。

ini
options 	ZFS

ZFS 文件系统。

28.3.1.7 VM

ini
options 	NKPT=31

用于早期引导的初始内核页表页数量。该数量应包含足够的页,以映射内核以及加载器随内核加载的所有模块或其他数据。每个页表页映射 2 MB。

ini
options 	KSTACK_PAGES=5

KSTACK_PAGES 是为每个线程的内核栈分配的内存页数量。

ini
options 	PV_STATS

启用 PV entry 分配器的详细统计与记账功能。

28.3.1.8 内核清理器(Sanitizers)

ini
#options	COVERAGE	# 通用内核覆盖率。KCOV 会依赖此选项
#options	KCOV			# 内核覆盖率清理器
#options	KUBSAN		# 内核未定义行为清理器 ①
#options	KCSAN			# 内核并发清理器
#options	KASAN			# 内核地址清理器
#options	KMSAN			# 内核内存清理器
  • ① 警告:KUBSAN 可能会导致内核过大,以至于 loader 无法加载。

28.3.2 i386 和 amd64 共用的机器相关内核选项

以下介绍 i386 和 amd64 两种 x86 架构共用的内核配置选项。

原文 x86/conf/NOTES,版本 NOTES: Add iwm and iwx

技巧

可直接剪切并粘贴内核和 hints 条目到内核配置文件中。

28.3.2.1 DTrace

ini
#options 	KDTRACE_HOOKS

启用内核 DTrace 钩子,DTrace 模块依赖此选项。

ini
#device		dtrace

DTrace 核心。

注意

这会将 CDDL 许可下的组件(DTrace)引入内核。

ini
#device		dtrace_profile
#device		dtrace_sdt
#device		dtrace_fbt
#device		dtrace_systrace
#device		dtrace_prototype
#device		dtnfscl
#device		dtmalloc

上述各项为不同类型的 DTrace 模块。

ini
#device		dtraceall

可选项,加载以上所有 DTrace 模块。

28.3.2.2 SMP

ini
options 	IPI_PREEMPTION

该选项为可选配置。

注意

IPI_PREEMPTION 指示内核在需要时抢占其他 CPU 上运行的线程。该功能依赖 PREEMPTION

ini
options 	COUNT_XINVLTLB_HITS	# TLB 事件计数器
options 	COUNT_IPIS		# 每 CPU IPI 中断计数器

调试选项。

28.3.2.3 兼容性

ini
options 	COMPAT_43

实现与 4.3BSD、FreeBSD 1.x 及 2.x 的 a.out 二进制文件兼容的系统调用。ELF 二进制文件或更新的 a.out 二进制文件无需此功能。

28.3.2.4 网络支持

ini
options 	DEVICE_POLLING

DEVICE_POLLING 为网络设备驱动程序添加了中断与轮询相结合的处理机制,该功能在应对过载、提高系统响应性以及在内核网络处理与其他活动之间更精确地调度 CPU 时间方面具有显著优势。其缺点在于响应时间可能适度增加(最多可达 1/HZ 秒)。

强烈建议在使用 DEVICE_POLLING 时将 HZ 设置为 1000 或 2000,以获得更平滑的运行效果。可以在运行时通过 ifconfig(8) 工具启用/禁用轮询功能,并通过 sysctl 变量 kern.polling.user_frac(默认值 50,范围 0 到 100)调整保留给用户空间的 CPU 时间比例。需要注意的是,本节撰写时,并非所有设备驱动程序都支持此工作模式。更多详细信息请参阅 polling(4)。

ini
options 	BPF_JITTER

BPF_JITTER 为 BPF 添加了即时编译程序支持。

28.3.2.5 时钟

ini
device		nvram		# 通过 /dev/nvram 访问 rtc cmos

提供对 RTC CMOS 存储区域的读写访问。

28.3.2.6 其他设备与选项

ini
device		speaker
envvar		hint.speaker.0.at="isa"
envvar		hint.speaker.0.port="0x61"

通过扬声器播放 IBM BASIC 风格的提示音效。

28.3.2.6.1 硬件总线配置

ini
options 	IOMMU

启用 IOMMU。

ini
device		isa

启用 ISA 总线。

ini
options 	AUTO_EOI_1
#options 	AUTO_EOI_2

options 	MAXMEM=(128*1024)
#options 	BROKEN_KEYBOARD_RESET

ISA 总线选项。

AUTO_EOI_1 为主 8259A 中断控制器启用“自动 EOI”功能。每次中断可节省约 0.7-1.25 微秒。此选项会破坏部分便携式设备的挂起/恢复功能。

AUTO_EOI_2 为从 8259A 中断控制器启用“自动 EOI”功能。每次中断可节省约 0.7-1.25 微秒。文档记载自动 EOI 在原始 i8259A 芯片的从控制器上无效,但部分克隆芯片和集成版本可正常使用。

MAXMEM 用于指定机器内存容量。如果没有指定该参数,FreeBSD 将首先从 CMOS RAM 读取内存容量,初始内存将被限制在 64 MB 或 16 MB(具体取决于 BIOS)。若 BIOS 报告 64 MB,系统将通过内存探测尝试检测实际安装的内存容量。若探测失败且内存大于 64 MB,则必须使用 MAXMEM 参数。容量值以千字节为单位,例如 128 MB 内存需设置为 131072(128 * 1024)。

BROKEN_KEYBOARD_RESET 可禁用通过键盘控制器执行 CPU 复位重启的功能。此选项适用于键盘控制器存在故障的系统。

ini
device		agp

AGP GART 支持。

ini
options 	AGP_DEBUG

启用 AGP 调试支持。

28.3.2.6.2 ACPI

ini
device		acpi
options 	ACPI_DEBUG

ACPI 支持(基于英特尔 ACPI 组件架构参考实现,ACPICA)。

ACPI_DEBUG 可通过内核环境变量 debug.acpi.leveldebug.acpi.layer 以设置英特尔 ACPICA 代码的初始调试级别(注意:此功能需在英特尔代码编译时启用选项 USE_DEBUGGER)。

ini
device		acpi_wmi

ACPI WMI 映射驱动程序。

ini
device		acpi_asus

面向华硕的 ACPI 扩展功能(LCD 背光/亮度、视频输出等)。

ini
device		acpi_fujitsu

面向富士通的 ACPI 扩展功能(按键)。

ini
device		acpi_hp

面向惠普笔记本的 ACPI 扩展驱动。

ini
device		acpi_ibm

面向 IBM 笔记本(ThinkPad 系列)的 ACPI 扩展驱动。

ini
device		acpi_panasonic

面向松下的 ACPI 扩展功能(LCD 背光/亮度、视频输出等)。

ini
device		acpi_sbl_wmi

ACPI SBL 固件更新。

ini
device		acpi_sony

面向索尼的 ACPI 扩展功能(LCD 亮度调节)。

ini
device		acpi_toshiba

面向东芝的 ACPI 扩展功能(LCD 背光/亮度、视频输出等)。

ini
device		acpi_video

ACPI 视频扩展功能(LCD 背光/亮度、视频输出等)。

ini
device		acpi_dock

ACPI 扩展坞支持。

ini
device		aibs

ACPI ASOC ATK0110 华硕 AI Booster(电压、温度与风扇传感器)。

28.3.2.6.3 硬件设备配置

28.3.2.6.3.1 可选设备
ini
device		sc
envvar		hint.sc.0.at="isa"
options 	MAXCONS=16		# 虚拟控制台数量
options 	SC_ALT_MOUSE_IMAGE	# 文本模式下的简化鼠标光标
options 	SC_DFLT_FONT		# 编译内置字体
makeoptions	SC_DFLT_FONT=cp850
options 	SC_DFLT_TERM=\"sc\"	# 默认的终端模拟器
options 	SC_DISABLE_KDBKEY	# 禁用 `debug' 调试键
options 	SC_DISABLE_REBOOT	# 禁用重启快捷键
options 	SC_HISTORY_SIZE=200	# 历史缓冲区行数
options 	SC_MOUSE_CHAR=0x3	# 文本模式鼠标光标字符代码
options 	SC_PIXEL_MODE		# 添加对光栅文本模式的支持

syscons 控制台驱动程序(兼容 SCO 彩色控制台接口)。

ini
options 	SC_NORM_ATTR=(FG_GREEN|BG_BLACK)
options 	SC_NORM_REV_ATTR=(FG_YELLOW|BG_GREEN)
options 	SC_KERNEL_CONS_ATTR=(FG_RED|BG_BLACK)
options 	SC_KERNEL_CONS_ATTRS=\"\x0c\x0d\x0e\x0f\x02\x09\x0a\x0b\"
options 	SC_KERNEL_CONS_REV_ATTR=(FG_BLACK|BG_RED)

以上选项可用于调整 syscons 的默认颜色配置。

sc 的 flags 参数:

  • 0x80 将显卡设置为 VESA 800x600 点阵 16 色模式
  • 0x100 如果没有检测到键盘设备则进行周期性探测
ini
options 	SC_CUT_SPACES2TABS	# 将前导空格转换为制表符
options 	SC_CUT_SEPCHARS=\"x09\"	# 单词分隔符字符集(默认为单个空格 - "x20")

以上选项可用于修改剪切粘贴功能的默认行为。

ini
options 	SC_TWOBUTTON_MOUSE

如果使用双键鼠标,可添加以上选项以启用鼠标右键粘贴文本的功能。

ini
options 	SC_NO_CUTPASTE
options 	SC_NO_FONT_LOADING
options 	SC_NO_HISTORY
options 	SC_NO_MODE_CHANGE
options 	SC_NO_SYSMOUSE
options 	SC_NO_SUSPEND_VTYSWITCH
#!options 	SC_NO_TERM_DUMB
#!options 	SC_NO_TERM_SC
#!options 	SC_NO_TERM_SCTEKEN

可选择性禁用 syscons 中的功能模块。

ini
device		splash

启动画面与屏幕保护程序。

ini
device		blank_saver
device		daemon_saver
device		dragon_saver
device		fade_saver
device		fire_saver
device		green_saver
device		logo_saver
device		rain_saver
device		snake_saver
device		star_saver
device		warp_saver

多种屏幕保护程序。

ini
options 	VESA

VGA VESA 显示模式。

ini
options 	VESA_DEBUG

启用针对 VESA 支持的额外调试检查与输出。

ini
device		dpms

通过 VESA BIOS 实现 DPMS(VESA 显示电源管理信号)挂起与恢复功能。

ini
options 	X86BIOS

x86 实模式 BIOS 模拟器(atkbdc/dpms/vesa 功能依赖于此)。

ini
device		psm
envvar		hint.psm.0.at="atkbdc"
envvar		hint.psm.0.irq="12"

PS/2 鼠标。

ini
options 	PSM_HOOKRESUME

psm 选项。

在发生系统恢复事件时重置设备(对部分笔记本电脑特别有用)。

ini
device		atkbdc
envvar		hint.atkbdc.0.at="isa"
envvar		hint.atkbdc.0.port="0x060"

键盘控制器:该组件负责控制键盘与 PS/2 鼠标。

ini
device		atkbd
envvar		hint.atkbd.0.at="atkbdc"
envvar		hint.atkbd.0.irq="1"

AT 键盘。

ini
options 	ATKBD_DFLT_KEYMAP	# 指定内置键盘布局
makeoptions	ATKBD_DFLT_KEYMAP=fr.dvorak

atkbd 驱动选项。

atkbd 的 flags 参数:

  • 0x01 强制检测键盘(默认始终假设存在键盘)
  • 0x02 禁止重置键盘(适用于部分新型 ThinkPad)
  • 0x03 强制检测且避免重置(可能有助于特定扩展坞兼容性)
  • 0x04 启用旧式(XT)键盘支持(适用于旧款 ThinkPad)
ini
device		vga
envvar		hint.vga.0.at="isa"

VGA 适配器显卡驱动程序。

ini
options 	VGA_ALT_SEQACCESS

VGA 驱动选项:若鼠标指针显示异常或字体加载不正确,可尝试以上选项(可能在某些系统上引发屏幕闪烁)。

ini
#options 	VGA_NO_FONT_LOADING	# 不保存/不加载字体
#options 	VGA_NO_MODE_CHANGE	# 不更改显示模式

如果需要节省内存空间,可通过以上选项禁用部分 VGA 驱动程序功能。

ini
options 	VGA_SLOW_IOACCESS	#

对 TS 与 GDC 寄存器执行字节宽度 I/O 操作。较旧的显卡可能需要此选项以确保正常运行。

ini
options 	VGA_WIDTH90

支持 90 列模式。以上选项可能不适用于 LCD 显示屏设备。

ini
options 	VGA_DEBUG

VGA 调试支持。

ini
device		vt_vga		# VGA
device		vt_vbefb	# VBE framebuffer

vt(4) 驱动。

ini
device		s3pci

基于 VESA 的 S3 VESA 1.2 显卡线性帧缓冲驱动程序。

28.3.2.6.4 RAID 适配器

ini
device		arcmsr		# Areca SATA II RAID

Areca 11xx 与 12xx 系列 SATA II RAID 控制器(需启用 CAM 子系统)。

ini
device		aac
device		aacp	# SCSI 直通接口(可选功能,需启用 CAM 子系统)

Adaptec FSA RAID 控制器系列,包含戴尔集成控制器、戴尔 PERC 2/QC 以及惠普 NetRAID-4M。

ini
# Highpoint RocketRAID 27xx
device		hpt27xx

# Highpoint RocketRAID 182x
device		hptmv

# Highpoint DC7280 和 R750
device		hptnr

# Highpoint RocketRAID:支持 RR172x, RR222x, RR2240, RR232x, RR2340, RR2210, RR174x, RR2522, RR231x, RR230x
device		hptrr

# Highpoint RocketRaid 3xxx 系列 SATA RAID
device		hptiop

Highpoint 相关设备。

ini
device		ips

IBM(部分型号由 Adaptec 代工,x86 服务器业务已于 2014 年出售给联想)ServeRAID 控制器(IBM. IBM Completes Initial Closing of the Sale of its x86 Server Business to Lenovo[EB/OL]. [2026-04-17]. https://www.ibm.com/investor/att/pdf/IBM-Divests-x86-Systems-Business-to-Lenovo.pdf.)。

ini
device		isci
options 	ISCI_LOGGING	# 在 isci HAL 中启用调试功能

英特尔 C600(Patsburg)集成 SAS 控制器。

ini
device		vmd

英特尔卷管理设备(Volume Management Device,VMD)支持。

ini
device		pmspcv

PMC-Sierra SAS/SATA 控制器。

28.3.2.6.5 软盘

ini
device		fdc
envvar		hint.fdc.0.at="isa"
envvar		hint.fdc.0.port="0x3F0"
envvar		hint.fdc.0.irq="6"
envvar		hint.fdc.0.drq="2"

标准软盘控制器与软盘磁带驱动器,支持 Y-E DATA 外置 FDD(PC 卡)。

ini
options 	FDC_DEBUG

FDC_DEBUG 可启用软盘调试功能。由于调试输出量极大,需通过 DDB 设置 fd_debug 变量方可激活。

ini
#hint.fdc.0.flags="1"

如果使用 Insight 的软盘磁带设备,请激活此配置项。由于仅配置软盘的用户进行设备探测存在风险,此功能已通过标志位进行隔离保护。

ini
envvar		hint.fd.0.at="fdc0"
envvar		hint.fd.0.drive="0"
envvar		hint.fd.1.at="fdc0"
envvar		hint.fd.1.drive="1"

指定软盘设备。

28.3.2.6.6 CPU 频率控制

ini
device		cpufreq

cpufreq(4) 驱动程序提供了对非 ACPI CPU 频率控制的支持。

28.3.2.6.7 网卡

ini
device		bxe		# 博通 NetXtreme II BCM5771X/BCM578XX 10GbE 以太网卡
device		gve		# 谷歌虚拟网卡 (gVNIC)
device		igc		# Intel I225 2.5 G Ethernet
device		ipw		# Intel 2100 无线网卡(Intel PRO/Wireless 2100 IEEE 802.11 适配器),依赖 ipw 固件
device		iwi		# Intel 2200BG/2225BG/2915ABG 无线网卡(Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 适配器),依赖 iwi 固件
device		iwm		# Intel IEEE 802.11ac 无线网卡(Intel Wireless WiFi Link 1000/105/135/2000/4965/5000/6000/6050 abgn 802.11 网络适配器),依赖 iwm 固件
device		iwn		# Intel 4965/1000/5000/6000 无线网卡
device		iwx		# Intel IEEE 802.11ax 无线网卡
device  	mthca		# Mellanox HCA InfiniBand
device  	mlx4		# InfiniBand 与以太网共用的代码模块
device  	mlx4ib		# Mellanox ConnectX HCA InfiniBand
device  	mlx4en		# Mellanox ConnectX HCA Ethernet
device		nfe		# 英伟达 nForce MCP 板载以太网(以 BSD 开源)
device		vmx		# VMware VMXNET3 以太网(以 BSD 开源)
device		wpi		# Intel 3945ABG 无线网卡(Intel 3945ABG 无线局域网控制器),依赖 wpi 固件

28.3.2.6.8 IEEE 802.11 适配器固件

ini
device		iwifw
device		iwibssfw
device		iwiibssfw
device		iwimonitorfw
device		ipwfw
device		ipwbssfw
device		ipwibssfw
device		ipwmonitorfw
device		iwnfw
device		iwn1000fw
device		iwn105fw
device		iwn135fw
device		iwn2000fw
device		iwn2030fw
device		iwn4965fw
device		iwn5000fw
device		iwn5150fw
device		iwn6000fw
device		iwn6000g2afw
device		iwn6000g2bfw
device		iwn6050fw
device		wpifw

Intel PRO/Wireless 2100 固件:

  • ipwfw - 支持 BSS/IBSS/监听模式的全功能固件
  • ipwbssfw - 仅支持 BSS 模式固件
  • ipwibssfw - 仅支持 IBSS 模式固件
  • ipwmonitorfw - 仅支持监听模式固件

Intel PRO/Wireless 2200BG/2225BG/2915ABG 固件:

  • iwifw - 支持 BSS/IBSS/监听模式的全功能固件
  • iwibssfw - 仅支持 BSS 模式固件
  • iwiibssfw - 仅支持 IBSS 模式固件
  • iwimonitorfw - 仅支持监听模式固件

Intel Wireless Wi-Fi Link 4965/1000/5000/6000 系列固件:

  • iwnfw - 支持所有该系列设备的单一模块
  • iwn1000fw - 仅适用于 1000 的特定模块
  • iwn105fw - 仅适用于 105 的特定模块
  • iwn135fw - 仅适用于 135 的特定模块
  • iwn2000fw - 仅适用于 2000 的特定模块
  • iwn2030fw - 仅适用于 2030 的特定模块
  • iwn4965fw - 仅适用于 4965 的特定模块
  • iwn5000fw - 仅适用于 5000 的特定模块
  • iwn5150fw - 仅适用于 5150 的特定模块
  • iwn6000fw - 仅适用于 6000 的特定模块
  • iwn6000g2afw - 仅适用于 6000g2a 的特定模块
  • iwn6000g2bfw - 仅适用于 6000g2b 的特定模块
  • iwn6050fw - 仅适用于 6050 的特定模块

其他:

  • wpifw - Intel 3945ABG 无线局域网控制器固件

28.3.2.6.9 非透明桥 (NTB) 驱动程序

ini
device		if_ntb		# 虚拟 NTB 网卡
device		ntb_transport	# NTB 数据包传输驱动程序
device		ntb		# NTB 硬件接口
device		ntb_hw_amd	# AMD NTB 硬件驱动
device		ntb_hw_intel	# Intel NTB 硬件驱动
device		ntb_hw_plx	# PLX NTB 硬件驱动

28.3.2.6.10 其他硬件

ini
device		ipmi    # 智能平台管理接口
device		pbio    # 并行(8255 PPI)基本 I/O(模式 0)端口(例如 Advantech PCL-724)
envvar		hint.pbio.0.at="isa"
envvar		hint.pbio.0.port="0x360"
device		smbios  # DMI/SMBIOS 入口点(需启用 EFIRT 选项)
device		vpd # 重要产品数据内核接口
device		asmc    # Apple 系统管理控制器
device		tpm # 可信平台模块
device		rdrand_rng	# 英特尔 Bull Mountain 随机数生成器
device		aesni		# AES-NI OpenCrypto 模块
device		ossl		# OpenSSL OpenCrypto 模块

Specialix SI/XIO 驱动程序注意事项:

  • 主机卡采用内存映射(非 I/O 映射)
  • Rev 1 主机卡使用 64 K 内存块,对齐边界为 32 K
  • Rev 2 主机卡使用 32 K 内存块,对齐边界为 32 K
  • 该系列卡支持使用 IRQ 11、12 或 15
ini
device		kvm_clock	# KVM 半虚拟化时钟驱动程序

Linux KVM 半虚拟化支持。

ini
device 		hyperv		# Hyper-V 驱动
device		hvhid		# Hyper-V HID 驱动

Microsoft Hyper-V 虚拟化增强支持。

ini
device		pvscsi		# 半虚拟化 SCSI 驱动程序
device		vmci		# 虚拟机通信接口(VMCI)
device		vmware_guestrpc	# GuestRPC 接口

VMware 虚拟机监控程序支持。

ini
device backlight

笔记本电脑专用选项。背光亮度调节。

ini
device		imcsmb

系统管理总线(SMBus)。

支持的 SMBus 接口:

  • imcsmb:集成内存控制器 (iMC) SMBus 控制器。
  • 支持平台:Sandy Bridge-至强、Ivy Bridge-至强、Haswell-至强、Broadwell-至强处理器
ini
device		iichid		# HID-over-I²C 支持
options 	IICHID_DEBUG	# 启用 HID-over-I²C 调试信息
options 	IICHID_SAMPLING	# 针对缺失 GPIO 中断支持的变通方案

HID-over-I²C 支持。

ini
device		amdsmn

AMD 系统管理网络(AMD System Management Network,SMN)。

ini
device		ichwd   # 英特尔 ICH 看门狗定时器
device		amdsbwd # AMD SB7xx 看门狗定时器
device		viawd   # VIA 南桥看门狗定时器
device		wbwd    # Winbond 看门狗定时器
device		itwd    # ITE Super I/O 看门狗定时器

硬件看门狗定时器。

ini
device		coretemp
device		amdtemp

温度传感器:

  • coretemp:英特尔酷睿及更新架构处理器晶圆的内置传感器
  • amdtemp:AMD K8/K10/K11 系列处理器晶圆的内置传感器
ini
device		cpuctl

CPU 控制伪设备。提供了对 MSR(模型特定寄存器)、CPUID 信息及微代码更新功能的访问。

ini
device		superio

SuperIO 驱动。

ini
options 	KBDIO_DEBUG=2
options 	KBD_MAXRETRY=4
options 	KBD_MAXWAIT=6
options 	KBD_RESETDELAY=201

options 	PSM_DEBUG=1

options 	TIMER_FREQ=((14318182+6)/12)

options 	VM_KMEM_SIZE
options 	VM_KMEM_SIZE_MAX
options 	VM_KMEM_SIZE_SCALE

许多用于代码检查的内部选项。

注意

原文注释:编写此类选项的文档不视为不当行为。

28.3.3 arm64(aarch64)机器相关配置

ini
#profile         2

希望 LINT 也能支持性能分析功能,但该功能目前仍存在缺陷。

ini
options 	KDTRACE_HOOKS
options 	KDTRACE_MIB_SDT

启用加载 DTrace 内核模块所需的内核 DTrace 钩子。

ini
cpu		ARM64

以下内容主要移植自 ARM64 平台的 GENERIC 配置文件。

ini
makeoptions	DEBUG=-g

构建包含 gdb(1) 调试符号的内核。

ini
makeoptions	WITH_CTF=1

运行 ctfconvert(1) 以支持 DTrace 功能。

ini
options 	PRINTF_BUFR_SIZE=128

防止 printf 输出内容交错。

ini
options 	KDTRACE_FRAME

确保编译时包含帧信息。

ini
options 	VFP

浮点运算支持。

ini
options 	RACCT_DEFAULT_TO_DISABLED

kern.racct.enable=0 设置为默认选项。

28.3.3.1 SoC 支持

ini
options 	SOC_ALLWINNER_A64

Allwinner(全志)A64(sun50iw1)片上系统搭载四核 Cortex-A53 ARM 处理器,并集成 ARM Mali400 MP2 图形处理器。

ini
options 	SOC_ALLWINNER_H5

Allwinner(全志)H5(sun50iw2p1)片上系统搭载四核 Cortex-A53 ARM 处理器,并集成 ARM Mali450 MP4 图形处理器。

ini
options 	SOC_ALLWINNER_H6

Allwinner(全志)H6(sun50iw6p1)片上系统搭载四核 Cortex-A53 ARM 处理器,并集成 ARM Mali-T720 MP2 图形处理器。该芯片是专为 OTT 设备设计的片上系统。

ini
options 	SOC_BRCM_BCM2837

该芯片用于树莓派 3B、2B 后续型号以及树莓派计算模块 3。BCM2837 的底层架构与 BCM2836 相同。唯一明显的区别是用四核 ARM Cortex A53(ARMv8)簇替换了四核 ARMv7 簇。

ini
options 	SOC_BRCM_BCM2838

树莓派 4B 使用的博通芯片。树莓派 4B 实际搭载的 SoC 为 BCM2711,FreeBSD 内核选项沿用了 BCM2838 的命名(Raspberry Pi Foundation. BCM2711[EB/OL]. [2026-04-17]. https://www.raspberrypi.com/documentation/computers/processors.html.)。

ini
options 	SOC_BRCM_NS2

博通 Northstar 2 (NS2) SoC。NS2 是一款基于 ARMv8 架构的片上系统,隶属于博通 iProc 产品系列。

ini
options 	SOC_CAVM_THUNDERX

Cavium ThunderX。

ini
options 	SOC_FREESCALE_IMX8

基于 Arm Cortex 架构的 i.MX 8 系列应用处理器。

ini
options 	SOC_HISI_HI6220

华为海思麒麟 620。

ini
options 	SOC_INTEL_STRATIX10

英特尔 Stratix® 10。

ini
options 	SOC_MARVELL_8K

Marvell Armada 8K SoC。

ini
options 	SOC_NVIDIA_TEGRA210

英伟达 Tegra210。

ini
options 	SOC_NXP_LS

NXP Layerscape 处理器。

ini
options 	SOC_ROCKCHIP

瑞芯微。

ini
options 	SOC_ROCKCHIP_RK3328

瑞芯微 RK3328。

ini
options 	SOC_ROCKCHIP_RK3399

瑞芯微 RK3399。

ini
options 	SOC_ROCKCHIP_RK3568

瑞芯微 RK3568。

ini
options 	SOC_XILINX_ZYNQ

AMD Xilinx Zynq SoC。

28.3.3.1.1 定时器

ini
device		aw_timer

全志定时器驱动。

28.3.3.2 Annapurna Alpine 驱动

ini
device		al_ccu

Alpine 缓存一致性单元。

ini
device		al_nb_service

Alpine 北桥服务。

ini
device		al_iofic

Alpine I/O 架构中断控制器。

ini
device		al_serdes

Alpine 串行器/解串器。

ini
device		al_udma

Alpine 通用 DMA。

28.3.3.3 高通骁龙系列驱动程序

ini
device		qcom_gcc

高通骁龙全局时钟控制器。

28.3.3.4 谷歌虚拟网卡

ini
device		gve

谷歌虚拟网卡(gVNIC)驱动。

28.3.3.5 Microsoft Hyper-V

ini
device		hyperv

Microsoft Hyper-V。

28.3.3.6 CPU 频率调控

ini
device		cpufreq

CPU 频率调节支持。

28.3.3.7 硬件加密加速

ini
device		armv8crypto

ARMv8 OpenCrypto 模块。

ini
device		ossl

OpenSSL OpenCrypto 模块。

28.3.3.8 总线驱动

ini
device		al_pci

Annapurna Alpine PCIe。

ini
options 	PCI_HP

PCIe 原生热插拔。

ini
options 	PCI_IOV		# PCI SR-IOV support

28.3.3.9 以太网卡

ini
device		mdio

IEEE 802.3 管理数据输入/输出接口(MDIO)。

ini
device		awg

全志 EMAC 千兆以太网控制器。

ini
device		axa

AMD Opteron A1100 集成网卡。

ini
device		neta

Marvell Armada 370/38x/XP/3700 网卡。

ini
device  	smc

SMSC LAN91C111。

ini
device		vnic

Cavium ThunderX 网卡。

ini
device		al_eth

Annapurna Alpine 以太网网卡。

ini
device  	dwc

Synopsys Designware GMAC 以太网。

ini
device		dwc_rk

Rockchip Designware。

ini
device		dwc_socfpga

Altera SOCFPGA 以太网 MAC。

ini
device		ice

Intel 800 系列物理功能。

ini
device		ice_ddp

Intel 800 系列 DDP 套件。

28.3.3.10 Etherswitch 设备

ini
device		e6000sw

基于 Marvell mv88e6085 的交换机。

28.3.3.11 存储

ini
device		mpi3mr			# LSI-Logic MPT-Fusion 4

Broadcom MPT-Fusion 第 4 版,仅支持 64 位架构。

28.3.3.12 MMC/SD/SDIO 卡槽支持

ini
device		sdhci_xenon

Marvell Xenon SD/MMC 控制器。

ini
device		aw_mmc

Allwinner(全志)SD/MMC 控制器。

ini
device		dwmmc

DesignWare SD/MMC 总线控制器。

ini
device		dwmmc_altera

Altera SoCFPGA DWMAC 控制器。

ini
device		rk_emmcphy

rkemmcphy 驱动控制着 Rockchip SoC 上集成的 eMMC PHY。

28.3.3.13 串行(COM)端口

ini
device		uart_msm

Qualcomm(高通)MSM UART 驱动。

ini
device		uart_mu

Raspberry Pi 3 辅助端口。

ini
device		uart_mvebu

Armada 3700 UART 驱动。

ini
device		uart_ns8250

NS8250 型 UART 驱动。

ini
device		uart_snps

DesignWare Synopsys UART 驱动。

ini
device		pl011

PL011 通用 ARM UART 控制器。

28.3.3.14 Arm FVP

ini
options 	SOCDEV_PA=0x1c090000
options 	EARLY_PRINTF=pl011

在 Arm FVP 平台下使用 PL011 UART 进行早期打印(early printf)支持。

28.3.3.15 USB

ini
device		aw_usbphy

Allwinner USB PHY。

ini
device		dwcotg

DWC OTG 控制器。

ini
device		ehci_mv

Marvell EHCI USB 控制器。

28.3.3.16 USB 以太网

ini
device		muge

Microchip LAN78xx USB 千兆以太网控制器驱动。

ini
device		smsc

Microchip LAN9xxx USB 快速以太网驱动。

28.3.3.17 音频

ini
device a10_codec

Allwinner A10 编解码器。

28.3.3.18 DMA 控制器

ini
device		a31_dmac

Allwinner A31(sun6i)SoC DMA 控制器。

28.3.3.19 GPIO / 引脚控制(PINCTRL)

ini
device		a37x0_gpio

Marvell Armada 37x0 GPIO 控制器。

ini
device		aw_gpio

Allwinner GPIO 控制器。

ini
device		fdt_pinctrl

FDT I/O 引脚复用支持功能。

ini
device		mv_gpio

Marvell GPIO 控制器。

ini
device		mvebu_pinctrl

Marvell Pinmux 控制器。

ini
device		rk_gpio

Rockchip GPIO 控制器。

ini
device		rk_pinctrl

Rockchip Pinmux 控制器。

28.3.3.20 I²C

ini
device		aw_rsb

Allwinner 精简串行总线。

ini
device		bcm2835_bsc

Broadcom BCM283x I²C 控制器。

ini
device		twsi

Allwinner I²C 控制器(TWSI)。

ini
device		rk_i2c

RockChip I²C 控制器。

28.3.3.21 时钟与复位控制器

ini
device		aw_ccu

Allwinner 时钟控制器。

28.3.3.22 中断控制器

ini
device		aw_nmi

Allwinner NMI。

ini
device		mv_cp110_icu

Marvell CP110 ICU。

ini
device		mv_ap806_gicp

Marvell AP806 GICP。

28.3.3.23 RTC 时钟

ini
device		aw_rtc

Allwinner RTC 实时时钟。

ini
device		mv_rtc

Marvell RTC 实时时钟。

28.3.3.24 看门狗控制器

ini
device		aw_wdog

Allwinner 看门狗定时器。

28.3.3.25 电源管理控制器

ini
device		axp81x

X-Powers AXP81x 电源管理芯片。

ini
device		rk8xx

Rockchip RK8xx 基础支持。

ini
device		rk805

Rockchip RK805 电源管理芯片。

ini
device		rk808

Rockchip RK808 电源管理芯片。

ini
device		rk817

Rockchip RK817 电源管理芯片。

28.3.3.26 电子熔丝(EFUSE)

ini
device		aw_sid

Allwinner 安全 ID 电子熔丝(Secure ID,eFuse)。

28.3.3.27 热传感器

ini
device		aw_thermal

Allwinner 热传感器控制器。

ini
device		mv_thermal

Marvell 热传感器控制器。

28.3.3.28 SPI

ini
device		bcm2835_spi

Broadcom BCM283x SPI 总线。

28.3.3.29 PWM

ini
device		pwm

配置 PWM(脉宽调制)硬件。

ini
device		aw_pwm

Allwinner PWM 支持。

ini
device		vt_efifb

EFI 帧缓冲终端驱动。

ini
device		vt_simplefb

简单帧缓冲(simple-framebuffer)虚拟控制台驱动。

ini
options 	EVDEV_SUPPORT

EVDEV,传统输入驱动中的 evdev 支持。

ini
device		aw_cir

Allwinner 消费类红外(IR)控制器。

ini
device		clk
device		efidev		# EFI 伪设备
device		efirtc		# EFI RTC
device		phy
device		hwreset
device		nvmem
device		regulator
device		syscon
device		aw_syscon

伪设备。

ini
device		backlight

背光子系统。

28.3.3.30 其他设备

ini
device		pl330

ARM PL330 DMA 控制器。

ini
device		xdma

SoC 片上 DMA 控制器的 xDMA 框架。

ini
options 	THUNDERX_PASS_1_1_ERRATA

芯片特定的勘误修正(Errata)。

ini
options 	EFIRT		# EFI 运行时服务
ini
options 	FDT

FDT 支持。

ini
device		acpi

ACPI 支持。

ini
makeoptions	MODULES_EXTRA="dtb/allwinner dtb/rockchip dtb/rpi"

DTB(Device Tree Blob)支持。

ini
options 	CAMDEBUG
options 	CAM_DEBUG_FLAGS=(CAM_DEBUG_INFO|CAM_DEBUG_PROBE|CAM_DEBUG_PERIPH)

添加 CAMDEBUG 调试功能。

ini
options 	MMCCAM

同时引入 camified MMC。

ini
nooptions 	PPC_PROBE_CHIPSET

arm64 不支持 inb/outb,因此禁用需要它的芯片组探测。

ini
nooptions 	DEBUG

这些选项可能导致异常问题,其原因尚不明确。

ini
nodevice	snd_cmi

对总线标签的相关假设在 arm64 架构上不成立。

ini
nooptions 	COMPAT_FREEBSD4
nooptions 	COMPAT_FREEBSD5
nooptions 	COMPAT_FREEBSD6
nooptions 	COMPAT_FREEBSD7
nooptions 	COMPAT_FREEBSD9
nooptions 	COMPAT_FREEBSD10

在这些版本中尚不存在 arm64 架构,因此缺乏所需的兼容支持,直接禁用这些选项。

ini
options 	COMPAT_FREEBSD32	# 与 FreeBSD/arm 兼容

arm64 支持 32 位 FreeBSD/arm 二进制文件(armv6/armv7 ABI)。

ini
options		IOMMU

ARM64 SMMU/IOMMU 支持。

28.3.3.31 ZFS

ini
options 	ZFS

ZFS 文件系统支持。

28.3.3.32 HID-over-I2C

ini
device		iichid

HID-over-I2C 支持。

ini
options 	IICHID_DEBUG

启用 HID-over-I2C 调试信息。

ini
options 	IICHID_SAMPLING

针对缺失 GPIO 中断支持的解决方法。

28.3.4 armv7/32 位 arm 机器相关配置

该架构即将淘汰,因此没有整理内核选项的必要。

28.3.5 64 位 RISC-V 机器相关配置

ini
cpu RISCV

将处理器体系结构指定为 RISC-V。

ini
makeoptions        DEBUG=-g

构建带 gdb(1) 调试符号的内核。

ini
makeoptions        WITH_CTF=1

运行 ctfconvert(1) 以支持 DTrace。

ini
options         PRINTF_BUFR_SIZE=128

防止 printf 输出交错。

ini
options         KDTRACE_FRAME

确保栈帧信息被编译进内核。

ini
options         KDTRACE_HOOKS

内核 DTrace 钩子。

ini
options         DDB_CTF

内核 ELF 链接器加载 CTF 数据。

ini
options         RACCT_DEFAULT_TO_DISABLED

kern.racct.enable 默认值设为 0

ini
options         PV_STATS

启用 PV 入口分配器的详细统计功能。

ini
device rcons

RISC-V SBI 控制台。

ini
device clk
device hwreset
device phy
device regulator
device syscon
device syscon_power
device riscv_syscon

伪设备。

ini
device backlight

背光子系统。

ini
device dwmmc

MMC/SD/SDIO 卡槽支持。

ini
device dtrace

DTrace 核心。

注意

选项 dtrace 会将 CDDL 许可协议授权的组件引入内核。

ini
device dtraceall

内置所有 DTrace 模块。

28.3.5.1 串行(COM)端口

ini
device uart_lowrisc

lowRISC UART 驱动。

ini
device uart_ns8250

ns8250 型 UART 驱动程序。

28.3.5.2 RTC 实时时钟

ini
device da9063_rtc

Dialog Semiconductor DA9063 实时时钟。

ini
device goldfish_rtc

QEMU 实时时钟。

28.3.5.3 以太网驱动

ini
device          dwc

Synopsys DesignWare GMAC 以太网。

ini
device xae

Xilinx AXI 以太网 MAC。

28.3.5.4 DMA 接口支持

ini
device xdma

DMA 接口。

ini
device axidma

Xilinx AXI DMA 控制器。

28.3.5.5 SPI

ini
device xilinx_spi

Xilinx AXI 四通道 SPI 控制器。

28.3.5.6 电源管理控制

ini
device da9063_pmic

Dialog Semiconductor DA9063 电源管理集成电路(PMIC)。

28.3.5.7 SiFive 设备驱动

ini
device fe310aon
device fu740_pci_dw
device sifive_gpio
device sifive_spi
files "../sifive/files.sifive"

28.3.5.8 扁平化设备树(Flattened Device Tree,FDT)

ini
options         FDT
makeoptions        MODULES_EXTRA+="dtb/sifive"

28.3.5.9 FreeBSD/riscv 在这些版本中尚未存在

ini
nooptions         COMPAT_FREEBSD4
nooptions         COMPAT_FREEBSD5
nooptions         COMPAT_FREEBSD6
nooptions         COMPAT_FREEBSD7
nooptions         COMPAT_FREEBSD9
nooptions         COMPAT_FREEBSD10
nooptions         COMPAT_FREEBSD11

28.3.5.10 由于 RISC-V 架构不支持 inb/outb 指令,因此禁用需要这些指令的芯片组探测功能

ini
nooptions         PPC_PROBE_CHIPSET

28.3.5.11 在 RISC-V 架构上,关于总线标签的某些假设不成立

ini
nodevice        snd_cmi

28.3.5.12 hwpmc(4) 功能目前尚未实现支持

ini
nodevice        hwpmc
nooptions         HWPMC_HOOKS

28.3.5.13 RISC-V 架构目前尚未实现原子操作函数 atomic_testandset_intatomic_testandclear_int

ini
nodevice        ccr
nodevice        cxgbe
nodevice        cxgbev