aboutsummaryrefslogtreecommitdiff
path: root/sys/riscv/conf/GENERIC
blob: 9c97e40f1db2c8f89831110596d4085fac34bf50 (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
#
# 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://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		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		NETLINK			# netlink(4) support
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 	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 	FPE			# Floating-point extension support
options 	RACCT			# Resource accounting framework
options 	RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
options 	RCTL			# Resource limits
options 	SMP
options 	INTRNG

# RISC-V SBI console
device		rcons

# EXT_RESOURCES pseudo devices
options 	EXT_RESOURCES
device		clk
device		hwreset
device		syscon
device		syscon_power
device		riscv_syscon

# Bus drivers
device		pci

# Block devices
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

# 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		ukbd			# Keyboard
device		umass			# Disks/Mass storage - Requires scbus and da

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

# DTrace support
# device	dtrace
# device	dtrace_profile
# device	dtrace_sdt
# device	dtrace_fbt
# device	dtrace_systrace
# device	dtrace_prototype
# device	dtraceall

# 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		kbdmux

# RTC
device		goldfish_rtc	# QEMU RTC

# Ethernet drivers
device		cgem		# Cadence GEM Gigabit Ethernet device
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

# SPI
device		spibus
device		spigen

# Uncomment for memory disk
# options 	MD_ROOT
# options 	MD_ROOT_SIZE=32768	# 32MB ram disk
# makeoptions	MFS_IMAGE=/path/to/img
# options 	ROOTDEVNAME=\"ufs:/dev/md0\"

# Uncomment for virtio block device
# options 	ROOTDEVNAME=\"ufs:/dev/vtbd0\"

# Debugging support.  Always need this:
options 	KDB			# Enable kernel debugger support.
options 	KDB_TRACE		# Print a stack trace for a panic.

# Kernel dump features.
options		ZSTDIO			# zstd-compressed kernel and user dumps

# 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

# 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
makeoptions	MODULES_EXTRA+="dtb/sifive"

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

# Allwinner device drivers
device		aw_wdog		# Allwinner Watchdog
files		"../allwinner/files.allwinner"

# SiFive device drivers
device		fu740_pci_dw
device		sifive_gpio
device		sifive_spi
include		"../sifive/std.sifive"