xref: /freebsd/sys/riscv/conf/NOTES (revision 2f9cd13d6c1824633251fb4267c9752d3b044a45)
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#
8
9cpu		RISCV
10
11makeoptions	DEBUG=-g		# Build kernel with gdb(1) debug symbols
12makeoptions	WITH_CTF=1		# Run ctfconvert(1) for DTrace support
13
14options 	PRINTF_BUFR_SIZE=128	# Prevent printf output being interspersed.
15options 	KDTRACE_FRAME		# Ensure frames are compiled in
16options 	KDTRACE_HOOKS		# Kernel DTrace hooks
17options 	DDB_CTF			# Kernel ELF linker loads CTF data
18options 	RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
19
20# RISC-V SBI console
21device		rcons
22
23# pseudo devices
24device		clk
25device		hwreset
26device		phy
27device		regulator
28device		syscon
29device		syscon_power
30device		riscv_syscon
31
32# Backlight subsystem
33device		backlight
34
35# VirtIO support
36device		virtio			# Generic VirtIO bus (required)
37device		virtio_pci		# VirtIO PCI device
38device		vtnet			# VirtIO Ethernet device
39device		virtio_blk		# VirtIO Block device
40device		virtio_mmio		# VirtIO MMIO bus
41device		virtio_random		# VirtIO Entropy device
42
43# NVM Express (NVMe) support
44device		nvme		# base NVMe driver
45options 	NVME_USE_NVD=0	# prefer the cam(4) based nda(4) driver
46device		nvd		# expose NVMe namespaces as disks, depends on nvme
47
48# MMC/SD/SDIO Card slot support
49device		dwmmc
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  	dwc		# Synopsys Designware GMAC Ethernet
65device		xae		# Xilinx AXI Ethernet MAC
66
67# DMA support
68device		xdma		# DMA interface
69device		axidma		# Xilinx AXI DMA Controller
70
71# SPI
72device		xilinx_spi	# Xilinx AXI Quad-SPI Controller
73
74# Power management controllers
75device		da9063_pmic	# Dialog Semiconductor DA9063 PMIC
76
77# SiFive device drivers
78device		fe310aon
79device		fu740_pci_dw
80device		sifive_gpio
81device		sifive_spi
82files		"../sifive/files.sifive"
83
84# Flattened Device Tree
85options 	FDT
86makeoptions	MODULES_EXTRA+="dtb/sifive"
87
88# FreeBSD/riscv didn't exist for these releases
89nooptions 	COMPAT_FREEBSD4
90nooptions 	COMPAT_FREEBSD5
91nooptions 	COMPAT_FREEBSD6
92nooptions 	COMPAT_FREEBSD7
93nooptions 	COMPAT_FREEBSD9
94nooptions 	COMPAT_FREEBSD10
95nooptions 	COMPAT_FREEBSD11
96
97# riscv doesn't support inb/outb, so disable chipset probing which needs it
98nooptions 	PPC_PROBE_CHIPSET
99
100# Makes assumptions about bus tags that aren't true on riscv
101nodevice	snd_cmi
102
103# Don't yet have hwpmc(4)
104nodevice	hwpmc
105nooptions 	HWPMC_HOOKS
106
107# riscv doesn't yet have atomic_testandset_int and atomic_testandclear_int.
108nodevice	ccr
109nodevice	cxgbe
110nodevice	cxgbev
111