aboutsummaryrefslogtreecommitdiff
path: root/sys/arm64/conf/GENERIC
blob: 59f89555dd88b2894b7003b790bddfeae9c39687 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
#
# GENERIC -- Generic kernel configuration file for FreeBSD/arm64
#
# For more information on this file, please read the config(5) manual page,
# and/or the handbook section on Kernel Configuration Files:
#
#    https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ../../conf/NOTES and NOTES files.
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
# $FreeBSD$

cpu		ARM64
ident		GENERIC

makeoptions	DEBUG=-g		# Build kernel with gdb(1) debug symbols
makeoptions	WITH_CTF=1		# Run ctfconvert(1) for DTrace support

options 	SCHED_ULE		# ULE scheduler
options 	NUMA			# Non-Uniform Memory Architecture support
options 	PREEMPTION		# Enable kernel thread preemption
options 	VIMAGE			# Subsystem virtualization, e.g. VNET
options 	INET			# InterNETworking
options 	INET6			# IPv6 communications protocols
options 	IPSEC_SUPPORT		# Allow kldload of ipsec and tcpmd5
options		ROUTE_MPATH		# Multipath routing support
options 	TCP_OFFLOAD		# TCP offload
options 	TCP_HHOOK		# hhook(9) framework for TCP
options		TCP_RFC7413		# TCP Fast Open
options 	SCTP_SUPPORT		# Allow kldload of SCTP
options		KERN_TLS		# TLS transmit & receive offload
options 	FFS			# Berkeley Fast Filesystem
options 	SOFTUPDATES		# Enable FFS soft updates support
options 	UFS_ACL			# Support for access control lists
options 	UFS_DIRHASH		# Improve performance on big directories
options 	UFS_GJOURNAL		# Enable gjournal-based UFS journaling
options 	QUOTA			# Enable disk quotas for UFS
options 	MD_ROOT			# MD is a potential root device
options 	NFSCL			# Network Filesystem Client
options 	NFSD			# Network Filesystem Server
options 	NFSLOCKD		# Network Lock Manager
options 	NFS_ROOT		# NFS usable as /, requires NFSCL
options 	MSDOSFS			# MSDOS Filesystem
options 	CD9660			# ISO 9660 Filesystem
options 	PROCFS			# Process filesystem (requires PSEUDOFS)
options 	PSEUDOFS		# Pseudo-filesystem framework
options 	TMPFS			# Efficient memory filesystem
options 	GEOM_RAID		# Soft RAID functionality.
options 	GEOM_LABEL		# Provides labelization
options 	EFIRT			# EFI Runtime Services support
options 	COMPAT_FREEBSD32	# Compatible with FreeBSD/arm
options 	COMPAT_FREEBSD11	# Compatible with FreeBSD11
options 	COMPAT_FREEBSD12	# Compatible with FreeBSD12
options 	SCSI_DELAY=5000		# Delay (in ms) before probing SCSI
options 	KTRACE			# ktrace(1) support
options 	STACK			# stack(9) support
options 	SYSVSHM			# SYSV-style shared memory
options 	SYSVMSG			# SYSV-style message queues
options 	SYSVSEM			# SYSV-style semaphores
options 	_KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options 	PRINTF_BUFR_SIZE=128	# Prevent printf output being interspersed.
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
options 	HWPMC_HOOKS		# Necessary kernel hooks for hwpmc(4)
options 	AUDIT			# Security event auditing
options 	CAPABILITY_MODE		# Capsicum capability mode
options 	CAPABILITIES		# Capsicum capabilities
options 	MAC			# TrustedBSD MAC Framework
options 	KDTRACE_FRAME		# Ensure frames are compiled in
options 	KDTRACE_HOOKS		# Kernel DTrace hooks
options 	DDB_CTF			# Kernel ELF linker loads CTF data
options 	VFP			# Floating-point support
options 	RACCT			# Resource accounting framework
options 	RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
options 	RCTL			# Resource limits
options 	INTRNG
options 	LINUX_BOOT_ABI		# Boot using booti command from U-Boot

# Debugging support.  Always need this:
options 	KDB			# Enable kernel debugger support.
options 	KDB_TRACE		# Print a stack trace for a panic.
# For full debugger support use (turn off in stable branch):
options 	DDB			# Support DDB.
options 	GDB			# Support remote GDB.
options 	DEADLKRES		# Enable the deadlock resolver
options 	INVARIANTS		# Enable calls of extra sanity checking
options 	INVARIANT_SUPPORT	# Extra sanity checks of internal structures, required by INVARIANTS
options 	WITNESS			# Enable checks to detect deadlocks and cycles
options 	WITNESS_SKIPSPIN	# Don't run witness on spinlocks for speed
options 	MALLOC_DEBUG_MAXZONES=8	# Separate malloc(9) zones
options 	ALT_BREAK_TO_DEBUGGER	# Enter debugger on keyboard escape sequence
options 	VERBOSE_SYSINIT=0	# Support debug.verbose_sysinit, off by default

