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