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
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
# $NetBSD: GENERIC,v 1.267.2.1 2021/04/21 18:11:06 martin 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.

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

options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary

#ident 		"GENERIC-$Revision: 1.267.2.1 $"

maxusers	32

## 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 	SUN4D		# sun4d - SS1000, SC2000

options 	SUN4_MMU3L	# sun4/400 3-level MMU

## 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_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 	WSDISPLAY_COMPAT_PCVT
options 	WSDISPLAY_COMPAT_SYSCONS
options 	WSDISPLAY_COMPAT_USL		# wsconscfg VT handling

options 	WSDISPLAY_SCROLLSUPPORT

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 	MODULAR		# new style module(7) framework
options 	MODULAR_DEFAULT_AUTOLOAD

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

## 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, where
## the minor device number encodes the PROM enumeration of the serial ports,
## i.e.:
## 0xc00 = ttya, 0xc01 = ttyb, 0xc02 = ttyc, 0xc03 = ttyd.
## (Note: ttyc and ttyd are available only on some sun4 models)
#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 	LOCKDEBUG
#options 	SYSCALL_DEBUG

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

options 	MIIVERBOSE	# verbose PHY autoconfig messages

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

## 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 	OVERLAY		# overlay file system
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	PUFFS		# Userspace file systems (e.g. ntfs-3g & sshfs)
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	CODA		# Coda File System; also needs vcoda (below)
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 	NFSSERVER	# Sun NFS-compatible filesystem server
options 	QUOTA		# FFS quotas
#options 	QUOTA2		# new, in-filesystem UFS quotas
#options 	FFS_EI		# FFS Endian Independent support
options 	WAPBL		# File system journaling support
#options 	UFS_DIRHASH	# UFS Large Directory Hashing - Experimental
#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
options 	UFS_EXTATTR	# Extended attribute support for UFS1

## Network protocol support.  In most environments, INET is required.
options 	INET		# IP (Internet Protocol) v4
options 	INET6		# IPV6
#options 	IPSEC		# IP security
#options 	IPSEC_DEBUG	# debug for IP security
#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 	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



#### Main bus and CPU .. all systems.
mainbus0 at root
cpu0	at mainbus0
cpuunit0	at mainbus0			# sun4d
cpuunit*	at mainbus0			# sun4d
cpu0	at cpuunit0				# sun4d

#### 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
bootbus0	at cpuunit0			# sun4d
bootbus*	at cpuunit?			# sun4d

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

## SBus to PCMCIA bridge
nell*	at sbus? slot ? offset ?		# PCMCIA bridge
pcmcia*	at nell?
tslot*	at sbus? slot ? offset ?		# PCMCIA bridge (tadpole 3gx)
pcmcia*	at tslot?

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

## Auxiliary system registers on sun4c and sun4m
auxreg0	at mainbus0				# sun4c
auxreg0	at obio0				# sun4m
auxiotwo0 at obio0				# only on Tadpole SPARCbook.

## Power status and control register on Sun4m systems
power0	at obio0

## Mostek clock found on 4/300, sun4c, sun4m and sun4d 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
clock0	at bootbus0				# sun4d

## 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		# sun4/200 and sun4/300
zs0	at obio0 addr 0x01000000 level 12		# sun4/100
zs0	at bootbus0					# sun4d
zstty0	at zs0 channel 0				# ttya
zstty1	at zs0 channel 1				# ttyb

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
zs1	at bootbus0					# sun4d

# old kbd and mouse attachments
#kbd0	at zs1 channel 0				# keyboard
#ms0	at zs1 channel 1				# mouse
zstty*	at zs?

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

zs2	at obio0 addr 0xe0000000 level 12		# sun4/300
zstty2	at zs2 channel 0				# ttyc
zstty3	at zs2 channel 1				# ttyd

zs*	at bootbus?					# sun4d
zstty*	at zs?

## NS16x50 serial chips and clones.  Present on the
## Sun JavaStation-1 and Tadpole SPARCbook 3
com*	at obio0					# sun4m

