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
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
|
# $OpenBSD: GENERIC,v 1.72 2003/07/08 21:12:09 mickey Exp $
# $NetBSD: GENERIC,v 1.48 1997/08/23 19:19:01 mjacob Exp $
# Machine architecture; required by config(8)
machine sparc
include "../../../conf/GENERIC"
# Options for variants of the Sun SPARC architecture.
# At least one is required.
option SUN4 # sun4/100, sun4/200, sun4/300
option SUN4C # sun4c - SS1, 1+, 2, ELC, SLC, IPC, IPX, etc.
option SUN4M # sun4m - SS10, SS20, Classic, etc.
#option MMU_3L # 3-level MMU on sun4/400
#option KGDB # support for kernel gdb
#option KGDBDEV=0xc01 # kgdb device number (dev_t)
#option KGDBRATE=38400 # baud rate
# Options for SPARCstation hardware
option COMPAT_SUNOS # compatibility with SunOS binaries
option COMPAT_SVR4 # compatibility with SVR4 binaries
maxusers 18 # estimated number of users
# Generic swap; second partition of root disk or network.
config bsd swap generic
# Main bus and CPU .. all systems.
mainbus0 at root
cpu0 at mainbus0
# Bus types found on SPARC systems.
sbus0 at mainbus0 # sun4c
obio0 at mainbus0 # sun4 and sun4m
vmes0 at mainbus0 # sun4
vmel0 at mainbus0 # sun4
iommu0 at mainbus0 # sun4m
sbus0 at iommu0 # sun4m
audioamd0 at mainbus0 # sun4c
audioamd0 at obio0 # sun4m
audioamd0 at sbus0 # sun4m
audio* at audioamd?
audiocs0 at sbus0 # sun4m
audio* at audiocs?
auxreg0 at mainbus0 # sun4c
auxreg0 at obio0 # sun4m
# Power status and control register found on Sun4m systems
power0 at obio0
# Mostek clock found on 4/300, sun4c, and sun4m systems.
# The Mostek clock NVRAM is the "eeprom" on sun4/300 systems.
clock0 at mainbus0 # sun4c
clock0 at obio0 # sun4m
clock0 at obio0 addr 0xf2000000 # sun4/300
# Intersil clock found on 4/100 and 4/200 systems.
oclock0 at obio0 addr 0xf3000000 # sun4/200
oclock0 at obio0 addr 0x03000000 # sun4/100
# Memory error registers.
memreg0 at mainbus0 # sun4c
memreg0 at obio0 # sun4m
memreg0 at obio0 addr 0xf4000000 # sun4/200 and sun4/300
memreg0 at obio0 addr 0x04000000 # sun4/100
# Timer chip found on 4/300, sun4c, and sun4m systems.
timer0 at mainbus0 # sun4c
timer0 at obio0 # sun4m
timer0 at obio0 addr 0xef000000 # sun4/300
# EEPROM found on 4/100 and 4/200 systems. Note that the 4/300
# doesn't use this driver; the `EEPROM' is in the NVRAM on the
# Mostek clock chip on 4/300 systems.
eeprom0 at obio0 addr 0xf2000000 # sun4/200
eeprom0 at obio0 addr 0x02000000 # sun4/100
# 8 segment led display on sun4/sun4m systems
led0 at mainbus0 # sun4
led0 at obio0 # sun4/600
# Zilog 8530 serial chips. Each has two-channels.
# zs0 is ttya and ttyb. zs1 is the keyboard and mouse.
zs0 at mainbus0 # sun4c
zs0 at obio0 # sun4m
zs0 at obio0 addr 0xf1000000 level 12 # sun4/200 and sun4/300
zs0 at obio0 addr 0x01000000 level 12 # sun4/100
zs1 at mainbus0 # sun4c
zs1 at obio0 # sun4m
zs1 at obio0 addr 0xf0000000 level 12 # sun4/200 and sun4/300
zs1 at obio0 addr 0x00000000 level 12 # sun4/100
zs2 at obio0 addr 0xe0000000 level 12 # sun4/300
zstty* at zs? channel ?
zskbd* at zs? channel ?
wskbd* at zskbd? console ?
# Magma serial/parallel port devices
magma* at sbus? # magma serial cards
mtty* at magma?
mbpp* at magma?
# SUNW,spif serial/parallel port devices
spif* at sbus? # spif serial cards
stty* at spif?
sbpp* at spif?
bpp* at sbus? # parallel port
# SUNW,xbox SBus Expansion Subsystem
xbox* at sbus? # SBus Expansion box
sbus* at xbox?
#
# Note the flags on the esp entries below, that work around
# deficiencies in the current driver:
# bits 0-7: disable disconnect/reselect for the corresponding target
# bits 8-15: disable synch negotiation for target [bit-8]
# Note: targets 4-7 have disconnect/reselect enabled on the premise
# that tape devices normally have one of these targets. Tape
# devices should be allowed to disconnect for the SCSI bus
# to operate acceptably.
#
# sun4/300 SCSI - an NCR53c94 or equivalent behind
# an LSI Logic DMA controller
dma0 at obio0 addr 0xfa001000 level 4 # sun4/300
esp0 at obio0 addr 0xfa000000 level 4 flags 0xff0f #
# sun4c or sun4m SCSI - an NCR53c94 or equivalent behind
# specialized DMA glue
dma0 at sbus0 # on-board SCSI
esp0 at sbus0 flags 0xff0f # sun4c
esp0 at dma0 flags 0xff0f # sun4m
# FSBE/S SCSI - an NCR53c94 or equivalent behind
dma* at sbus? # SBus SCSI
esp* at sbus? flags 0xff0f # two flavours
esp* at dma? flags 0xff0f # depending on model
#sun4c, sun4m
isp* at sbus?
options ISP_COMPILE_1000_FW=1
# sun4m Ethernet - an AMD 7990 LANCE behind
# specialized DMA glue
ledma0 at sbus0 # sun4m on-board
le0 at ledma0 #
# Additional SBus LANCE devices - glued on by lebuffer
lebuffer0 at sbus0 # sun4m SBus
lebuffer* at sbus? # sun4m SBus
le0 at lebuffer0 #
le* at lebuffer? #
# sun4/300 and sun4c Ethernet - an AMD 7990 LANCE
le0 at sbus0 # sun4c on-board
le* at sbus?
le0 at obio0 addr 0xf9000000 level 6 # sun4/300
# sun4/100 and sun4/200 Ethernet - an Intel 82586 on-board
# or on a Multibus/VME card.
ie0 at obio0 addr 0xf6000000 level 6 # sun4/200 on-board
ie0 at obio0 addr 0x06000000 level 6 # sun4/100 on-board
ie1 at vmes0 addr 0xffe88000 level 5 vect 0x75
ie2 at vmes0 addr 0xff31ff02 level 5 vect 0x76
ie3 at vmes0 addr 0xff35ff02 level 5 vect 0x77
ie4 at vmes0 addr 0xff2dff02 level 5 vect 0x7c
# HappyMeal ethernet (will not work on sun4c)
hme* at sbus?
# Quad-ethernet glue device, and sub-devices
qec* at sbus?
qe* at qec?
be* at qec?
# Xylogics 753 or 7053 VME SMD disk controllers and disks, found
# on sun4 systems.
xdc0 at vmel0 addr 0xffffee80 level 3 vect 0x44
xdc1 at vmel0 addr 0xffffee90 level 3 vect 0x45
xdc2 at vmel0 addr 0xffffeea0 level 3 vect 0x46
xdc3 at vmel0 addr 0xffffeeb0 level 3 vect 0x47
xd* at xdc? drive ?
# Xylogics 451 or 451 VME SMD disk controllers and disks, found
# on sun4 systems.
xyc0 at vmes0 addr 0xffffee40 level 3 vect 0x48
xyc1 at vmes0 addr 0xffffee48 level 3 vect 0x49
xy* at xyc? drive ?
# 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 vmes0 addr 0xff200000 level 3 vect 0x40 flags 0x07
#
# By default, DMA is enabled in the driver.
si0 at vmes0 addr 0xff200000 level 3 vect 0x40
# NCR5380-based "SCSI Weird" on-board SCSI interface found
# on sun4/100 systems. The flags are the same as the "si"
# controller. Note, while DMA is enabled by default, only
# polled DMA works at this time, and reselects do not work
# on this particular controller.
sw0 at obio0 addr 0x0a000000 level 3
# Sun "bwtwo" black and white framebuffer, found on sun4, sun4c, and sun4m
# systems.
bwtwo0 at sbus0 # sun4c on-board
bwtwo* at sbus? # sun4c and sun4m
bwtwo0 at obio0 addr 0xfd000000 level 4 # sun4/200
bwtwo0 at obio0 addr 0xfb300000 level 4 # sun4/300 in P4 slot
bwtwo0 at obio0 addr 0x0b300000 level 4 # sun4/100 in P4 slot
wsdisplay* at bwtwo?
# Sun "cgtwo" VME color framebuffer.
cgtwo0 at vmes0 addr 0xff400000 level 4 vect 0xa8
wsdisplay* at cgtwo?
# Sun "cgthree" Sbus color framebuffer.
cgthree* at sbus?
wsdisplay* at cgthree?
# Sun "cgfour" color framebuffer.
cgfour0 at obio0 addr 0xfb300000 level 4 # sun4/300 P4
cgfour0 at obio0 addr 0x0b300000 level 4 # sun4/100 P4
wsdisplay* at cgfour?
# Sun "cgsix" accelerated color framebuffer.
cgsix0 at sbus?
cgsix* at sbus?
cgsix0 at obio0 addr 0xfb000000 level 4 # sun4/300 P4
cgsix0 at obio0 addr 0x0b000000 level 4 # sun4/100 P4
wsdisplay* at cgsix?
# Sun "cgeight" 24-bit framebuffer.
cgeight0 at obio0 addr 0xfb300000 level 4 # sun4/300 P4
cgeight0 at obio0 addr 0x0b300000 level 4 # sun4/100 P4
wsdisplay* at cgeight?
# Sun "tcx" accelerated color framebuffer.
tcx* at sbus?
wsdisplay* at tcx?
# Sun "cgfourteen" accelerated 24-bit framebuffer.
cgfourteen0 at obio0 addr 0x9c000000 # sun4m
cgfourteen1 at obio0 addr 0x90000000 # sun4m
wsdisplay* at cgfourteen?
# Sun "cgtwelve" (GS) accelerated 24-bit framebuffer.
cgtwelve* at sbus?
wsdisplay* at cgtwelve?
# Sun "leo" (ZX) accelerated 24-bit framebuffer.
zx* at sbus?
wsdisplay* at zx?
# Vigra VS10 or VS12 framebuffer.
vigra* at sbus?
wsdisplay* at vigra?
# Weitex P9000 found on Tadpole SPARCbook 3, with external ``Chameleon'' RAMDAC
pninek0 at sbus?
btcham0 at obio?
wsdisplay* at pninek?
# Weitek P9100 found on Tadpole SPARCbook 3GS/3GX/3TX/3XP
pnozz0 at sbus?
wsdisplay* at pnozz?
# Parallax XVideo and PowerVideo
tvtwo* at sbus?
wsdisplay* at tvtwo?
# Fujitsu AG-10e framebuffer.
agten* at sbus?
wsdisplay* at agten?
# Southland Media Systems MGX/MGXPlus framebuffer.
mgx* at sbus?
wsdisplay* at mgx?
# Microcontroller found on Tadpole SPARCbook
tctrl0 at obio0
# Sun PCMCIA bridge
stp* at sbus?
pcmcia* at stp? socket ?
# PCMCIA controller found on Tadpole SPARCbook
tslot* at sbus?
pcmcia* at tslot? socket ?
# PCMCIA devices
wi* at pcmcia? function ? # WaveLAN IEEE 802.11DS
#an* at pcmcia? function ? # Aironet IEEE 802.11DS
ne* at pcmcia? function ? # NE2000-compat ethernet
ep* at pcmcia? function ? # PCMCIA based 3C5xx ethernet
#com* at pcmcia? function ? # PCMCIA modems/serial ports
# Media Independent Interface (mii) drivers (required by hme, ne, ep)
bmtphy* at mii? phy ? # Broadcom 10/100 PHYs
lxtphy* at mii? phy ? # Level1 LXT970 PHYs
nsphy* at mii? phy ? # NS and compatible PHYs
nsphyter* at mii? phy ?
qsphy* at mii? phy ? # Quality Semi QS6612 PHYs
tqphy* at mii? phy ? # TDK 78Q212x PHYs
ukphy* at mii? phy ?
# SCSI bus layer. SCSI devices attach to the SCSI bus, which attaches
# to the underlying hardware controller.
scsibus* at esp?
scsibus* at si?
scsibus* at sw?
scsibus* at isp?
# These entries find devices on all SCSI busses and assign
# unit numers dynamically.
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
uk* at scsibus? target ? lun ? # unknown SCSI devices
# Floppy controller and drive found on SPARCstations.
fdc0 at mainbus0 # sun4c controller
fdc0 at obio0 # sun4m controller
fd* at fdc0 # the drive itself
# flash memory, sysconfig regs, and VME for Force boards
#scf0 at mainbus0 # FORCE CPU-5V sysconfig
#flash0 at obio0 # FORCE CPU-5V flash-memory
#fga0 at iommu0 # FORCE CPU-5V VME/SBus bridge
#fvme* at fga0 # FORCE CPU-5V
#daadio* at fvme? addr 0x0 level 1 vect 0x1f # Matrix MD-DAADIO board
# Prestoserve NVRAM
#presto* at sbus?
#pseudo-device strip 1 # radio clock
|