Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

  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
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
#	$NetBSD: INSTALL,v 1.102 2018/12/19 13:57:49 maxv Exp $
#
# from: NetBSD: GENERIC,v 1.84 1999/06/06 13:00:03 mrg Exp
#
# floppy install kernel.  try to keep this in sync with GENERIC but
# leave as much disabled as possible.

include "arch/sparc/conf/std.sparc"

#options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary

makeoptions	COPTS="-Os"		# Optimise for space. Implies -O2

maxusers	32

# Enable the hooks used for initializing the root memory-disk.
options 	MEMORY_DISK_HOOKS
options 	MEMORY_DISK_IS_ROOT	# force root on memory disk
options 	MEMORY_DISK_SERVER=0	# no userspace memory disk support
## The miniroot size must be kept in sync manually with the size of
## the `ramdisk' image (which is built in distrib/sparc/ramdisk).
options 	MEMORY_DISK_ROOT_SIZE=2000	# size of memory disk, in blocks
options 	MEMORY_DISK_RBFLAGS=RB_SINGLE	# boot in single-user mode

pseudo-device	md			# memory disk device (ramdisk)

## System kernel configuration.  See options(4) for more detail.


# Options for variants of the Sun SPARC architecure.
# We currently support three architecture types; at least one is required.
options 	SUN4		# sun4/100, sun4/200, sun4/300
options 	SUN4C		# sun4c - SS1, 1+, 2, ELC, SLC, IPC, IPX, etc.
options 	SUN4M		# sun4m - SS10, SS20, Classic, etc.

options 	SUN4_MMU3L	# 3-level MMU on sun4/400

## System options specific to the sparc machine type

# Blink the power LED on some machines to indicate the system load.
#options 	BLINK

# wscons stuff
#options 	WSEMUL_SUN
options 	WSEMUL_VT100
options 	WSDISPLAY_DEFAULTSCREENS=1
#options 	WSDISPLAY_COMPAT_USL		# wsconscfg VT handling
options 	WSDISPLAY_COMPAT_RAWKBD
options 	WSDISPLAY_CUSTOM_OUTPUT
options 	WS_DEFAULT_FG=WSCOL_BLACK
options 	WS_DEFAULT_BG=WSCOL_LIGHT_WHITE
options 	WS_KERNEL_FG=WSCOL_GREEN
options 	WS_KERNEL_BG=WSCOL_LIGHT_WHITE
options 	FONT_GALLANT12x22	# the console font
options 	FONT_BOLD8x16		# a somewhat smaller font

#### System options that are the same for all ports

## Root device configuration: change the ?'s if you are going to use a
## nonstandard root partition (other than where the kernel is booted from)
## and/or nonstandard root type (not ffs or nfs).  Normally this can be
## automagically determined at boot time.

config		netbsd	root on ? type ?

## System call tracing (see ktrace(1)).
#options 	KTRACE

## System V compatible IPC subsystem.  (msgctl(2), semctl(2), and shmctl(2))
#options 	SYSVMSG		# System V message queues
#options 	SYSVSEM		# System V semaphores
#options 	SYSVSHM		# System V shared memory

options 	USERCONF	# userconf(4) support
options 	PIPE_SOCKETPAIR		# smaller, but slower pipe(2)
#options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel

## NFS boot options; tries DHCP/BOOTP then BOOTPARAM
options 	NFS_BOOT_BOOTPARAM
#options 	NFS_BOOT_BOOTP
options 	NFS_BOOT_DHCP

#### Debugging options

## The DDB in-kernel debugger runs at panic (unless DDB_ONPANIC=0), or at
## serial console break or keyboard reset, where the PROM would normally
## intercept.  DDB_HISTORY_SIZE adds up/down arrow command history.
#options 	DDB			# kernel dynamic debugger
#options 	DDB_HISTORY_SIZE=100	# enable history editing in DDB
#options 	DDB_ONPANIC=1		# see also sysctl(7): `ddb.onpanic'