# Parallel port.
bpp*	at sbus? slot? offset ?

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

## SUNW,spif Serial/Parallel driver
spif*  at sbus? slot ? offset ?
stty*  at spif?
sbpp*  at spif?

## 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 & SunSwift Sbus FAS366
dma*	at sbus? slot ? offset ?			# SBus
esp*	at sbus? slot ? offset ? flags 0x0000		# SBus
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?
#spc*	at pcmcia?
#scsibus* at aic?
#scsibus* at spc?


## 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
ses*	at scsibus? target ? lun ?		# SCSI SES/SAF-TE
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?
#atabus* at ata?
#wd*	at atabus? drive ? flags 0x0000

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

pseudo-device	vnd	
#options 	VND_COMPRESSION		# compressed vnd(4)

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

## Cryptographic disk devices;  See cgd(4)

#pseudo-device	cgd

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

pseudo-device	raid	
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


## 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
## 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
ie2	at vme0 addr 0x31ff02,0x300000 len -1,0x40000 irq 3 vect 0x76
ie3	at vme0 addr 0x35ff02,0x300000 len -1,0x40000 irq 3 vect 0x77
ie4	at vme0 addr 0x2dff02,0x200000 len -1,0x40000 irq 3 vect 0x7c

## Quad Ethernet Controller with BigMac (be, 10/100MBd) and Mace Ethernet
## (qe, 10MBd) attached.
qec*	at sbus? slot ? offset ?		# Quad Ethernet Controller
be*	at qec?					# BigMac Ethernet (10/100MBd)
qe*	at qec?					# Mace Ethernet (10MBd)

## Happy Meal Ethernet
hme*	at sbus? slot ? offset ?

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

## PCMCIA wavelan card
#wi*	at pcmcia? function ?		# Lucent WaveLan IEEE (802.11)

# 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		

## PPP over Ethernet (RFC 2516)
pseudo-device	pppoe

## 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		
pseudo-device	tap			# virtual Ethernet

## 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	carp			# Common Address Redundancy Protocol

pseudo-device	npf			# NPF packet filter

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

## IEEE 802.1Q Virtual LAN encapsulation, see vlan(4).
pseudo-device	vlan

## Simple inter-network traffic bridging
pseudo-device	bridge
#options 	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too
pseudo-device	agr			# IEEE 802.3ad link aggregation

## accept filters
pseudo-device   accf_data		# "dataready" accept filter
pseudo-device   accf_http		# "httpready" accept 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

audiocs0	at sbus0 slot ? offset ?		# SUNW,CS4231

#options 	DBRI_DEBUG	# noisy debug output from the dbri driver
dbri*		at sbus? slot ? offset ?		# SUNW,DBRI[s3|e]

audio*		at audiobus?

## 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
# XXX no wsdisplay support
#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.
# XXX no wsdisplay support
#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
# XXX no wsdisplay support
#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
cgtwelve*	at sbus? slot ? offset ?
# the driver can use the color framebuffer or the monochrome overlay
# the latter is faster
options 	CG12_COLOR

# 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

# Tadpole microcontroller
tctrl0 at obio0

# Aurora Personality Chip (APC) on SPARCstation-4/5
# Not enabled by default as it may hang some systems
#apc*		at sbus? slot ? offset ?

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


# a pseudo device needed for Coda	# also needs CODA (above)
pseudo-device	vcoda			# coda minicache <-> venus comm.

pseudo-device	clockctl		# user control of clock subsystem
pseudo-device	drvctl			# user control of drive subsystem
pseudo-device	ksyms			# /dev/ksyms
pseudo-device	fss			# file system snapshot device
pseudo-device	wsmux			# mouse and keyboard multiplexor
pseudo-device	wsfont
pseudo-device	putter			# for puffs and pud

include "dev/veriexec.config"

#options PAX_MPROTECT=0			# PaX mprotect(2) restrictions
					# (for static binaries only for now)