xref: /freebsd/sys/riscv/conf/NOTES (revision c7046f76c2c027b00c0e6ba57cfd28f1a78f5e23)
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
23# RISC-V SBI console
24device		rcons
25
26# pseudo devices
27device		clk
28device		hwreset
29device		phy
30device		regulator
31device		syscon
32device		syscon_power
33device		riscv_syscon
34
35# Backlight subsystem
36device		backlight
37
38# VirtIO support
39device		virtio			# Generic VirtIO bus (required)
40device		virtio_pci		# VirtIO PCI device
41device		vtnet			# VirtIO Ethernet device
42device		virtio_blk		# VirtIO Block device
43device		virtio_mmio		# VirtIO MMIO bus
44device		virtio_random		# VirtIO Entropy device
45
46# NVM Express (NVMe) support
47device		nvme		# base NVMe driver
48options 	NVME_USE_NVD=0	# prefer the cam(4) based nda(4) driver
49device		nvd		# expose NVMe namespaces as disks, depends on nvme
50
51# NOTE: dtrace introduces CDDL-licensed components into the kernel
52device		dtrace			# dtrace core
53device		dtraceall		# include all dtrace modules
54
55# Serial (COM) ports
56device		uart_lowrisc	# lowRISC UART driver
57device		uart_ns8250	# ns8250-type UART driver
58
59# RTC
60device		da9063_rtc	# Dialog Semiconductor DA9063 RTC
61device		goldfish_rtc	# QEMU RTC
62
63# Ethernet drivers
64device		xae		# Xilinx AXI Ethernet MAC
65
66# DMA support
67device		xdma		# DMA interface
68device		axidma		# Xilinx AXI DMA Controller
69
70# SPI
71device		xilinx_spi	# Xilinx AXI Quad-SPI Controller
72
73# Power management controllers
74device		da9063_pmic	# Dialog Semiconductor DA9063 PMIC
75
76# SiFive device drivers
77device		fe310aon
78device		fu740_pci_dw
79device		sifive_gpio
80device		sifive_spi
81files		"../sifive/files.sifive"
82
83# Flattened Device Tree
84options 	FDT
85makeoptions	MODULES_EXTRA+="dtb/sifive"
86
87# FreeBSD/riscv didn't exist for these releases
88nooptions 	COMPAT_FREEBSD4
89nooptions 	COMPAT_FREEBSD5
90nooptions 	COMPAT_FREEBSD6
91nooptions 	COMPAT_FREEBSD7
92nooptions 	COMPAT_FREEBSD9
93nooptions 	COMPAT_FREEBSD10
94nooptions 	COMPAT_FREEBSD11
95
96# riscv doesn't support inb/outb, so disable chipset probing which needs it
97nooptions 	PPC_PROBE_CHIPSET
98
99# Makes assumptions about bus tags that aren't true on riscv
100nodevice	snd_cmi
101
102# Don't yet have hwpmc(4)
103nodevice	hwpmc
104nooptions 	HWPMC_HOOKS
105
106# riscv doesn't yet have atomic_testandset_int and atomic_testandclear_int.
107nodevice	ccr
108nodevice	cxgbe
109nodevice	cxgbev
110