Home | History | Annotate | Line # | Download | only in conf
GENERIC revision 1.21
      1  1.21  jmcneill # $NetBSD: GENERIC,v 1.21 2022/11/25 12:35:44 jmcneill Exp $
      2   1.1      matt #
      3   1.1      matt # GENERIC machine description file
      4   1.1      matt #
      5   1.1      matt # This machine description file is used to generate the default NetBSD
      6   1.1      matt # kernel.  The generic kernel does not include all options, subsystems
      7   1.1      matt # and device drivers, but should be useful for most applications.
      8   1.1      matt #
      9   1.1      matt # The machine description file can be customised for your specific
     10   1.1      matt # machine to reduce the kernel size and improve its performance.
     11   1.1      matt #
     12   1.1      matt # For further information on compiling NetBSD kernels, see the config(8)
     13   1.1      matt # man page.
     14   1.1      matt #
     15   1.1      matt # For further information on hardware support for this architecture, see
     16   1.1      matt # the intro(4) man page.  For further information about kernel options
     17   1.1      matt # for this architecture, see the options(4) man page.  For an explanation
     18   1.1      matt # of each device driver in this file see the section 4 man page for the
     19   1.1      matt # device.
     20   1.1      matt 
     21   1.1      matt include	"arch/riscv/conf/std.riscv64"
     22  1.21  jmcneill include "arch/riscv/sifive/files.sifive"
     23   1.1      matt 
     24   1.1      matt options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
     25   1.1      matt 
     26  1.21  jmcneill #ident 		"GENERIC-$Revision: 1.21 $"
     27   1.1      matt 
     28   1.1      matt maxusers	64		# estimated number of users
     29   1.1      matt 
     30  1.14     skrll options 	FDT
     31  1.14     skrll 
     32  1.20     skrll #options 	EARLYCONS=com, CONSADDR=0x10000000	# qemu virt
     33  1.20     skrll #options 	EARLYCONS=com, CONSADDR=0x12440000	# sifive
     34  1.14     skrll options 	VERBOSE_INIT_RISCV
     35  1.14     skrll 
     36   1.1      matt # Standard system options
     37  1.11     skrll #options 	FPE		# Floating-point extension support
     38   1.1      matt options 	NTP		# NTP phase/frequency locked loop
     39   1.1      matt 
     40   1.1      matt options 	KTRACE		# system call tracing via ktrace(1)
     41   1.1      matt 
     42   1.1      matt # Note: SysV IPC parameters could be changed dynamically, see sysctl(8).
     43   1.1      matt options 	SYSVMSG		# System V-like message queues
     44   1.1      matt options 	SYSVSEM		# System V-like semaphores
     45   1.1      matt options 	SYSVSHM		# System V-like memory sharing
     46   1.1      matt 
     47   1.1      matt options 	MODULAR		# new style module(7) framework
     48   1.1      matt options 	MODULAR_DEFAULT_AUTOLOAD
     49   1.1      matt options 	USERCONF	# userconf(4) support
     50   1.1      matt #options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
     51   1.1      matt options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
     52   1.1      matt 
     53   1.1      matt # Alternate buffer queue strategies for better responsiveness under high
     54   1.1      matt # disk I/O load.
     55   1.1      matt #options 	BUFQ_READPRIO
     56   1.1      matt options 	BUFQ_PRIOCSCAN
     57   1.1      matt 
     58   1.1      matt # Diagnostic/debugging support options
     59   1.1      matt options 	DIAGNOSTIC	# inexpensive kernel consistency checks
     60   1.1      matt 				# XXX to be commented out on release branch
     61  1.14     skrll #options  	DEBUG		# expensive debugging checks/support
     62  1.14     skrll #options  	LOCKDEBUG	# expensive locking checks/support
     63  1.14     skrll #options  	KERNHIST
     64  1.14     skrll #options  	KERNHIST_PRINT
     65  1.14     skrll #options  	UVMHIST
     66  1.14     skrll #options  	UVMHIST_PRINT
     67  1.14     skrll #options  	PMAPHIST
     68  1.14     skrll #options  	PMAPHIST_PRINT
     69  1.14     skrll #options  	SYSCTL_DEBUG
     70  1.14     skrll #options  	SYSCTL_DEBUG_SETUP
     71  1.14     skrll #options  	SYSCTL_DEBUG_CREATE
     72  1.14     skrll 
     73   1.1      matt 
     74   1.1      matt #
     75   1.1      matt # Because gcc omits the frame pointer for any -O level, the line below
     76   1.1      matt # is needed to make backtraces in DDB work.
     77   1.1      matt #
     78  1.15     skrll makeoptions	COPTS="-O2 -fno-omit-frame-pointer"
     79   1.1      matt makeoptions	COPY_SYMTAB=1
     80   1.1      matt options 	DDB		# in-kernel debugger
     81  1.17    simonb #options 	DDB_COMMANDONENTER="bt"	# execute command when ddb is entered
     82  1.14     skrll options 	DDB_ONPANIC=1	# see also sysctl(7): `ddb.onpanic'
     83   1.1      matt options 	DDB_HISTORY_SIZE=512	# enable history editing in DDB
     84   1.1      matt #options 	KGDB		# remote debugger
     85   1.1      matt #options 	KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600
     86   1.1      matt #options 	SYSCALL_STATS	# per syscall counts
     87   1.1      matt #options 	SYSCALL_TIMES	# per syscall times
     88   1.1      matt #options 	SYSCALL_TIMES_HASCOUNTER	# use 'broken' rdtsc (soekris)
     89   1.1      matt 
     90   1.1      matt # Compatibility options
     91   1.7       mrg include 	"conf/compat_netbsd70.config"
     92   1.1      matt 
     93  1.10      maxv #options 	COMPAT_NETBSD32
     94   1.1      matt #options 	EXEC_ELF32
     95   1.1      matt 
     96   1.1      matt # Wedge support
     97   1.1      matt options 	DKWEDGE_AUTODISCOVER	# Automatically add dk(4) instances
     98   1.1      matt options 	DKWEDGE_METHOD_GPT	# Supports GPT partitions as wedges
     99   1.1      matt options 	DKWEDGE_METHOD_BSDLABEL	# Support disklabel entries as wedges
    100   1.1      matt options 	DKWEDGE_METHOD_MBR	# Support MBR partitions as wedges
    101  1.17    simonb options 	DKWEDGE_METHOD_APPLE    # Support Apple partitions as wedges
    102  1.17    simonb #options 	DKWEDGE_METHOD_RDB	# Support RDB partitions as wedges
    103   1.1      matt 
    104   1.7       mrg include 	"conf/filesystems.config"
    105   1.1      matt 
    106   1.1      matt # File system options
    107  1.13    simonb options 	FFS_EI		# FFS Endian Independent support
    108  1.13    simonb #options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
    109   1.1      matt options 	QUOTA		# legacy UFS quotas
    110   1.1      matt options 	QUOTA2		# new, in-filesystem UFS quotas
    111  1.13    simonb #options 	UFS_DIRHASH	# UFS Large Directory Hashing
    112   1.1      matt options 	WAPBL		# File system journaling support
    113   1.1      matt #options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
    114   1.1      matt 				# immutable) behave as system flags.
    115  1.13    simonb #options 	DISKLABEL_EI	# disklabel Endian Independent support
    116  1.13    simonb options 	NFSSERVER	# Network File System server
    117  1.18    simonb options 	NFS_BOOT_DHCP	# Support DHCP NFS root
    118   1.1      matt 
    119   1.1      matt # Networking options
    120   1.1      matt #options 	GATEWAY		# packet forwarding
    121   1.1      matt options 	INET		# IP + ICMP + TCP + UDP
    122   1.1      matt options 	INET6		# IPV6
    123   1.1      matt options 	IPSEC		# IP security
    124   1.1      matt #options 	IPSEC_DEBUG	# debug for IP security
    125   1.3  christos #options 	MPLS		# MultiProtocol Label Switching (needs mpls)
    126   1.1      matt #options 	MROUTING	# IP multicast routing
    127   1.1      matt #options 	PIM		# Protocol Independent Multicast
    128   1.1      matt #options 	NETATALK	# AppleTalk networking protocols
    129   1.1      matt #options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
    130   1.1      matt #options 	PPP_DEFLATE	# Deflate compression support for PPP
    131   1.1      matt #options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
    132   1.1      matt #options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
    133   1.1      matt 
    134   1.1      matt #options 	ALTQ		# Manipulate network interfaces' output queues
    135   1.1      matt #options 	ALTQ_BLUE	# Stochastic Fair Blue
    136   1.1      matt #options 	ALTQ_CBQ	# Class-Based Queueing
    137   1.1      matt #options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
    138   1.1      matt #options 	ALTQ_FIFOQ	# First-In First-Out Queue
    139   1.1      matt #options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
    140   1.1      matt #options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
    141   1.1      matt #options 	ALTQ_LOCALQ	# Local queueing discipline
    142   1.1      matt #options 	ALTQ_PRIQ	# Priority Queueing
    143   1.1      matt #options 	ALTQ_RED	# Random Early Detection
    144   1.1      matt #options 	ALTQ_RIO	# RED with IN/OUT
    145   1.1      matt #options 	ALTQ_WFQ	# Weighted Fair Queueing
    146   1.1      matt 
    147   1.1      matt # These options enable verbose messages for several subsystems.
    148   1.1      matt # Warning, these may compile large string tables into the kernel!
    149   1.1      matt 
    150   1.1      matt # Kernel root file system and dump configuration.
    151   1.1      matt config		netbsd	root on ? type ?
    152   1.1      matt 
    153   1.1      matt #
    154   1.1      matt # Device configuration
    155   1.1      matt #
    156  1.14     skrll mainbus0 	at root
    157  1.14     skrll simplebus* 	at fdt? pass 0
    158   1.1      matt 
    159  1.21  jmcneill # Clock and reset controller
    160  1.21  jmcneill prci*		at fdt?			# SiFive FU540 PRCI
    161  1.21  jmcneill 
    162  1.14     skrll # UART
    163  1.14     skrll com* 		at fdt?			# UART
    164   1.1      matt 
    165   1.1      matt # Pseudo-Devices
    166   1.1      matt 
    167   1.1      matt pseudo-device 	crypto			# /dev/crypto device
    168   1.1      matt pseudo-device	swcrypto		# software crypto implementation
    169   1.1      matt 
    170   1.1      matt # disk/mass storage pseudo-devices
    171   1.1      matt #pseudo-device	md			# memory disk device (ramdisk)
    172   1.1      matt #options 	MEMORY_DISK_HOOKS	# enable root ramdisk
    173   1.1      matt #options 	MEMORY_DISK_DYNAMIC	# loaded via kernel module(7)
    174   1.1      matt 
    175   1.1      matt pseudo-device	vnd			# disk-like interface to files
    176   1.1      matt options 	VND_COMPRESSION		# compressed vnd(4)
    177   1.1      matt 
    178   1.1      matt pseudo-device	loop			# network loopback
    179   1.1      matt pseudo-device	pty			# pseudo-terminals
    180   1.1      matt pseudo-device	clockctl		# user control of clock subsystem
    181   1.1      matt pseudo-device	ksyms			# /dev/ksyms
    182   1.1      matt pseudo-device	lockstat		# lock profiling
    183  1.16  riastrad pseudo-device 	swwdog			# software watchdog timer -- swwdog(4)
    184   1.1      matt 
    185   1.1      matt # userland interface to drivers, including autoconf and properties retrieval
    186   1.1      matt pseudo-device	drvctl
    187   1.1      matt 
    188   1.1      matt options 	PAX_MPROTECT=0		# PaX mprotect(2) restrictions
    189   1.1      matt options 	PAX_ASLR=0		# PaX Address Space Layout Randomization
    190  1.19    simonb 
    191  1.19    simonb cinclude 	"arch/riscv/conf/GENERIC.local"
    192