## You may also use gdb, on another computer connected to this machine over
## a serial port.  Both KGDB_DEV and KGDB_DEVRATE should be specified;
## KGDB_DEV is a dev_t encoded device number of the serial port to use.
## (0xc01 = ttya, 0xc02 = ttyb.)
#options 	KGDB			# support for kernel gdb
#options 	KGDB_DEV=0xc01		# kgdb device number (this is `ttyb')
#options 	KGDB_DEVRATE=38400	# baud rate


## Compile the kernel with debugging symbols (`netbsd.gdb' is the debug file),
## such that gdb(1) can be used on a kernel coredump.

#makeoptions	DEBUG="-g"


## Adds code to the kernel that does internal consistency checks, and will
## cause the kernel to panic if corruption of internal data structures
## is detected.
#options 	DIAGNOSTIC	# extra kernel sanity checking

## Enable (possibly expensive) debugging code that may also display messages
## on the system console
#options 	DEBUG

#options 	MIIVERBOSE	# verbose PHY autoconfig messages

## Make SCSI error messages more verbose when explaining their meanings.
#options 	SCSIVERBOSE

## `INSECURE' turns off the kernel security level (securelevel = 0 always).
## This allows writing to /dev/mem, loading kernel modules while multi-user,
## and other insecurities good only for development work.  Do not use this
## option on a production machine.
options 	INSECURE

## `FDSCRIPTS' allows non-readable but executable scripts by providing a
## pre-opened opaque file to the script interpreter.  `SETUIDSCRIPTS',
## which implies FDSCRIPTS, allows scripts to be set-user-id using the same
## opaque file mechanism.  Perl calls this "secure setuid scripts."

#options 	FDSCRIPTS
#options 	SETUIDSCRIPTS

## Options for compatibility with previous releases foreign system binaries.
## In the cases of COMPAT_SUNOS, you may need to set up additional user-level
## utilities or system configuration files. See compat_sunos(8).

#include 	"conf/compat_netbsd10.config"
#options 	COMPAT_SUNOS	# SunOS 4.x binary compatibility
options 	COMPAT_BSDPTY	# /dev/[pt]ty?? ptys.

## File systems.  You probably need at least one of FFS or NFS.
file-system	FFS		# Berkeley Fast Filesystem
file-system	NFS		# Sun NFS-compatible filesystem client
#file-system	KERNFS		# kernel data-structure filesystem
#file-system	NULLFS		# NULL layered filesystem
file-system	MFS		# memory-based filesystem
#file-system	FDESC		# user file descriptor filesystem
#file-system	UMAPFS		# uid/gid remapping filesystem
#file-system	LFS		# Log-based filesystem (still experimental)
#file-system	PROCFS		# /proc
file-system	CD9660		# ISO 9660 + Rock Ridge file system
#file-system	UNION		# union file system
#file-system	MSDOSFS		# MS-DOS FAT filesystem(s).
#file-system	PTYFS		# /dev/pts/N support

## File system options
#options 	NFSSERVER	# Sun NFS-compatible filesystem server
#options 	QUOTA		# legacy UFS quotas
#options 	QUOTA2		# new, in-filesystem UFS quotas
#options 	FFS_EI		# FFS Endian Independent support
#options 	NFS_V2_ONLY	# Exclude NFS3 code to save space
options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
options 	WAPBL		# File system journaling support

## Network protocol support.  In most environments, INET is required.
options 	INET		# IP (Internet Protocol) v4
#options 	GATEWAY		# packet forwarding ("router switch")
#options 	MROUTING	# packet forwarding of multicast packets
#options 	PIM		# Protocol Independent Multicast
#options 	NETATALK	# AppleTalk (over Ethernet) protocol
#options 	NTP		# Network Time Protocol in-kernel support
#options 	PPS_SYNC	# Add serial line synchronization for NTP
#options 	PPP_BSDCOMP	# Add BSD compression to ppp device
#options 	PPP_DEFLATE	# Add deflate (libz) compression to ppp device
#options 	PPP_FILTER	# Add active filters for ppp (via bpf)
#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG


