aboutsummaryrefslogtreecommitdiff
path: root/sys/riscv/conf/GENERIC
blob: 7d7d0ca6e79c7151080dac0909cb082389167fec (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
#
# GENERIC -- Generic kernel configuration file for FreeBSD/RISC-V
#
# For more information on this file, please read the config(5) manual page,
# and/or the handbook section on Kernel Configuration Files:
#
#    https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config
#
# 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.
#

cpu		RISCV
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 	PREEMPTION		# Enable kernel thread preemption
options 	VIMAGE			# Subsystem virtualization, e.g. VNET
options 	INET			# InterNETworking
options 	INET6			# IPv6 communications protocols
options 	TCP_HHOOK		# hhook(9) framework for TCP
options 	IPSEC_SUPPORT		# Allow kldload of ipsec and tcpmd5
options 	ROUTE_MPATH		# Multipath routing support
options 	TCP_OFFLOAD		# TCP offload
options 	TCP_BLACKBOX		# Enhanced TCP event logging
options 	TCP_RFC7413		# TCP Fast Open
options 	SCTP_SUPPORT		# Allow kldload of SCTP
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 	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 	COMPAT_FREEBSD12	# Compatible with FreeBSD12
options 	COMPAT_FREEBSD13	# Compatible with FreeBSD13
options 	COMPAT_FREEBSD14	# Compatible with FreeBSD14
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 	RACCT			# Resource accounting framework
options 	RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
options 	RCTL			# Resource limits
options 	SMP

# RISC-V SBI console
device		rcons

# pseudo devices
device		clk
device		hwreset
device		nvmem
device		phy
device		regulator
device		syscon
device		syscon_power
device		riscv_syscon

# CPU frequency control
device		cpufreq

# Bus drivers
device		pci

# Block devices
device		ahci
device		scbus
device		da

# VirtIO support
device		virtio			# Generic VirtIO bus (required)
device		virtio_pci		# VirtIO PCI device
device		vtnet			# VirtIO Ethernet device
device		virtio_blk		# VirtIO Block device
device		virtio_mmio		# VirtIO MMIO bus

# ATA/SCSI peripherals
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

# USB support
options 	USB_DEBUG		# enable debug msgs
device		ohci			# OHCI USB interface
device		uhci			# UHCI USB interface
device		ehci			# EHCI USB interface (USB 2.0)
device		xhci			# XHCI USB interface (USB 3.0)
device		usb			# USB Bus (required)
device		usbhid			# USB HID Transport
device		hkbd			# Keyboard
device		ukbd			# Keyboard
device		umass			# Disks/Mass storage - Requires scbus and da

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

# Serial (COM) ports
device		uart		# Generic UART driver
device		uart_lowrisc	# lowRISC UART driver
device		uart_ns8250	# ns8250-type UART driver

# Console
device		vt
device		vt_efifb
device		kbdmux

# RTC
device		goldfish_rtc	# QEMU RTC

# Ethernet drivers
device		miibus		# MII bus support
device		xae		# Xilinx AXI Ethernet MAC

# DMA support
device		xdma		# DMA interface
device		axidma		# Xilinx AXI DMA Controller

# GPIO
device		gpio
device		fdt_pinctrl

# SPI
device		spibus
device		spigen
device		xilinx_spi	# Xilinx AXI SPI Controller

# 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):
include "std.debug"
# options 	EARLY_PRINTF=sbi

# 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

# 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

# MMC/SD/SDIO Card slot support
device		sdhci
device		mmc			# MMC/SD bus
device		mmcsd			# MMC/SD flash cards

# 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

# Flattened Device Tree
options 	FDT

# I2C support
device		iicbus		# Bus support, required for iicoc below.
device		iicoc		# OpenCores I2C controller support

# Include SoC specific configuration
include		"std.allwinner"
include		"std.eswin"
include		"std.sifive"
include		"std.starfive"