# Kernel Sanitizers
#options 	COVERAGE		# Generic kernel coverage. Used by KCOV
#options 	KCOV			# Kernel Coverage Sanitizer
# Warning: KUBSAN can result in a kernel too large for loader to load
#options 	KUBSAN			# Kernel Undefined Behavior Sanitizer
#options 	KCSAN			# Kernel Concurrency Sanitizer

# Kernel dump features.
options 	EKCD			# Support for encrypted kernel dumps
options 	GZIO			# gzip-compressed kernel and user dumps
options 	ZSTDIO			# zstd-compressed kernel and user dumps
options 	DEBUGNET		# debugnet networking
options 	NETDUMP			# netdump(4) client support

# Make an SMP-capable kernel by default
options 	SMP			# Symmetric MultiProcessor Kernel

# SoC support
options 	SOC_ALLWINNER_A64
options 	SOC_ALLWINNER_H5
options 	SOC_ALLWINNER_H6
options 	SOC_CAVM_THUNDERX
options 	SOC_FREESCALE_IMX8
options 	SOC_HISI_HI6220
options 	SOC_INTEL_STRATIX10
options 	SOC_BRCM_BCM2837
options 	SOC_BRCM_BCM2838
options 	SOC_MARVELL_8K
options 	SOC_NVIDIA_TEGRA210
options		SOC_NXP_LS
options 	SOC_ROCKCHIP_RK3328
options 	SOC_ROCKCHIP_RK3399
options 	SOC_XILINX_ZYNQ

# Timer drivers
device		a10_timer

# Annapurna Alpine drivers
device		al_ccu			# Alpine Cache Coherency Unit
device		al_nb_service		# Alpine North Bridge Service
device		al_iofic		# I/O Fabric Interrupt Controller
device		al_serdes		# Serializer/Deserializer
device		al_udma			# Universal DMA

# Qualcomm Snapdragon drivers
device		qcom_gcc		# Global Clock Controller

# CPU frequency control
device		cpufreq

# Bus drivers
device		pci
device		pci_n1sdp	# ARM Neoverse N1 SDP PCI
device		al_pci		# Annapurna Alpine PCI-E
options 	PCI_HP			# PCI-Express native HotPlug
options 	PCI_IOV		# PCI SR-IOV support

# Block devices
device		ahci
device		scbus
device		da

# ATA/SCSI peripherals
device		cd		# CD
device		pass		# Passthrough device (direct ATA/SCSI access)

# NVM Express (NVMe) support
device		nvme		# base NVMe driver
options 	NVME_USE_NVD=0	# prefer the cam(4) based nda(4) driver
device		nvd		# expose NVMe namespaces as disks, depends on nvme

# DMA controller
device		a31_dmac

# GPIO / PINCTRL
device		a37x0_gpio	# Marvell Armada 37x0 GPIO controller
device		aw_gpio		# Allwinner GPIO controller
device		dwgpio		# Synopsys DesignWare APB GPIO Controller
device		gpio
device		gpioled
device		fdt_pinctrl
device		gpioregulator
device		ls1046_gpio	# LS1046A GPIO controller
device		mv_gpio		# Marvell GPIO controller
device		mvebu_pinctrl	# Marvell Pinmux Controller
device		pl061		# Arm PL061 GPIO controller
device		rk_gpio		# RockChip GPIO Controller
device		rk_pinctrl	# RockChip Pinmux Controller

# I2C
device		a37x0_iic	# Armada 37x0 I2C controller
device		aw_rsb		# Allwinner Reduced Serial Bus
device		bcm2835_bsc	# Broadcom BCM283x I2C bus
device		iicbus
device		iicmux
device		iic
device		icee		# Generic IIC eeprom
device		twsi		# Allwinner I2C controller
device		pca9547		# NPX I2C bus multiplexer
device		pcf8563		# NXP Real-time clock/calendar
device		rk_i2c		# RockChip I2C controller
device		syr827		# Silergy SYR827 PMIC
device		sy8106a		# SY8106A Buck Regulator
device		vf_i2c		# Freescale Vybrid I2C controller
device		fsliic		# Freescale iMX I2C controller

# Clock and reset controllers
device		aw_ccu		# Allwinner clock controller

# Interrupt controllers
device		aw_nmi		# Allwinner NMI support
device		mv_cp110_icu	# Marvell CP110 ICU
device		mv_ap806_gicp	# Marvell AP806 GICP
device		mv_ap806_sei	# Marvell AP806 SEI

# Real-time clock support
device		aw_rtc		# Allwinner Real-time Clock
device		mv_rtc		# Marvell Real-time Clock

# Crypto accelerators
device		armv8crypto	# ARMv8 OpenCrypto module
device		safexcel	# Inside Secure EIP-97

# Watchdog controllers
device		aw_wdog		# Allwinner Watchdog

# Power management controllers
device		axp81x		# X-Powers AXP81x PMIC
device		rk805		# RockChip RK805 PMIC

# EFUSE
device		aw_sid		# Allwinner Secure ID EFUSE

