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 FIB_ALGO # Modular fib lookups
36 options TCP_OFFLOAD # TCP offload
37 options TCP_HHOOK # hhook(9) framework for TCP
38 options TCP_RFC7413 # TCP Fast Open
39 options SCTP_SUPPORT # Allow kldload of SCTP
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
85 options PERTHREAD_SSP # Per-thread SSP canary
87 # Debugging support. Always need this:
88 options KDB # Enable kernel debugger support.
89 options KDB_TRACE # Print a stack trace for a panic.
92 #options COVERAGE # Generic kernel coverage. Used by KCOV
93 #options KCOV # Kernel Coverage Sanitizer
94 # Warning: KUBSAN can result in a kernel too large for loader to load
95 #options KUBSAN # Kernel Undefined Behavior Sanitizer
96 #options KCSAN # Kernel Concurrency Sanitizer
98 # Kernel dump features.
99 options EKCD # Support for encrypted kernel dumps
100 options GZIO # gzip-compressed kernel and user dumps
101 options ZSTDIO # zstd-compressed kernel and user dumps
102 options DEBUGNET # debugnet networking
103 options NETDUMP # netdump(4) client support
105 # Make an SMP-capable kernel by default
106 options SMP # Symmetric MultiProcessor Kernel
109 options SOC_ALLWINNER_A64
110 options SOC_ALLWINNER_H5
111 options SOC_ALLWINNER_H6
112 options SOC_CAVM_THUNDERX
113 options SOC_FREESCALE_IMX8
114 options SOC_HISI_HI6220
115 options SOC_INTEL_STRATIX10
116 options SOC_BRCM_BCM2837
117 options SOC_BRCM_BCM2838
119 options SOC_MARVELL_8K
120 options SOC_NVIDIA_TEGRA210
122 options SOC_ROCKCHIP_RK3328
123 options SOC_ROCKCHIP_RK3399
124 options SOC_XILINX_ZYNQ
131 # Annapurna Alpine drivers
132 device al_ccu # Alpine Cache Coherency Unit
133 device al_nb_service # Alpine North Bridge Service
134 device al_iofic # I/O Fabric Interrupt Controller
135 device al_serdes # Serializer/Deserializer
136 device al_udma # Universal DMA
138 # Qualcomm Snapdragon drivers
139 device qcom_gcc # Global Clock Controller
141 # CPU frequency control
146 device pci_n1sdp # ARM Neoverse N1 SDP PCI
147 device al_pci # Annapurna Alpine PCI-E
148 options PCI_HP # PCI-Express native HotPlug
149 options PCI_IOV # PCI SR-IOV support
155 device pvscsi # VMware PVSCSI
157 # ATA/SCSI peripherals
159 device pass # Passthrough device (direct ATA/SCSI access)
161 # NVM Express (NVMe) support
162 device nvme # base NVMe driver
163 options NVME_USE_NVD=0 # prefer the cam(4) based nda(4) driver
164 device nvd # expose NVMe namespaces as disks, depends on nvme
170 device a37x0_gpio # Marvell Armada 37x0 GPIO controller
171 device aw_gpio # Allwinner GPIO controller
172 device dwgpio # Synopsys DesignWare APB GPIO Controller
177 device ls1046_gpio # LS1046A GPIO controller
178 device mv_gpio # Marvell GPIO controller
179 device mvebu_pinctrl # Marvell Pinmux Controller
180 device pl061 # Arm PL061 GPIO controller
181 device rk_gpio # RockChip GPIO Controller
182 device rk_pinctrl # RockChip Pinmux Controller
185 device a37x0_iic # Armada 37x0 I2C controller
186 device aw_rsb # Allwinner Reduced Serial Bus
187 device bcm2835_bsc # Broadcom BCM283x I2C bus
191 device icee # Generic IIC eeprom
192 device twsi # Allwinner I2C controller
193 device pca954x # NPX I2C bus multiplexer
194 device pcf8563 # NXP Real-time clock/calendar
195 device rk_i2c # RockChip I2C controller
196 device syr827 # Silergy SYR827 PMIC
197 device sy8106a # SY8106A Buck Regulator
198 device vf_i2c # Freescale Vybrid I2C controller
199 device fsliic # Freescale iMX I2C controller
201 # Clock and reset controllers
202 device aw_ccu # Allwinner clock controller
204 # Interrupt controllers
205 device aw_nmi # Allwinner NMI support
206 device aw_r_intc # Allwinner RINTC support
207 device mv_cp110_icu # Marvell CP110 ICU
208 device mv_ap806_gicp # Marvell AP806 GICP
209 device mv_ap806_sei # Marvell AP806 SEI
211 # Real-time clock support
212 device aw_rtc # Allwinner Real-time Clock
213 device mv_rtc # Marvell Real-time Clock
215 # Crypto accelerators
216 device armv8crypto # ARMv8 OpenCrypto module
217 device safexcel # Inside Secure EIP-97
219 # Watchdog controllers
220 device aw_wdog # Allwinner Watchdog
222 # Power management controllers
223 device axp81x # X-Powers AXP81x PMIC
224 device rk805 # RockChip RK805 PMIC
227 device aw_sid # Allwinner Secure ID EFUSE
230 device aw_thermal # Allwinner Thermal Sensor Controller
231 device mv_thermal # Marvell Thermal Sensor Controller
235 device a37x0_spi # Marvell Armada 37x0 SPI Controller
236 device bcm2835_spi # Broadcom BCM283x SPI bus
237 device rk_spi # RockChip SPI controller
251 device evdev # input event device support
252 options EVDEV_SUPPORT # evdev support in legacy drivers
253 device uinput # install /dev/uinput cdev
257 device uart # Generic UART driver
258 device uart_imx # iMX8 UART
259 device uart_msm # Qualcomm MSM UART driver
260 device uart_mu # RPI3 aux port
261 device uart_mvebu # Armada 3700 UART driver
262 device uart_ns8250 # ns8250-type UART driver
266 # PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure
268 device em # Intel PRO/1000 Gigabit Ethernet Family
269 device ix # Intel 10Gb Ethernet Family
270 device vmx # VMware VMXNET3 Ethernet
275 device miibus # MII bus support
276 device al_eth # Annapurna Alpine Ethernet NIC
277 device awg # Allwinner EMAC Gigabit Ethernet
278 device axa # AMD Opteron A1100 integrated NIC
279 device cgem # Cadence GEM Gigabit Ethernet device
280 device dwc_rk # Rockchip Designware
281 device dwc_socfpga # Altera SOCFPGA Ethernet MAC
282 device ffec # iMX FFEC
283 device genet # Broadcom on RPi4
284 device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet
285 device neta # Marvell Armada 370/38x/XP/3700 NIC
286 device re # RealTek 8139C+/8169/8169S/8110S
287 device smc # SMSC LAN91C111
288 device vnic # Cavium ThunderX NIC
290 # Etherswitch devices
291 device etherswitch # Enable etherswitch support
292 device miiproxy # Required for etherswitch
293 device e6000sw # Marvell mv88e6085 based switches
297 device crypto # core crypto support
298 device loop # Network loopback
299 device ether # Ethernet support
300 device vlan # 802.1Q VLAN support
301 device tuntap # Packet tunnel.
302 device md # Memory "disks"
303 device gif # IPv6 and IPv4 tunneling
304 device firmware # firmware assist module
306 # EXT_RESOURCES pseudo devices
307 options EXT_RESOURCES
319 # The `bpf' device enables the Berkeley Packet Filter.
320 # Be aware of the administrative consequences of enabling this!
321 # Note that 'bpf' is required for DHCP.
322 device bpf # Berkeley packet filter
325 options USB_DEBUG # enable debug msgs
326 options USB_HOST_ALIGN=64 # Align usb buffers to cache line size.
327 device aw_usbphy # Allwinner USB PHY
328 device rk_usb2phy # Rockchip USB2PHY
329 device rk_typec_phy # Rockchip TypeC PHY
330 device dwcotg # DWC OTG controller
331 device musb # Mentor Graphics USB OTG controller
332 device ohci # OHCI USB interface
333 device uhci # UHCI USB interface
334 device ehci # EHCI USB interface (USB 2.0)
335 device ehci_mv # Marvell EHCI USB interface
336 device xhci # XHCI USB interface (USB 3.0)
337 device dwc3 # Synopsys DWC controller
338 device aw_dwc3 # Allwinner DWC3 controller
339 device rk_dwc3 # Rockchip DWC3 controller
340 device usb # USB Bus (required)
341 device ukbd # Keyboard
342 device umass # Disks/Mass storage - Requires scbus and da
343 device tegra210_xusb_fw # Tegra XUSB firmware
345 # USB ethernet support
355 # MMC/SD/SDIO Card slot support
357 device sdhci_xenon # Marvell Xenon SD/MMC controller
358 device aw_mmc # Allwinner SD/MMC controller
359 device mmc # mmc/sd bus
360 device mmcsd # mmc/sd flash cards
368 device virtio # Generic VirtIO bus (required)
369 device virtio_pci # VirtIO PCI device
370 device virtio_mmio # VirtIO Memory Mapped IO device
371 device virtio_blk # VirtIO Block device
372 device virtio_scsi # VirtIO SCSI device
373 device vtnet # VirtIO Ethernet device
375 # Chip-specific errata
376 options THUNDERX_PASS_1_1_ERRATA
382 makeoptions MODULES_EXTRA="dtb/allwinner dtb/freescale dtb/imx8 dtb/nvidia dtb/mv dtb/rockchip dtb/rpi"
385 options HID_DEBUG # enable debug msgs
386 device hid # Generic HID support