xref: /freebsd/sys/riscv/conf/NOTES (revision b4a58fbf640409a1e507d9f7b411c83a3f83a2f3)
1#
2# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
3#
4# This file contains machine dependent kernel configuration notes.  For
5# machine independent notes, look in /sys/conf/NOTES.
6#
7# $FreeBSD$
8#
9
10cpu		RISCV
11
12makeoptions	DEBUG=-g		# Build kernel with gdb(1) debug symbols
13makeoptions	WITH_CTF=1		# Run ctfconvert(1) for DTrace support
14
15options 	PRINTF_BUFR_SIZE=128	# Prevent printf output being interspersed.
16options 	KDTRACE_FRAME		# Ensure frames are compiled in
17options 	KDTRACE_HOOKS		# Kernel DTrace hooks
18options 	DDB_CTF			# Kernel ELF linker loads CTF data
19options 	FPE			# Floating-point extension support
20options 	RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
21options 	INTRNG			# Include INTRNG framework
22
23options 	PPS_SYNC
24
25# RISC-V SBI console
26device		rcons
27
28# EXT_RESOURCES pseudo devices
29options 	EXT_RESOURCES
30device		clk
31device		hwreset
32device		phy
33device		regulator
34device		syscon
35device		syscon_power
36device		riscv_syscon
37
38# Backlight subsystem
39device		backlight
40
41# VirtIO support
42device		virtio			# Generic VirtIO bus (required)
43device		virtio_pci		# VirtIO PCI device
44device		vtnet			# VirtIO Ethernet device
45device		virtio_blk		# VirtIO Block device
46device		virtio_mmio		# VirtIO MMIO bus
47device		virtio_random		# VirtIO Entropy device
48
49# NVM Express (NVMe) support
50device		nvme		# base NVMe driver
51options 	NVME_USE_NVD=0	# prefer the cam(4) based nda(4) driver
52device		nvd		# expose NVMe namespaces as disks, depends on nvme
53
54# NOTE: dtrace introduces CDDL-licensed components into the kernel
55device		dtrace			# dtrace core
56device		dtraceall		# include all dtrace modules
57
58# Serial (COM) ports
59device		uart_lowrisc	# lowRISC UART driver
60device		uart_ns8250	# ns8250-type UART driver
61
62# RTC
63device		goldfish_rtc	# QEMU RTC
64
65# Ethernet drivers
66device		xae		# Xilinx AXI Ethernet MAC
67
68# DMA support
69device		xdma		# DMA interface
70device		axidma		# Xilinx AXI DMA Controller
71
72# SPI
73device		xilinx_spi	# Xilinx AXI Quad-SPI Controller
74
75# SiFive device drivers
76device		fe310aon
77device		fu740_pci_dw
78device		sifive_gpio
79device		sifive_spi
80files		"../sifive/files.sifive"
81
82# Flattened Device Tree
83options 	FDT
84makeoptions	MODULES_EXTRA+="dtb/sifive"
85
86# FreeBSD/riscv didn't exist for these releases
87nooptions 	COMPAT_FREEBSD4
88nooptions 	COMPAT_FREEBSD5
89nooptions 	COMPAT_FREEBSD6
90nooptions 	COMPAT_FREEBSD7
91nooptions 	COMPAT_FREEBSD9
92nooptions 	COMPAT_FREEBSD10
93nooptions 	COMPAT_FREEBSD11
94
95# No support for remote GDB
96nooptions 	GDB
97
98# riscv doesn't support inb/outb, so disable chipset probing which needs it
99nooptions 	PPC_PROBE_CHIPSET
100
101# Makes assumptions about bus tags that aren't true on riscv
102nodevice	snd_cmi
103
104# Don't yet have hwpmc(4)
105nodevice	hwpmc
106nooptions 	HWPMC_HOOKS
107