#### Main bus and CPU .. all systems.
mainbus0 at root
cpu0	at mainbus0

#### SX rendering engine found in SS20 and SS10SX
sx0	at mainbus0

#### Bus types found on SPARC systems.

sbus0	at mainbus0				# sun4c
obio0	at mainbus0				# sun4 and sun4m
sparcvme0	at mainbus0				# sun4
iommu0	at mainbus0				# sun4m
sbus0	at iommu0				# sun4m
sparcvme0	at iommu0				# sun4m
vme0	at sparcvme0			# mi VME attachment

## SBus expander box
xbox*	at sbus? slot ? offset ?
sbus*	at xbox?

## SBus to PCMCIA bridge
# Currently enabling nell* with audioamd* causes panic at attach
#nell*	at sbus? slot ? offset ?		# PCMCIA bridge
#pcmcia*	at nell?

#### Standard system devices -- all required for a given architecture

## Auxiliary system registers on sun4c and sun4m
auxreg0	at mainbus0				# sun4c
auxreg0	at obio0				# sun4m

## Power status and control register 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

## ECC memory control
eccmemctl0 at mainbus0				# sun4m

## 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


#### Serial port configuration

## 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 flags 0x103	# sun4/200 and sun4/300
zs0	at obio0 addr 0x01000000 level 12 flags 0x103	# sun4/100

zs1	at mainbus0					# sun4c
zs1	at obio0					# sun4m
zs1	at obio0 addr 0xf0000000 level 12 flags 0x103	# sun4/200 and sun4/300
zs1	at obio0 addr 0x00000000 level 12 flags 0x103	# sun4/100

zs2	at obio0 addr 0xe0000000 level 12		# sun4/300

zstty*	at zs?

# these are for wscons
kbd0	at zstty?
ms0	at zstty?
wskbd*	at wskbddev?
wsmouse* 	at wsmousedev?

## Magma Serial/Parallel driver
#magma*	at sbus? slot ? offset ?
#mtty*	at magma?
#mbpp*	at magma?

## PCMCIA serial interfaces
#com*	at pcmcia?
#pcmcom*	at pcmcia?
#com*	at pcmcom?

#### Disk controllers and disks

#

## The following flags may be set for the NCR53c94 based esp driver:
##	bits 0-7:  disable disconnect/reselect for the corresponding target
##	bits 8-15: disable synchronous negotiation for target [bit-8]

## sun4/300, sun4c, sun4m on-board SCSI, and FSBE/S SBus SCSI cards.
## Both `dma' and `esp' are needed in all cases.
## Two kinds of additional SBus SCSI interfaces are available.  One uses
## "esp at sbus" like the sun4c on-board; the other uses "esp at dma".

## 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 0x0000	# sun4/300

dma0	at sbus0 slot ? offset ?			# sun4c/sun4m
esp0	at sbus0 slot ? offset ? flags 0x0000		# sun4c
esp0	at dma0 flags 0x0000				# sun4m

# FSBE/S SCSI
dma*	at sbus? slot ? offset ?			# SBus
esp*	at sbus? slot ? offset ? flags 0x0000		# SBus (older proms)
esp*	at dma? flags 0x0000				# SBus

scsibus* at esp?

## Qlogic ISP SBus SCSI Card
isp*	at sbus? slot ? offset ?
scsibus* at isp?

## 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 irq 3 vect 0x40 flags 0x07
##
## By default, DMA is enabled in the driver.

si0	at vme0 addr 0x200000 irq 2 vect 0x40
scsibus* at si?

## 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
scsibus* at sw?

## PCMCIA SCSI controllers
#aic*	at pcmcia?
#scsibus* at aic?


## These entries find devices on all SCSI busses and assign
## unit numbers 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


