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