2 # GENERIC -- Generic kernel configuration file for FreeBSD/arm64
4 # For more information on this file, please read the config(5) manual page,
5 # and/or the handbook section on Kernel Configuration Files:
7 # https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
9 # The handbook is also available locally in /usr/share/doc/handbook
10 # if you've installed the doc distribution, otherwise always see the
11 # FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the
14 # An exhaustive list of options and more detailed explanations of the
15 # device lines is also present in the ../../conf/NOTES and NOTES files.
16 # If you are in doubt as to the purpose or necessity of a line, check first
24 makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
25 makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support
27 options SCHED_ULE # ULE scheduler
28 options NUMA # Non-Uniform Memory Architecture support
29 options PREEMPTION # Enable kernel thread preemption
30 options VIMAGE # Subsystem virtualization, e.g. VNET
31 options INET # InterNETworking
32 options INET6 # IPv6 communications protocols
33 options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5
34 options ROUTE_MPATH # Multipath routing support
35 options TCP_OFFLOAD # TCP offload
36 options TCP_HHOOK # hhook(9) framework for TCP
37 options TCP_RFC7413 # TCP Fast Open
38 options SCTP_SUPPORT # Allow kldload of SCTP
39 options KERN_TLS # TLS transmit & receive offload
40 options FFS # Berkeley Fast Filesystem
41 options SOFTUPDATES # Enable FFS soft updates support
42 options UFS_ACL # Support for access control lists
43 options UFS_DIRHASH # Improve performance on big directories
44 options UFS_GJOURNAL # Enable gjournal-based UFS journaling
45 options QUOTA # Enable disk quotas for UFS
46 options MD_ROOT # MD is a potential root device
47 options NFSCL # Network Filesystem Client
48 options NFSD # Network Filesystem Server
49 options NFSLOCKD # Network Lock Manager
50 options NFS_ROOT # NFS usable as /, requires NFSCL
51 options MSDOSFS # MSDOS Filesystem
52 options CD9660 # ISO 9660 Filesystem
53 options PROCFS # Process filesystem (requires PSEUDOFS)
54 options PSEUDOFS # Pseudo-filesystem framework
55 options TMPFS # Efficient memory filesystem
56 options GEOM_RAID # Soft RAID functionality.
57 options GEOM_LABEL # Provides labelization
58 options EFIRT # EFI Runtime Services support
59 options COMPAT_FREEBSD32 # Compatible with FreeBSD/arm
60 options COMPAT_FREEBSD11 # Compatible with FreeBSD11
61 options COMPAT_FREEBSD12 # Compatible with FreeBSD12
62 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
63 options KTRACE # ktrace(1) support
64 options STACK # stack(9) support
65 options SYSVSHM # SYSV-style shared memory
66 options SYSVMSG # SYSV-style message queues
67 options SYSVSEM # SYSV-style semaphores
68 options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
69 options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed.
70 options KBD_INSTALL_CDEV # install a CDEV entry in /dev
71 options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4)
72 options AUDIT # Security event auditing
73 options CAPABILITY_MODE # Capsicum capability mode
74 options CAPABILITIES # Capsicum capabilities
75 options MAC # TrustedBSD MAC Framework
76 options KDTRACE_FRAME # Ensure frames are compiled in
77 options KDTRACE_HOOKS # Kernel DTrace hooks
78 options DDB_CTF # Kernel ELF linker loads CTF data
79 options VFP # Floating-point support
80 options RACCT # Resource accounting framework
81 options RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
82 options RCTL # Resource limits
84 options LINUX_BOOT_ABI # Boot using booti command from U-Boot
86 # Debugging support. Always need this:
87 options KDB # Enable kernel debugger support.
88 options KDB_TRACE # Print a stack trace for a panic.
89 # For full debugger support use (turn off in stable branch):
90 options DDB # Support DDB.
91 options GDB # Support remote GDB.
92 options DEADLKRES # Enable the deadlock resolver
93 options INVARIANTS # Enable calls of extra sanity checking
94 options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
95 options WITNESS # Enable checks to detect deadlocks and cycles
96 options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
97 options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
98 options ALT_BREAK_TO_DEBUGGER # Enter debugger on keyboard escape sequence
99 options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default
102 #options COVERAGE # Generic kernel coverage. Used by KCOV
103 #options KCOV # Kernel Coverage Sanitizer
104 # Warning: KUBSAN can result in a kernel too large for loader to load
105 #options KUBSAN # Kernel Undefined Behavior Sanitizer
106 #options KCSAN # Kernel Concurrency Sanitizer
108 # Kernel dump features.
109 options EKCD # Support for encrypted kernel dumps
110 options GZIO # gzip-compressed kernel and user dumps
111 options ZSTDIO # zstd-compressed kernel and user dumps
112 options DEBUGNET # debugnet networking
113 options NETDUMP # netdump(4) client support
115 # Make an SMP-capable kernel by default
116 options SMP # Symmetric MultiProcessor Kernel
119 options SOC_ALLWINNER_A64
120 options SOC_ALLWINNER_H5
121 options SOC_ALLWINNER_H6
122 options SOC_CAVM_THUNDERX
123 options SOC_FREESCALE_IMX8
124 options SOC_HISI_HI6220
125 options SOC_INTEL_STRATIX10
126 options SOC_BRCM_BCM2837
127 options SOC_BRCM_BCM2838
128 options SOC_MARVELL_8K
129 options SOC_NVIDIA_TEGRA210
131 options SOC_ROCKCHIP_RK3328
132 options SOC_ROCKCHIP_RK3399
133 options SOC_XILINX_ZYNQ
138 # Annapurna Alpine drivers
139 device al_ccu # Alpine Cache Coherency Unit
140 device al_nb_service # Alpine North Bridge Service
141 device al_iofic # I/O Fabric Interrupt Controller
142 device al_serdes # Serializer/Deserializer
143 device al_udma # Universal DMA
145 # Qualcomm Snapdragon drivers
146 device qcom_gcc # Global Clock Controller
148 # CPU frequency control
153 device pci_n1sdp # ARM Neoverse N1 SDP PCI
154 device al_pci # Annapurna Alpine PCI-E
155 options PCI_HP # PCI-Express native HotPlug
156 options PCI_IOV # PCI SR-IOV support
162 device pvscsi # VMware PVSCSI
164 # ATA/SCSI peripherals
166 device pass # Passthrough device (direct ATA/SCSI access)
168 # NVM Express (NVMe) support
169 device nvme # base NVMe driver
170 options NVME_USE_NVD=0 # prefer the cam(4) based nda(4) driver
171 device nvd # expose NVMe namespaces as disks, depends on nvme
177 device a37x0_gpio # Marvell Armada 37x0 GPIO controller
178 device aw_gpio # Allwinner GPIO controller
179 device dwgpio # Synopsys DesignWare APB GPIO Controller
184 device ls1046_gpio # LS1046A GPIO controller
185 device mv_gpio # Marvell GPIO controller
186 device mvebu_pinctrl # Marvell Pinmux Controller
187 device pl061 # Arm PL061 GPIO controller
188 device rk_gpio # RockChip GPIO Controller
189 device rk_pinctrl # RockChip Pinmux Controller
192 device a37x0_iic # Armada 37x0 I2C controller
193 device aw_rsb # Allwinner Reduced Serial Bus
194 device bcm2835_bsc # Broadcom BCM283x I2C bus
198 device icee # Generic IIC eeprom
199 device twsi # Allwinner I2C controller
200 device pca9547 # NPX I2C bus multiplexer
201 device pcf8563 # NXP Real-time clock/calendar
202 device rk_i2c # RockChip I2C controller
203 device syr827 # Silergy SYR827 PMIC
204 device sy8106a # SY8106A Buck Regulator
205 device vf_i2c # Freescale Vybrid I2C controller
206 device fsliic # Freescale iMX I2C controller
208 # Clock and reset controllers
209 device aw_ccu # Allwinner clock controller
211 # Interrupt controllers
212 device aw_nmi # Allwinner NMI support
213 device mv_cp110_icu # Marvell CP110 ICU
214 device mv_ap806_gicp # Marvell AP806 GICP
215 device mv_ap806_sei # Marvell AP806 SEI
217 # Real-time clock support
218 device aw_rtc # Allwinner Real-time Clock
219 device mv_rtc # Marvell Real-time Clock
221 # Crypto accelerators
222 device armv8crypto # ARMv8 OpenCrypto module
223 device safexcel # Inside Secure EIP-97
225 # Watchdog controllers
226 device aw_wdog # Allwinner Watchdog
228 # Power management controllers
229 device axp81x # X-Powers AXP81x PMIC
230 device rk805 # RockChip RK805 PMIC
233 device aw_sid # Allwinner Secure ID EFUSE
236 device aw_thermal # Allwinner Thermal Sensor Controller
237 device mv_thermal # Marvell Thermal Sensor Controller
241 device a37x0_spi # Marvell Armada 37x0 SPI Controller
242 device bcm2835_spi # Broadcom BCM283x SPI bus
243 device rk_spi # RockChip SPI controller
257 device evdev # input event device support
258 options EVDEV_SUPPORT # evdev support in legacy drivers
259 device uinput # install /dev/uinput cdev
263 device uart # Generic UART driver
264 device uart_imx # iMX8 UART
265 device uart_msm # Qualcomm MSM UART driver
266 device uart_mu # RPI3 aux port
267 device uart_mvebu # Armada 3700 UART driver
268 device uart_ns8250 # ns8250-type UART driver
272 # PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure
274 device em # Intel PRO/1000 Gigabit Ethernet Family
275 device ix # Intel 10Gb Ethernet Family
276 device vmx # VMware VMXNET3 Ethernet
281 device miibus # MII bus support
282 device al_eth # Annapurna Alpine Ethernet NIC
283 device awg # Allwinner EMAC Gigabit Ethernet
284 device axa # AMD Opteron A1100 integrated NIC
285 device cgem # Cadence GEM Gigabit Ethernet device
286 device dwc_rk # Rockchip Designware
287 device dwc_socfpga # Altera SOCFPGA Ethernet MAC
288 device ffec # iMX FFEC
289 device genet # Broadcom on RPi4
290 device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet
291 device neta # Marvell Armada 370/38x/XP/3700 NIC
292 device re # RealTek 8139C+/8169/8169S/8110S
293 device smc # SMSC LAN91C111
294 device vnic # Cavium ThunderX NIC
296 # Etherswitch devices
297 device etherswitch # Enable etherswitch support
298 device miiproxy # Required for etherswitch
299 device e6000sw # Marvell mv88e6085 based switches
303 device crypto # core crypto support
304 device loop # Network loopback
305 device ether # Ethernet support
306 device vlan # 802.1Q VLAN support
307 device tuntap # Packet tunnel.
308 device md # Memory "disks"
309 device gif # IPv6 and IPv4 tunneling
310 device firmware # firmware assist module
312 # EXT_RESOURCES pseudo devices
313 options EXT_RESOURCES
325 # The `bpf' device enables the Berkeley Packet Filter.
326 # Be aware of the administrative consequences of enabling this!
327 # Note that 'bpf' is required for DHCP.
328 device bpf # Berkeley packet filter
331 options USB_DEBUG # enable debug msgs
332 options USB_HOST_ALIGN=64 # Align usb buffers to cache line size.
333 device aw_usbphy # Allwinner USB PHY
334 device rk_usb2phy # Rockchip USB2PHY
335 device rk_typec_phy # Rockchip TypeC PHY
336 device dwcotg # DWC OTG controller
337 device musb # Mentor Graphics USB OTG controller
338 device ohci # OHCI USB interface
339 device uhci # UHCI USB interface
340 device ehci # EHCI USB interface (USB 2.0)
341 device ehci_mv # Marvell EHCI USB interface
342 device xhci # XHCI USB interface (USB 3.0)
343 device dwc3 # Synopsys DWC controller
344 device aw_dwc3 # Allwinner DWC3 controller
345 device rk_dwc3 # Rockchip DWC3 controller
346 device usb # USB Bus (required)
347 device ukbd # Keyboard
348 device umass # Disks/Mass storage - Requires scbus and da
349 device tegra210_xusb_fw # Tegra XUSB firmware
351 # USB ethernet support
361 # MMC/SD/SDIO Card slot support
363 device sdhci_xenon # Marvell Xenon SD/MMC controller
364 device aw_mmc # Allwinner SD/MMC controller
365 device mmc # mmc/sd bus
366 device mmcsd # mmc/sd flash cards
380 # Chip-specific errata
381 options THUNDERX_PASS_1_1_ERRATA
387 makeoptions MODULES_EXTRA="dtb/allwinner dtb/freescale dtb/imx8 dtb/nvidia dtb/mv dtb/rockchip dtb/rpi"
390 options HID_DEBUG # enable debug msgs
391 device hid # Generic HID support