## Xylogics 753 or 7053 VME SMD disk controllers and disks, found
## on sun4 systems.
xdc0	at vme0 addr 0xee80 irq 3 vect 0x44
xdc1	at vme0 addr 0xee90 irq 3 vect 0x45
xdc2	at vme0 addr 0xeea0 irq 3 vect 0x46
xdc3	at vme0 addr 0xeeb0 irq 3 vect 0x47
xd*	at xdc? drive ?

## Xylogics 451 or 451 VME SMD disk controllers and disks, found
## on sun4 systems.
xyc0	at vme0 addr 0xee40 irq 3 vect 0x48
xyc1	at vme0 addr 0xee48 irq 3 vect 0x49
xy*	at xyc? drive ?


## Floppy controller and drive found on SPARCstations.

fdc0	at mainbus0				# sun4c controller
fdc0	at obio0				# sun4m controller
fd*	at fdc0					# the drive itself

## PCMCIA IDE controllers
#wdc*	at pcmcia?
#wd*	at wdc?

## A disk-like interface to files.  Can be used to create floppy, CD,
## miniroot images, etc.

#pseudo-device	vnd	

## Concatenated and striped disks; with this, you can create a software-based
## disk array similar to a "RAID 0" setup.  See ccd(4).

#pseudo-device	ccd

## RAIDframe disk driver: software RAID driver.  See raid(4).

#pseudo-device	raid

## Memory disk device, used on boot floppies with compressed
## kernel-plus-root-disk images.

#pseudo-device	md	


#### Network interfaces

## LANCE Ethernet - an AMD 7990 LANCE behind specialized DMA glue
## Three flavors of additional SBus ethernets are available.  One attaches
## directly like the sun4c on-board, one uses the ledma device like the
## sun4m on-board, and one uses the lebuffer device.

le0		at obio0 addr 0xf9000000 level 6	# sun4/300
le0		at sbus0 slot ? offset ?		# sun4c on-board
ledma0		at sbus0 slot ? offset ?		# sun4m on-board
le0		at ledma0				# sun4m on-board
le*		at sbus? slot ? offset ?		# SBus
ledma*		at sbus? slot ? offset ?		# SBus
le*		at ledma?				# SBus
lebuffer0	at sbus? slot ? offset ?		# SBus
le0		at lebuffer?				# SBus
lebuffer*	at sbus? slot ? offset ?		# SBus
le*		at lebuffer?				# SBus


## 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 vme0 addr 0xe88000 irq 3 vect 0x75		# VME
ie2	at vme0 addr 0x31ff02 irq 3 vect 0x76		# VME
ie3	at vme0 addr 0x35ff02 irq 3 vect 0x77		# VME
ie4	at vme0 addr 0x2dff02 irq 3 vect 0x7c		# VME

## qec/be, qec/hme
qec*		at sbus? slot ? offset ?
be*		at qec?
qe*		at qec?

# PCMCIA ethernet devices
#ep*	at pcmcia?
#mbe*	at pcmcia?
#ne*	at pcmcia?
#sm*	at pcmcia?

# MII/PHY support
#exphy*	at mii? phy ?			# 3Com internal PHYs
#icsphy*	at mii? phy ?			# Integrated Circuit Systems ICS189x
#inphy*	at mii? phy ?			# Intel 82555 PHYs
#lxtphy*	at mii? phy ?			# Level One LXT-970 PHYs
#nsphy*	at mii? phy ?			# NS83840 PHYs
#qsphy*	at mii? phy ?			# Quality Semiconductor QS6612 PHYs
#sqphy*	at mii? phy ?			# Seeq 80220/80221/80223 PHYs
#tlphy*	at mii? phy ?			# ThunderLAN PHYs
#ukphy*	at mii? phy ?			# generic unknown PHYs

## Loopback network interface; required
pseudo-device	loop

## SLIP and CSLIP interfaces, for IP over a serial line.
#pseudo-device	sl		

## PPP, the successor to SLIP.  See pppd(8).
#pseudo-device	ppp		

## Starmode Radio IP, a special hardware network device.
#pseudo-device	strip		

