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