# Thermal sensors
device		aw_thermal	# Allwinner Thermal Sensor Controller
device		mv_thermal	# Marvell Thermal Sensor Controller

# SPI
device		spibus
device		a37x0_spi	# Marvell Armada 37x0 SPI Controller
device		bcm2835_spi	# Broadcom BCM283x SPI bus
device		rk_spi		# RockChip SPI controller

# PWM
device		pwm
device		aw_pwm
device		rk_pwm

# Console
device		vt
device		kbdmux

device		vt_efifb

# EVDEV support
device		evdev			# input event device support
options		EVDEV_SUPPORT		# evdev support in legacy drivers
device		uinput			# install /dev/uinput cdev
device		aw_cir

# Serial (COM) ports
device		uart			# Generic UART driver
device		uart_imx		# iMX8 UART
device		uart_msm		# Qualcomm MSM UART driver
device		uart_mu			# RPI3 aux port
device		uart_mvebu		# Armada 3700 UART driver
device		uart_ns8250		# ns8250-type UART driver
device		uart_snps
device		pl011

# PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure
device		iflib
device		em			# Intel PRO/1000 Gigabit Ethernet Family
device		ix			# Intel 10Gb Ethernet Family

# Ethernet NICs
device		mdio
device		mii
device		miibus			# MII bus support
device		al_eth			# Annapurna Alpine Ethernet NIC
device		awg			# Allwinner EMAC Gigabit Ethernet
device		axa			# AMD Opteron A1100 integrated NIC
device		cgem			# Cadence GEM Gigabit Ethernet device
device		dwc_rk			# Rockchip Designware
device		dwc_socfpga		# Altera SOCFPGA Ethernet MAC
device		ffec			# iMX FFEC
device		genet			# Broadcom on RPi4
device		msk			# Marvell/SysKonnect Yukon II Gigabit Ethernet
device		neta			# Marvell Armada 370/38x/XP/3700 NIC
device		re			# RealTek 8139C+/8169/8169S/8110S
device		smc			# SMSC LAN91C111
device		vnic			# Cavium ThunderX NIC

# Etherswitch devices
device		etherswitch		# Enable etherswitch support
device		miiproxy		# Required for etherswitch
device		e6000sw			# Marvell mv88e6085 based switches


# Pseudo devices.
device		crypto			# core crypto support
device		loop			# Network loopback
device		ether			# Ethernet support
device		vlan			# 802.1Q VLAN support
device		tuntap			# Packet tunnel.
device		md			# Memory "disks"
device		gif			# IPv6 and IPv4 tunneling
device		firmware		# firmware assist module

# EXT_RESOURCES pseudo devices
options 	EXT_RESOURCES
device		clk
device		phy
device		hwreset
device		nvmem
device		regulator
device		syscon
device		aw_syscon

# IO Domains
device		rk_iodomain

# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device		bpf		# Berkeley packet filter

# USB support
options 	USB_DEBUG		# enable debug msgs
options 	USB_HOST_ALIGN=64	# Align usb buffers to cache line size.
device		aw_usbphy		# Allwinner USB PHY
device		rk_usb2phy		# Rockchip USB2PHY
device		rk_typec_phy		# Rockchip TypeC PHY
device		dwcotg			# DWC OTG controller
device		musb			# Mentor Graphics USB OTG controller
device		ohci			# OHCI USB interface
device		uhci			# UHCI USB interface
device		ehci			# EHCI USB interface (USB 2.0)
device		ehci_mv			# Marvell EHCI USB interface
device		xhci			# XHCI USB interface (USB 3.0)
device		dwc3			# Synopsys DWC controller
device		aw_dwc3			# Allwinner DWC3 controller
device		rk_dwc3			# Rockchip DWC3 controller
device		usb			# USB Bus (required)
device		ukbd			# Keyboard
device		umass			# Disks/Mass storage - Requires scbus and da
device		tegra210_xusb_fw	# Tegra XUSB firmware

# USB ethernet support
device		muge
device		smcphy
device		smsc
device		ure

# Sound support
device sound
device a10_codec

# MMC/SD/SDIO Card slot support
device		sdhci
device		sdhci_xenon		# Marvell Xenon SD/MMC controller
device		aw_mmc			# Allwinner SD/MMC controller
device		mmc			# mmc/sd bus
device		mmcsd			# mmc/sd flash cards
device		dwmmc
device		dwmmc_altera
device		dwmmc_hisi
device		rk_dwmmc
device		rk_emmcphy

# VirtIO support
device		virtio
device		virtio_pci
device		virtio_mmio
device		virtio_blk
device		vtnet

# Chip-specific errata
options 	THUNDERX_PASS_1_1_ERRATA

options 	FDT
device		acpi

# DTBs
makeoptions	MODULES_EXTRA="dtb/allwinner dtb/freescale dtb/imx8 dtb/nvidia dtb/mv dtb/rockchip dtb/rpi"

# HID support
options 	HID_DEBUG	# enable debug msgs
device		hid		# Generic HID support