## Network "tunnel" device, allowing protocol stacks to run in the userland.
## This is used by the third-party user-mode "ppp" program, and others.
#pseudo-device	tun		

## Generic L3 over IP tunnel
#pseudo-device	gre			# generic L3 over IP tunnel

## Berkeley Packet Filter, required to run RARPD.  A generic C-language
## interface that allows selective examining of incoming packets.
#pseudo-device	bpfilter

#pseudo-device	npf			# NPF packet filter

#### Audio and video devices

## /dev/audio support (`audioamd' plus `audio')
##
#audioamd0	at mainbus0				# sun4c
#audioamd0	at obio0				# sun4m
#audioamd0	at sbus0 slot ? offset ?		# sun4m
#audio*		at audioamd0

#audiocs0	at sbus0 slot ? offset ?		# SUNW,CS4231
#audio*		at audiocs0

#spkr*		at audio?		# PC speaker (synthesized)


## Sun "bwtwo" black and white framebuffer, found on sun4, sun4c, and sun4m
## systems.  If your sun4 system has a cgfour installed in the P4 slot,
## the P4 entries for "bwtwo" will attach to the overlay plane of the
## "cgfour".

bwtwo0		at sbus0 slot ? offset ?		# sun4c and sun4m
bwtwo*		at sbus? slot ? offset ?		#
#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

## Sun "cgtwo" VME color framebuffer
#cgtwo0		at vme0 addr 0x400000 irq ? vect 0xa8

## Sun "cgthree" Sbus color framebuffer
cgthree0	at sbus? slot ? offset ?
cgthree*	at sbus? slot ? offset ?

## Sun "cgfour" color framebuffer with overlay plane.  See above comment
## regarding overlay plane.
#cgfour0		at obio0 addr 0xfb300000 level 4	# sun4/300 P4
#cgfour0		at obio0 addr 0x0b300000 level 4	# sun4/100 P4

## Sun "cgsix" accelerated color framebuffer.
cgsix0		at sbus? slot ? offset ?
cgsix*		at sbus? slot ? offset ?
#cgsix0		at obio0 addr 0xfb000000 level 4	# sun4/300 P4
#cgsix0		at obio0 addr 0x0b000000 level 4	# sun4/100 P4

## 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

## Sun "tcx" accelerated color framebuffer.
# there can be only one
tcx0		at sbus? slot ? offset ?

## Sun CG12 / Matrox SG3 accelerated 24bit framebuffer
## runs monochrome only for now
## since it occupies 3 SBus slots there's no way to use more than one
cgtwelve0	at sbus? slot ? offset ?

# Sun "cgfourteen" accelerated 24-bit framebuffer.
cgfourteen*	at obio0			# sun4m

# P9100-based display on Tadpole SPARCbook 3.
pnozz0		at sbus? slot ? offset ?
# the SPARCbook 3 hardware docs say that accesses to P9100 registers need to be
# 'latched in' but at least my 3GX works happily without
# Enable it by default since we don't know which hardware really needs it.
options PNOZZ_USE_LATCH

# Sun ZX/Leo 24-bit framebuffer
zx*		at sbus? slot ? offset ?

# Fujitsu AG-10e accelerated graphics 8/24-bit board
agten*	at sbus? slot ? offset ?

## Southland Media Systems (now Quantum 3D) MGX
mgx* 		at sbus? slot ? offset ?

# generic framebuffer console
genfb*	at sbus? slot ? offset ?

# make sure wsdisplay0 is the console
wsdisplay0	at wsemuldisplaydev? console 1
wsdisplay*	at wsemuldisplaydev?

#### Other device configuration

## Pseudo ttys, required for network logins and programs like screen.

pseudo-device	pty			# pseudo-terminals

## Random device, used to implement /dev/random (a source of random noise),
## and generate randomness for some kernel formulae.

#pseudo-device	fss			# file system snapshot device

pseudo-device	wsmux			# mouse and keyboard multiplexor
pseudo-device	wsfont