1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
|
# $NetBSD: GENERIC,v 1.110 2023/02/12 14:50:42 abs Exp $
#
# GENERIC machine description file
#
# This machine description file is used to generate the default NetBSD
# kernel. The generic kernel does not include all options, subsystems
# and device drivers, but should be useful for most applications.
#
# The machine description file can be customised for your specific
# machine to reduce the kernel size and improve its performance.
#
# For further information on compiling NetBSD kernels, see the config(8)
# man page.
#
# For further information on hardware support for this architecture, see
# the intro(4) man page. For further information about kernel options
# for this architecture, see the options(4) man page. For an explanation
# of each device driver in this file see the section 4 man page for the
# device.
# Supports Sun2 (2/120, 2/170, 2/50, ...)
# Supports root on: sd*, ... (FFS)
include "arch/sun2/conf/std.sun2"
options MODULAR # new style module(7) framework
#options MODULAR_DEFAULT_AUTOLOAD
options INSECURE # allow modload(8) in multiuser mode
#options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "GENERIC-$Revision: 1.110 $"
# Bootloader has size limit (~2MB). Kernel should be smaller than this
# hard limit. Otherwise, it freezes before adding swap even with 7MB
# memory. -fno-omit-frame-pointer is necessary for backtraces in DDB.
options NO_KERNEL_RCSIDS
makeoptions COPTS="-Os -fno-inline-small-functions -fno-asynchronous-unwind-tables -fno-unwind-tables -fno-omit-frame-pointer"
# Machines to be supported by this kernel
#options FPU_EMULATE
# Needs to be set per system. i.e change these as you see fit
maxusers 4
# Standard system options
options KTRACE # system call tracing
#options SYSVMSG # System V message queues
#options SYSVSEM # System V semaphores
#options SYSVSHM # System V shared memory
#options INSECURE # disable kernel security level
#options USERCONF # userconf(4) support
options PIPE_SOCKETPAIR # smaller, but slower pipe(2)
#options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel
# Alternate buffer queue strategies for better responsiveness under high
# disk I/O load.
#options BUFQ_READPRIO
#options BUFQ_PRIOCSCAN
# Which kernel debugger? Uncomment either this:
options DDB
# ... or these for KGDB (gdb remote target)
#makeoptions DEBUG="-g" # debugging symbols for gdb
#options KGDB
#options KGDB_DEV=0x0C00 # ttya=0C00 ttyb=0C01
# Other debugging options
#options DDB_HISTORY_SIZE=100 # enable history editing in DDB
#options DEBUG # kernel debugging code
#options DIAGNOSTIC # extra kernel sanity checking
#options PMAP_DEBUG
#options SCSIDEBUG
#options SCSIVERBOSE # Verbose SCSI errors
# Compatibility options
include "conf/compat_netbsd16.config"
#options COMPAT_SUNOS # can run SunOS 4.1.1 executables
#options COMPAT_AOUT_M68K # support for NetBSD a.out executables
#options EXEC_AOUT # support for a.out executables
# File systems
file-system FFS # Berkeley Fast Filesystem
#file-system NFS # Sun NFS client support
#file-system CD9660 # ISO 9660 + Rock Ridge file system
#file-system FDESC # /dev/fd/*
#file-system KERNFS # /kern
#file-system NULLFS # loopback file system
#file-system OVERLAY # overlay file system
#file-system PROCFS # /proc
#file-system UNION # union file system
#file-system MFS # memory-based filesystem
file-system PTYFS # /dev/pts/N support
#file-system TMPFS # Efficient memory file-system
#file-system UDF # experimental - OSTA UDF CD/DVD file-system
# File system options
#options FFS_EI # FFS Endian Independent support
options FFS_NO_SNAPSHOT # No FFS snapshot support
#options QUOTA # legacy UFS quotas
#options QUOTA2 # new, in-filesystem UFS quotas
#options UFS_DIRHASH # UFS Large Directory Hashing
#options UFS_EXTATTR # Extended attribute support for UFS1
#options WAPBL # File system journaling support
#options NFSSERVER # Network File System server
#options NFS_V2_ONLY # Exclude NFS3 code to save space
# Networking options
options INET # IP protocol stack support
#options INET6 # IPV6
#options IPSEC # IP security
#options IPSEC_DEBUG # debug for IP security
#options GATEWAY # IP packet forwarding
#options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG
#options ALTQ # Manipulate network interfaces' output queues
#options ALTQ_BLUE # Stochastic Fair Blue
#options ALTQ_CBQ # Class-Based Queueing
#options ALTQ_CDNR # Diffserv Traffic Conditioner
#options ALTQ_FIFOQ # First-In First-Out Queue
#options ALTQ_FLOWVALVE # RED/flow-valve (red-penalty-box)
#options ALTQ_HFSC # Hierarchical Fair Service Curve
#options ALTQ_LOCALQ # Local queueing discipline
#options ALTQ_PRIQ # Priority Queueing
#options ALTQ_RED # Random Early Detection
#options ALTQ_RIO # RED with IN/OUT
#options ALTQ_WFQ # Weighted Fair Queueing
# Work-around for root on slow servers (insurance...)
options NFS_BOOT_RWSIZE=1024
options NFS_BOOT_BOOTPARAM
config netbsd root on ? type ?
#### Main bus.
mainbus0 at root
#### Bus types.
obio0 at mainbus? # all Sun-2
obmem0 at mainbus? # all Sun-2
mbmem0 at mainbus? # 2/120, 2/170
mbio0 at mainbus? # 2/120, 2/170
sun68kvme0 at mainbus? # 2/50, 2/130, 2/160
vme0 at sun68kvme0 # mi VME attachment
#### Standard system devices.
## The AM9513 clock chip.
clock0 at obio0 addr 0x002800 # 2/120, 2/170
clock0 at obio0 addr 0x7f2800 # 2/50, 2/130, 2/160
## The MM58167 time-of-day chip.
tod0 at obio0 addr 0x003800 # 2/120, 2/170
tod0 at vme0 addr 0x200800 # 2/50, 2/130, 2/160
#### Serial port configuration.
## Zilog 8530 serial chips. Each has two channels.
## zs0 is ttya and ttyb. zs1 is the keyboard and mouse.
## zs0 is REQUIRED to use KGDB.
zs0 at obio0 addr 0x002000 # 2/120, 2/170
zs0 at obio0 addr 0x7f2000 # 2/50
zs1 at obmem0 addr 0x780000 # 2/120, 2/170
zs1 at obio0 addr 0x7f1800 # 2/50
zs2 at mbmem0 addr 0x080800 # 2/120, 2/170 (first sc SCSI)
zs3 at mbmem0 addr 0x081000 # 2/120, 2/170 (first sc SCSI)
zs4 at mbmem0 addr 0x084800 # 2/120, 2/170 (second sc SCSI)
zs5 at mbmem0 addr 0x085000 # 2/120, 2/170 (second sc SCSI)
zstty* at zs? channel ? # ttya
kbd0 at zstty? # keyboard
ms0 at zstty? # mouse
#### Disk controllers and disks.
## PAL+logic-based "Sun SCSI 2" Multibus/VME SCSI controller.
## This driver has several flags which may be enabled using
## the "flags" directive. Valid flags are:
##
## 0x0ff Set (1<<target) to disable parity checking
## 0x100 Set this bit to disable DMA interrupts (poll)
## 0x200 Set this bit to disable DMA entirely (use PIO)
##
## For example: "flags 0x10f" would disable DMA interrupts,
## and disable parity for targets 0-3
sc0 at mbmem0 addr 0x80000 ipl 2 flags 0xff
sc0 at vme0 addr 0x200000 irq 2 vect 0x40 flags 0xff
sc1 at mbmem0 addr 0x84000 ipl 2 flags 0xff
## NCR5380-based "Sun SCSI 3" VME SCSI controller.
## This driver has several flags which may be enabled by OR'ing
## the values and using the "flags" directive.
## Valid flags are:
##
## 0x01 Use DMA (may be polled)
## 0x02 Use DMA completion interrupts
## 0x04 Allow disconnect/reselect
##
## E.g. the following would enable DMA, interrupts, and reselect:
## si0 at vme0 addr 0x200000 ipl 3 vect 0x40 flags 0x07
##
## By default, DMA is enabled in the driver.
si0 at vme0 addr 0x200000 irq 2 vect 0x40
## These entries find devices on all SCSI busses and assign
## unit numbers dynamically.
scsibus* at sc?
scsibus* at si?
sd* at scsibus? target ? lun ? # SCSI disks
st* at scsibus? target ? lun ? # SCSI tapes
cd* at scsibus? target ? lun ? # SCSI CD-ROMs
#ch* at scsibus? target ? lun ? # SCSI changer devices
#ss* at scsibus? target ? lun ? # SCSI scanners
#ses* at scsibus? target ? lun ? # SCSI SES/SAF-TE
#uk* at scsibus? target ? lun ? # unknown SCSI
# support old SCSI devices that don't understand the INQUIRY command
options SCSI_OLD_NOINQUIRY
## Xylogics 450 or 451 Multibus/VME SMD disk controllers and disks.
#xyc0 at mbio0 addr 0xee40 ipl 2
#xyc0 at vme0 addr 0xee40 irq 2 vect 0x48
#xyc1 at mbio0 addr 0xee48 ipl 2
#xyc1 at vme0 addr 0xee48 irq 2 vect 0x49
#xy* at xyc? drive ?
#
# accept filters
#pseudo-device accf_data # "dataready" accept filter
#pseudo-device accf_http # "httpready" accept filter
## Memory-disk device.
#pseudo-device md
#### Network interfaces.
## Intel Ethernet (onboard, or Multibus/VME)
ie0 at obio0 addr 0x7f0800 ipl 3 # 2/50
ie0 at mbmem0 addr 0x88000 ipl 3
ie1 at mbmem0 addr 0x8c000 ipl 3
## VME: the first [addr,len] pair specifies the device registers;
## the second pair specifies the on-board memory buffer
ie1 at vme0 addr 0xe88000,0xe00000 len -1,0x40000 irq 3 vect 0x75
## 3Com Ethernet (Multibus only)
ec0 at mbmem0 addr 0xe0000 ipl 3
ec1 at mbmem0 addr 0xe2000 ipl 3
# limit NFS R/W size for poor ec(4) interfaces
options NFS_RSIZE=1024,NFS_WSIZE=1024
## Frame buffers.
## Sun "bwtwo" black and white framebuffer.
bwtwo0 at obmem0 addr 0x700000 # 2/120, 2/170
bwtwo0 at obio0 addr 0x0 # 2/50
## PROM console driver -- if all else fails
pcons0 at mainbus0 # PROM console
#### Miscellaneous.
pseudo-device loop # network loopback
#pseudo-device bpfilter # packet filter
#pseudo-device carp # Common Address Redundancy Protocol
#pseudo-device bridge # simple inter-network bridging
#pseudo-device vether # Virtual Ethernet for bridge
#pseudo-device sl # CSLIP
#pseudo-device ppp # PPP
#pseudo-device pppoe # PPP over Ethernet (RFC 2516)
#pseudo-device tun # network tunneling over tty
#pseudo-device tap # virtual Ethernet
#pseudo-device gre # generic L3 over IP tunnel
#pseudo-device npf # NPF packet filter
#pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device faith # IPv[46] tcp relay translation i/f
#pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation
pseudo-device pty # pseudo-terminals
#pseudo-device vnd # paging to files
#options VND_COMPRESSION # compressed vnd(4)
#pseudo-device ccd # concatenated disks
#pseudo-device cgd # cryptographic disk devices
#pseudo-device raid # RAIDframe disk driver
#options RAID_AUTOCONFIG # auto-configuration of RAID components
# Options to enable various other RAIDframe RAID types.
# options RF_INCLUDE_EVENODD=1
# options RF_INCLUDE_RAID5_RS=1
# options RF_INCLUDE_PARITYLOGGING=1
# options RF_INCLUDE_CHAINDECLUSTER=1
# options RF_INCLUDE_INTERDECLUSTER=1
# options RF_INCLUDE_PARITY_DECLUSTERING=1
# options RF_INCLUDE_PARITY_DECLUSTERING_DS=1
#pseudo-device fss # file system snapshot device
#pseudo-device clockctl # user control of clock subsystem
pseudo-device ksyms # /dev/ksyms
# Veriexec
# include "dev/veriexec.config"
# Pull in optional local configuration - always at end
cinclude "arch/sun2/conf/GENERIC.local"
|