24.2 机器相关的内核选项
原文:amd64/conf/NOTES,版本 mpi3mr: Broadcom's MPT-Fusion version 4 is amd64 and aarch64 only。
技巧
可直接剪切/粘贴内核和 hints 条目到内核配置文件中。
amd64 机器相关的内核选项
GCOV (生成覆盖率信息)
options LINDEBUGFS # ①
options GCOV # ②① 用于调试的 Linux 文件系统,参见 lindebugfs(5)
② GCOV 实际上是 llvm-cov,参见 gcov(1)
SMP
可选设备:
device atpic # 可选兼容 pic 可编程中断控制器,ISA 相关
device mptable # 可选的 MPSPEC 多处理器表 ①①:显示多处理器配置表,参见 mptable(1)
CPU
技巧
你必须至少指定一款 CPU(即你打算运行的那款 CPU);删除那些你不打算使用的 CPU 的配置可能会让系统中的某些部分运行得更快。
硬件设备配置
可选设备:
① vt(4) 驱动。参见 vt(4)
3Dfx Voodoo Graphics、Voodoo II 的 /dev/3dfx 字符设备支持(1990 年代的产品)。将创建设备 /dev/3dfx0 ,以便与 Glide 实现一起使用。该设备应链接到 /dev/3dfx 和 /dev/voodoo。请注意,这与 XFree86 的 tdfx DRI 模块不同,完全无关。
RAID 适配器
Promise Supertrak SX6000 的设备驱动程序
Microsemi smartpqi 控制器。这些控制器有类似 SCSI 的接口,并且需要 CAM 基础设施。
Broadcom MPT Fusion,第 4 版,仅支持 64 位。
网络接口
其他硬件
Intel I/O 加速技术支持
EFI 运行时服务支持
EFI 伪设备
EFI RTC(实时时钟)
带 OpenCrypto 支持的 Intel QuickAssist 驱动,仅支持 Atom C2XXX 芯片组。
Xen HVM 虚拟机优化。
ABI 仿真
启用 FreeBSD / i386 二进制文件的 32-bit 运行时支持。
启用 (32-bit) a.out 二进制文件支持。
ZFS
注意
这取决于 crypto、cryptodev 和 ZSTDIO。
ZFS 文件系统。
VM
用于早期引导的初始内核页表页数量。这个数量应包含足够的页,以映射内核以及加载器随内核加载的任何模块或其他数据。每个页表页映射 2 MB。
KSTACK_PAGES 是为每个线程的内核栈分配的内存页数量。
启用 PV entry 分配器的详细记账功能。
内核清理器(sanitizers)
① 警告:KUBSAN 可能会导致内核过大,以至于 loader 无法加载。
i386 和 amd64 共用的机器相关内核选项
原文 x86/conf/NOTES,版本 NOTES: Add iwm and iwx。
技巧
可直接剪切/粘贴内核和 hints 条目到内核配置文件中。
DTrace
启用内核 DTrace hooks,DTrace 模块依赖此选项。
DTrace 核心。
注意
这将会把 CDDL 许可下的组件(DTrace)引入内核。
各种 DTrace 模块。
可选项,加载以上所有 DTrace 模块。
SMP
可选项。
注意
IPI_PREEMPTION指示内核在需要时抢占其他 CPU 上运行的线程。该功能依赖PREEMPTION。
调试选项。
兼容性
实现与 4.3BSD、FreeBSD 1.x 及 2.x 的 a.out 二进制文件兼容的系统调用。ELF 二进制文件或更新的 a.out 二进制文件无需此功能。
网络支持
DEVICE_POLLING 为网络设备驱动程序添加了中断与轮询混合处理支持,该功能在应对过载的健壮性、系统响应性以及在内核网络处理与其他活动之间实现精确的 CPU 时间调度方面具有显著优势。其缺点在于响应时间可能适度增加(最多可达 1/HZ 秒)。
强烈建议在使用 DEVICE_POLLING 时将 HZ 设置为 1000 或 2000 以获得更平滑的运行表现。此外,您可以在运行时通过 ifconfig(8) 工具启用/禁用轮询功能,并通过 sysctl 变量 kern.polling.user_frac(默认值 50,范围 0 到 100)调整保留给用户空间的 CPU 时间比例。需要注意的是,在本文撰写时,并非所有设备驱动程序都支持此工作模式。更多详细信息请参阅 polling(4)。
BPF_JITTER 为 BPF 添加了即时编译器支持。
时钟
提供对时钟芯片内存的读写访问。
其他杂项设备与选项
通过扬声器播放 IBM BASIC 风格的提示音。
硬件总线配置
启用 IOMMU。
启用 ISA 总线。
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 读取内存容量,此时初始内存将被限制在 64MB 或 16MB(具体取决于 BIOS)。若 BIOS 报告 64MB,系统将通过内存探测尝试检测实际安装的内存容量。若探测失败且内存大于 64MB,则必须使用 MAXMEM 参数。容量值以千字节为单位,例如 128MB 内存需设置为 131072(128 * 1024)。
BROKEN_KEYBOARD_RESET 可禁用通过键盘控制器执行 CPU 复位重启的功能。此选项适用于键盘控制器存在故障的系统。
AGP GART 支持。
AGP 调试。
ACPI
ACPI 支持(基于英特尔 ACPI 组件架构参考实现)
ACPI_DEBUG 可通过内核环境变量 debug.acpi.level 与 debug.acpi.layer 来设置英特尔 ACPICA 代码的初始调试级别(注意:此功能需在英特尔代码编译时启用选项 USE_DEBUGGER)
ACPI WMI 映射驱动程序
面向华硕的 ACPI 扩展功能(LCD 背光/亮度、视频输出等)
面向富士通的 ACPI 扩展功能(按键)
面向惠普笔记本的 ACPI 扩展驱动
面向 IBM 笔记本(ThinkPad)的 ACPI 扩展驱动
面向松下的 ACPI 扩展功能(LCD 背光/亮度、视频输出等)
ACPI SBL 固件更新
面向索尼的 ACPI 扩展功能(LCD 亮度调节)
面向东芝的 ACPI 扩展功能(LCD 背光/亮度、视频输出等)
ACPI 视频扩展功能(LCD 背光/亮度、视频输出等)
ACPI 扩展坞支持
ACPI ASOC ATK0110 华硕 AI Booster(电压、温度与风扇传感器)
硬件设备配置
可选设备
syscons 控制台驱动程序(兼容 SCO 彩色控制台)。
以上选项可用于调整 syscons 的默认颜色配置。
sc 的 flags 参数:
0x80将显卡设置为 VESA 800x600 点阵 16 色模式0x100若未检测到键盘设备则进行周期性探测
以上选项可用于修改剪切粘贴功能的默认行为。
若使用双键鼠标,可添加以上选项来启用鼠标右键粘贴文本的功能。
可选择性禁用 syscons 中的功能模块。
启动画面与屏幕保护程序。
多种屏幕保护程序。
VGA VESA 显示模式。
启用针对 VESA 支持的额外调试检查与输出。
通过 VESA BIOS 实现 DPMS(VESA 显示电源管理信号)挂起与恢复功能。
x86 实模式 BIOS 模拟器(atkbdc/dpms/vesa 功能依赖于此)。
PS/2 鼠标。
psm 选项。
在系统恢复事件时重置设备(对部分笔记本电脑特别有用)。
键盘控制器:该组件负责控制键盘与 PS/2 鼠标。
AT 键盘。
atkbd 驱动选项。
atkbd 的 flags 参数:
0x01强制检测键盘(默认始终假设存在键盘)0x02禁止重置键盘(适用于部分新型 ThinkPad)0x03强制检测且避免重置(可能有助于特定扩展坞兼容性)0x04启用旧式(XT)键盘支持(适用于旧款 ThinkPad)
VGA 适配器显卡驱动程序
vga 驱动选项:若鼠标指针显示异常或字体加载不正确,可尝试以上选项(可能在某些系统上引发屏幕闪烁)。
.
若需节省内存空间,可通过以上选项禁用部分 vga 驱动程序功能。
对 TS 与 GDC 寄存器执行字节宽度 I/O 操作。较旧的显卡可能需要此选项以确保正常运行。
支持 90 列模式。以上选项可能不适用于 LCD 显示屏。
调试器。
vt(4) 驱动。
基于 VESA 的 S3 VESA 1.2 显卡线性帧缓冲驱动程序
RAID 适配器
Areca 11xx 与 12xx 系列 SATA II RAID 控制器(需启用 CAM 子系统)。
Adaptec FSA RAID 控制器系列,包含戴尔集成控制器、戴尔 PERC 2/QC 及惠普 NetRAID-4M。
Highpoint 相关设备。
IBM (now Adaptec) ServeRAID 控制器
英特尔 C600(Patsburg)集成 SAS 控制器
英特尔卷管理设备 (VMD) 支持。
PMC-Sierra SAS/SATA 控制器。
软盘
标准软盘控制器与软盘磁带驱动器,支持 Y-E DATA 外置 FDD(PC 卡)。
FDC_DEBUG 可启用软盘调试功能。由于调试输出量极大,需通过 DDB 设置 fd_debug 变量方可激活。
若您使用 Insight 的软盘磁带设备,请激活此配置项。由于仅配置软盘的用户进行设备探测存在风险,此功能已通过标志位进行隔离保护。
指定软盘设备
CPU 频率控制
cpufreq(4) 驱动程序提供了对非 ACPI CPU 频率控制的支持。
网卡
IEEE 802.11 适配器固件
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 WiFi 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 无线局域网控制器固件
非透明桥 (NTB) 驱动程序
其他硬件
Specialix SI/XIO 驱动程序注意事项:
主机卡采用内存映射(非 I/O 映射)
Rev 1 主机卡使用 64K 内存块,对齐边界为 32K
Rev 2 主机卡使用 32K 内存块,对齐边界为 32K
该系列卡支持使用 IRQ 11、12 或 15
Linux KVM 半虚拟化支持。
微软 Hyper-V 增强支持
VMware 虚拟机监控程序支持。
笔记本电脑专用选项。背光亮度调节。
系统管理总线(SMB)。
支持的 SMBus 接口:
imcsmb:集成内存控制器 (iMC) SMBus 控制器。
支持平台:Sandy Bridge-至强、Ivy Bridge-至强、Haswell-至强、Broadwell-至强处理器
HID-over-I²C 支持。
AMD 系统管理网络(AMD System Management Network, SMN)
硬件看门狗定时器。
温度传感器:
coretemp:英特尔酷睿及更新架构处理器晶圆的内置传感器amdtemp:AMD K8/K10/K11 系列处理器晶圆的内置传感器
CPU 控制伪设备。提供了对 MSR(模型特定寄存器)、CPUID 信息及微代码更新功能的访问。
SuperIO 驱动。
许多用于代码检查的未公开选项。
注意
原文注释:对此类选项进行的文档编写并不被视为不当行为。
arm64(aarch64)机器相关配置
原文:sys/arm64/conf/NOTES:aarch64 机器相关的内核配置说明文件。版本:LINT: add KDTRACE_MIB_SDT to catch inconsistencies with struct tcpstat。
我们希望 LINT 也能支持性能分析功能,但该功能目前存在缺陷。
启用加载 DTrace 内核模块所需的内核 DTrace 钩子。
以下内容主要移植自 ARM64 平台的 GENERIC 配置文件。
构建带 gdb(1) 调试符号的内核。
运行 ctfconvert(1) 来支持 DTrace 功能。
防止 printf 输出内容交错。
确保编译时包含帧信息。
浮点运算支持。
SoC 支持
Allwinner(全志)A64(sun50iw1)片上系统搭载四核 Cortex-A53 ARM 处理器,并集成 ARM Mali400 MP2 图形处理器。
Allwinner(全志)H5(sun50iw2p1)片上系统搭载四核 Cortex-A53 ARM 处理器,并集成 ARM Mali450 MP4 图形处理器。
Allwinner(全志)H6(sun50iw6p1)片上系统搭载四核 Cortex-A53 ARM 处理器,并集成 ARM Mali-T720 MP2 图形处理器。该芯片是专为 OTT 设备设计的片上系统。
这是在树莓派 3B、2B 后续型号以及树莓派计算模块 3 中使用的博通芯片。BCM2837 的底层架构与 BCM2836 相同。唯一明显的区别是用四核 ARM Cortex A53(ARMv8)簇替换了四核 ARMv7 簇。
树莓派 4B 使用的博通芯片。
博通 Northstar 2 (NS2) SoC。NS2 是一款基于 ARMv8 架构的片上系统,隶属于博通 iProc 产品系列。
Cavium ThunderX。
基于 Arm Cortex 架构的 i.MX 8 系列应用处理器。
华为海思麒麟 620。
英特尔 Stratix® 10。
Marvell Armada 8K SoC。
英伟达 Tegra210。
NXP Layerscape 处理器。
瑞芯微。
瑞芯微 RK3328。
瑞芯微 RK3399。
瑞芯微 RK3568。
AMD Xilinx Zynq。
定时器
全志定时器驱动。
Annapurna Alpine 驱动
Alpine 缓存一致性单元。
Alpine 北桥服务。
Alpine I/O 架构中断控制器。
Alpine 串行器/解串器。
Alpine 通用 DMA。
高通骁龙系列驱动程序
高通骁龙全局时钟控制器。
谷歌虚拟网卡
谷歌虚拟网卡(gVNIC)驱动。
Microsoft Hyper-V
Microsoft Hyper-V。
CPU 频率调控
CPU 频率调控。
硬件加密加速
ARMv8 OpenCrypto 模块。
OpenSSL OpenCrypto 模块。
总线驱动
Annapurna Alpine PCIe。
PCIe 原生热插拔。
以太网卡
IEEE 802.3 管理数据输入/输出接口
全志 EMAC 千兆以太网
AMD Opteron A1100 集成网卡
Marvell Armada 370/38x/XP/3700 网卡
SMSC LAN91C111
Cavium ThunderX 网卡
Annapurna Alpine 以太网网卡
Synopsys Designware GMAC 以太网
Rockchip Designware
Altera SOCFPGA 以太网 MAC
Intel 800 系列物理功能
Intel 800 系列 DDP 套件
Etherswitch 设备
基于 Marvell mv88e6085 的交换机
存储
Broadcom MPT Fusion,第 4 版,仅支持 64 位。
MMC/SD/SDIO 卡槽支持
Marvell Xenon SD/MMC 控制器
Allwinner(全志)SD/MMC 控制器
SD 总线。
Altera SOCFPGA SoC DWMAC 控制器
rkemmcphy 驱动控制着 Rockchip SoC 上集成的 eMMC PHY。
串行(COM)端口
Qualcomm(高通)MSM UART 驱动。
RPI3 辅助端口。
Armada 3700 UART 驱动。
ns8250 型 UART 驱动。
DesignWare Synopsis UART 驱动。
PL011 通用 ARM UART。
Arm FVP
在 Arm FVP 下使用 PL011 UART 进行早期打印(early printf)
USB
Allwinner USB PHY。
DWC OTG 控制器。
Marvell EHCI USB 接口。
USB 以太网
Microchip LAN78xx USB 千兆以太网驱动。
USB Microchip LAN9xxx 快速以太网驱动。
音频
Allwinner A10 编解码器。
DMA 控制器
Allwinner A31 (sun6i) SoC DMA 控制器。
GPIO / 引脚控制(PINCTRL)
Marvell Armada 37x0 GPIO 控制器。
Allwinner GPIO 控制器。
FDT I/O 引脚复用支持。
Marvell GPIO 控制器。
Marvell Pinmux 控制器。
RockChip GPIO 控制器。
RockChip Pinmux 控制器。
I²C
Allwinner 精简串行总线。
Broadcom BCM283x I²C 总线。
Allwinner I²C 控制器。
RockChip I²C 控制器。
时钟与复位控制器
Allwinner 时钟控制器。
中断控制器
Allwinner NMI。
Marvell CP110 ICU。
Marvell AP806 GICP。
RTC 时钟
Allwinner RTC 时钟。
Marvell RTC 时钟。
看门狗控制器
Allwinner 看门狗。
电源管理控制器
X-Powers AXP81x 电源管理。
RockChip RK8XX 基础支持。
RockChip RK805 电源管理。
RockChip RK808 电源管理。
RockChip RK817 电源管理。
电子熔丝(EFUSE)
Allwinner 安全 ID 电子熔丝(Secure ID EFUSE)。
热传感器
Allwinner 热传感器控制器。
Marvell 热传感器控制器。
SPI
Broadcom BCM283x SPI 总线。
PWM
配置 PWM(脉宽调制)硬件
Allwinner PWM 支持。
EFI 帧缓冲终端驱动。
简单帧缓冲(simple-framebuffer)虚拟终端驱动
EVDEV。传统驱动中的 evdev 支持。
Allwinner 消费类红外(IR)控制器。
伪设备
背光子系统
其他设备
ARM PL330 DMA 控制器。
SoC 片上 DMA 控制器的 xDMA 框架。
芯片特定的修正(Errata)
FDT。
ACPI 支持。
DTB 支持。
添加 camdebug 功能
同时引入 camified MMC。
arm64 不支持 inb/outb,因此禁用需要它的芯片组探测。
这些会导致奇怪的问题,原因不明。
对总线标记的假设在 arm64 上不成立。
在这些版本中 arm64 并不存在,因此缺乏所需的兼容支持。直接禁用它们,因为它们没有意义。
arm64 支持 32 位 FreeBSD/arm 二进制文件(armv[6|7] ABI)。
ARM64 SMMU/IOMMU。
ZFS
ZFS 文件系统。
HID-over-I2C
HID-over-I2C 支持。
启用 HID-over-I2C 调试信息。
针对缺失的 GPIO 中断支持的解决方法。
armv7/32 位 arm 机器相关配置
原文:sys/arm/conf/NOTES:armv7 机器相关的内核配置说明文件。版本:arm: tweak imx module build logic。
此架构将被淘汰,没有整理内核选项的必要。
64 位 RISC-V 机器相关配置
原文:sys/riscv/conf/NOTES:riscv64(64 位 RISC-V)机器相关的内核配置说明文件。100 行。版本:riscv: support PV_STATS pmap option。
将处理器体系结构指定为 RISC-V。
构建带 gdb(1) 调试符号的内核。
运行 ctfconvert(1) 以支持 DTrace。
防止 printf 输出交错。
确保帧被编译进去。
内核 DTrace 钩子。
内核 ELF 链接器加载 CTF 数据。
将 kern.racct.enable 默认值设为 0。
启用 PV 入口分配器的详细统计功能。
RISC-V SBI 控制台。
伪设备。
背光子系统。
MMC/SD/SDIO 卡槽支持。
DTrace 核心。
注意
选项
dtrace会把 CDDL 许可协议授权的组件引入内核。
内置所有 DTrace 模块。
串行(COM)端口
lowRISC UART 驱动程序。
ns8250 型 UART 驱动程序。
RTC 实时时钟
Dialog Semiconductor DA9063 实时时钟。
QEMU 实时时钟。
以太网驱动
Synopsys DesignWare GMAC 以太网。
Xilinx AXI 以太网 MAC。
DMA 支持
DMA 接口。
Xilinx AXI DMA 控制器
SPI
Xilinx AXI 四路 SPI 控制器。
电源管理控制
Dialog Semiconductor DA9063 电源管理集成电路(PMIC)。
SiFive 设备驱动
扁平化设备树(Flattened Device Tree,FDT)
FreeBSD/riscv 在这些版本中尚未存在
由于 RISC-V 架构不支持 inb/outb 指令,因此禁用需要这些指令的芯片组探测功能
在 RISC-V 架构上,关于总线标签的某些假设并不成立
hwpmc(4) 功能目前尚未实现
RISC-V 架构目前尚未实现原子操作指令 atomic_testandset_int 与 atomic_testandclear_int
atomic_testandset_int 与 atomic_testandclear_intpowerpc(32/64 位)机器相关配置
原文:sys/powerpc/conf/NOTES:powerpc/powerpc64/powerpc64le 机器相关的内核配置说明文件。不到 100 行。版本:LINT: Don't build bnxt on 32-bit platforms。
DTrace
启用加载 DTrace 内核模块所需的内核 DTrace 钩子。
DTrace 核心。
注意
此操作会把 CDDL 许可协议授权的组件引入内核。
DTrace 模块。
包含所有 DTrace 模块(可选)。
CPU 选项
必须指定 machine 指令才能选择 powerpc 或 powerpc64 架构
CPU 类型
必须至少指定一种 CPU(即计划运行的处理器型号)。
AIM 联盟:指苹果、IBM 和摩托罗拉。
飞思卡尔 32 位处理器。
浮点运算单元仿真器。
飞思卡尔处理器。
NewWorld 系列 Apple PowerMac。
Sony PlayStation 3。
GDB PSIM PowerPC 模拟器。
IBM Mambo 全系统模拟器。
QEMU 处理器模拟器。
cpufreq(4)
cpufreq 驱动为 CPU 频率调控提供了支持。
标准总线
AGP(Accelerated Graphics Port,加速图形端口)总线。
Sony Playstation 3 以太网。
Apple Keywest I2C 控制器。
Open Firmware 磁盘。
Apple 桌面总线。
VIA-CUDA ADB 接口。
PowerMac7,2 温度传感器。
PowerMac11,2 温度传感器。
PowerMac7,2 温度传感器。
Apple 风扇控制单元。
PowerMac7,2 温度传感器。
Apple 电源管理单元。
Apple 系统管理单元。
Apple I²S 音频。
Apple Davbus 音频。
Apple G4 MDD 风扇控制器。
背光子系统
无需处理的设备
音频。
依赖 gdb_cur。
无需处理的选项
最后更新于
这有帮助吗?