Home | History | Annotate | Line # | Download | only in conf
      1 #
      2 #	$NetBSD: GENERIC.common,v 1.22 2025/04/01 20:16:57 nia Exp $
      3 #
      4 #	GENERIC common RISC-V kernel config items shared between 32 and 64
      5 #	kernels
      6 #
      7 
      8 maxusers 	64		# estimated number of users
      9 
     10 options 	FDT
     11 options 	MULTIPROCESSOR
     12 
     13 # Standard system options
     14 options 	FPE		# Floating-point extension support
     15 options 	NTP		# NTP phase/frequency locked loop
     16 
     17 options 	KTRACE		# system call tracing via ktrace(1)
     18 
     19 # Heartbeat checks
     20 options 	HEARTBEAT
     21 options 	HEARTBEAT_MAX_PERIOD_DEFAULT=15
     22 
     23 # Note: SysV IPC parameters could be changed dynamically, see sysctl(8).
     24 options 	SYSVMSG		# System V-like message queues
     25 options 	SYSVSEM		# System V-like semaphores
     26 options 	SYSVSHM		# System V-like memory sharing
     27 
     28 options 	MODULAR		# new style module(7) framework
     29 options 	MODULAR_DEFAULT_AUTOLOAD
     30 options 	USERCONF	# userconf(4) support
     31 #options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
     32 options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
     33 
     34 # Alternate buffer queue strategies for better responsiveness under high
     35 # disk I/O load.
     36 #options 	BUFQ_READPRIO
     37 options 	BUFQ_PRIOCSCAN
     38 
     39 # These options enable verbose messages for several subsystems.
     40 # Warning, these may compile large string tables into the kernel!
     41 #options 	USBVERBOSE	# verbose USB device autoconfig messages
     42 
     43 #
     44 # Because gcc omits the frame pointer for any -O level, the line below
     45 # is needed to make backtraces in DDB work.
     46 #
     47 makeoptions 	COPTS="-O2 -fno-omit-frame-pointer"
     48 makeoptions 	COPY_SYMTAB=1
     49 options 	DDB		# in-kernel debugger
     50 #options 	DDB_COMMANDONENTER="bt"	# execute command when ddb is entered
     51 options 	DDB_ONPANIC=1	# see also sysctl(7): `ddb.onpanic'
     52 options 	DDB_HISTORY_SIZE=512	# enable history editing in DDB
     53 #options 	KGDB		# remote debugger
     54 #options 	KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600
     55 #options 	SYSCALL_STATS	# per syscall counts
     56 #options 	SYSCALL_TIMES	# per syscall times
     57 #options 	SYSCALL_TIMES_HASCOUNTER	# use 'broken' rdtsc (soekris)
     58 
     59 # Compatibility options
     60 include 	"conf/compat_netbsd100.config"
     61 
     62 # Wedge support
     63 options 	DKWEDGE_AUTODISCOVER	# Automatically add dk(4) instances
     64 options 	DKWEDGE_METHOD_GPT	# Supports GPT partitions as wedges
     65 options 	DKWEDGE_METHOD_BSDLABEL	# Support disklabel entries as wedges
     66 options 	DKWEDGE_METHOD_MBR	# Support MBR partitions as wedges
     67 options 	DKWEDGE_METHOD_APPLE    # Support Apple partitions as wedges
     68 #options 	DKWEDGE_METHOD_RDB	# Support RDB partitions as wedges
     69 #options 	DKWEDGE_METHOD_TOS	# Support Atari "TOS" partitions as wedges
     70 
     71 include 	"conf/filesystems.config"
     72 
     73 # File system options
     74 options 	FFS_EI		# FFS Endian Independent support
     75 #options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
     76 options 	QUOTA		# legacy UFS quotas
     77 options 	QUOTA2		# new, in-filesystem UFS quotas
     78 #options 	UFS_DIRHASH	# UFS Large Directory Hashing
     79 options 	WAPBL		# File system journaling support
     80 #options 	DISKLABEL_EI	# disklabel Endian Independent support
     81 options 	NFSSERVER	# Network File System server
     82 options 	NFS_BOOT_DHCP	# Support DHCP NFS root
     83 
     84 # Networking options
     85 #options 	GATEWAY		# packet forwarding
     86 options 	INET		# IP + ICMP + TCP + UDP
     87 options 	INET6		# IPV6
     88 options 	IPSEC		# IP security
     89 #options 	IPSEC_DEBUG	# debug for IP security
     90 #options 	MPLS		# MultiProtocol Label Switching (needs mpls)
     91 #options 	MROUTING	# IP multicast routing
     92 #options 	PIM		# Protocol Independent Multicast
     93 #options 	NETATALK	# AppleTalk networking protocols
     94 #options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
     95 #options 	PPP_DEFLATE	# Deflate compression support for PPP
     96 #options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
     97 #options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
     98 
     99 #options 	ALTQ		# Manipulate network interfaces' output queues
    100 #options 	ALTQ_BLUE	# Stochastic Fair Blue
    101 #options 	ALTQ_CBQ	# Class-Based Queueing
    102 #options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
    103 #options 	ALTQ_FIFOQ	# First-In First-Out Queue
    104 #options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
    105 #options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
    106 #options 	ALTQ_LOCALQ	# Local queueing discipline
    107 #options 	ALTQ_PRIQ	# Priority Queueing
    108 #options 	ALTQ_RED	# Random Early Detection
    109 #options 	ALTQ_RIO	# RED with IN/OUT
    110 #options 	ALTQ_WFQ	# Weighted Fair Queueing
    111 
    112 # These options enable verbose messages for several subsystems.
    113 # Warning, these may compile large string tables into the kernel!
    114 
    115 # Kernel root file system and dump configuration.
    116 config 		netbsd	root on ? type ?
    117 
    118 #
    119 # Device configuration
    120 #
    121 
    122 mainbus0 	at root
    123 simplebus* 	at fdt? pass 0
    124 
    125 # CPUs
    126 cpus* 		at fdt? pass 0
    127 cpu* 		at fdt? pass 0
    128 
    129 intc* 		at cpu? pass 1
    130 
    131 # Fixed Clocks
    132 fclock* 	at fdt? pass 1
    133 
    134 # System Controller
    135 syscon* 	at fdt? pass 1		# Generic System Controller
    136 
    137 # Core-level Interrupt Control block
    138 #clint0		at fdt? pass 2
    139 
    140 # Platform-Level Interrupt Controller
    141 plic* 		at fdt? pass 2
    142 
    143 # UART
    144 com* 		at fdt?			# UART
    145 
    146 # Firmware devices
    147 qemufwcfg* 	at fdt?			# QEMU Firmware Configuration device
    148 
    149 # RTC devices
    150 gfrtc* 		at fdt?			# Google Goldfish RTC
    151 
    152 # PCIE
    153 pcihost* 	at fdt?			# Generic PCI host controller
    154 pci* 		at pcibus?
    155 ppb* 		at pci? dev ? function ?
    156 pci* 		at ppb?
    157 
    158 # USB
    159 xhci* 		at fdt?			# XHCI
    160 xhci*		at pci?			# XHCI
    161 usb* 		at usbus?
    162 include "dev/usb/usbdevices.config"
    163 midi*		at midibus?
    164 pseudo-device 	sequencer		# MIDI sequencer
    165 
    166 # NVMe
    167 nvme* 		at pci? dev ? function ?
    168 ld* 		at nvme? nsid ?
    169 
    170 # Audio
    171 audio*		at audiobus?
    172 auich*		at pci? dev ? function ?	# Intel AC'97 Audio (QEMU)
    173 eap*		at pci? dev ? function ?	# Ensoniq AudioPCI (QEMU)
    174 
    175 # I2C controllers
    176 dwiic* 		at fdt?			# Designware I2C
    177 iic* 		at i2cbus?
    178 
    179 # I2C devices
    180 #axppmic* 	at iic?			# X-Powers AXP Power Management IC
    181 #axpreg* 	at axppmic?
    182 
    183 # Virtio devices
    184 virtio* 	at fdt?			# Virtio MMIO device
    185 
    186 include "dev/virtio/virtio.config"
    187 no vio9p* 	at virtio?		# XXX ?
    188 no viomb* 	at virtio?		# XXX ?
    189 no vioscsi* 	at virtio?		# XXX ?
    190 
    191 # Pseudo-Devices
    192 # network pseudo-devices
    193 pseudo-device 	bpfilter		# Berkeley packet filter
    194 pseudo-device 	bridge			# simple inter-network bridging
    195 pseudo-device 	carp			# Common Address Redundancy Protocol
    196 pseudo-device 	gif			# IPv[46] over IPv[46] tunnel (RFC 1933)
    197 pseudo-device 	gre			# generic L3 over IP tunnel
    198 pseudo-device 	ipsecif			# interface for routing-based ipsec
    199 pseudo-device 	loop			# network loopback
    200 pseudo-device 	npf			# NPF packet filter
    201 pseudo-device 	ppp			# Point-to-Point Protocol
    202 pseudo-device 	pppoe			# PPP over Ethernet (RFC 2516)
    203 pseudo-device 	swcrypto		# software crypto implementation
    204 pseudo-device 	tun			# network tunneling over tty
    205 pseudo-device 	tap			# virtual Ethernet
    206 pseudo-device 	vether			# Virtual Ethernet for bridge
    207 pseudo-device 	vlan			# IEEE 802.1q encapsulation
    208 
    209 # miscellaneous pseudo-devices
    210 pseudo-device 	clockctl		# user control of clock subsystem
    211 pseudo-device 	crypto			# /dev/crypto device
    212 pseudo-device 	lockstat		# lock profiling
    213 pseudo-device 	ksyms			# /dev/ksyms
    214 pseudo-device 	openfirm		# /dev/openfirm
    215 pseudo-device 	pad			# pseudo audio device
    216 pseudo-device 	pty			# pseudo-terminals
    217 #options 	RND_COM
    218 pseudo-device 	swwdog			# software watchdog timer -- swwdog(4)
    219 
    220 
    221 # disk/mass storage pseudo-devices
    222 #pseudo-device 	md			# memory disk device (ramdisk)
    223 #options 	MEMORY_DISK_HOOKS	# enable root ramdisk
    224 #options 	MEMORY_DISK_DYNAMIC	# loaded via kernel module(7)
    225 
    226 pseudo-device	vnd			# disk-like interface to files
    227 options 	VND_COMPRESSION		# compressed vnd(4)
    228 
    229 # userland interface to drivers, including autoconf and properties retrieval
    230 pseudo-device 	drvctl
    231 
    232 options 	PAX_MPROTECT=0		# PaX mprotect(2) restrictions
    233 options 	PAX_ASLR=0		# PaX Address Space Layout Randomization
    234 
    235 # Pull in optional local configuration - always at end
    236 cinclude 	"arch/riscv/conf/GENERIC.local"
    237