# $NetBSD: GENERIC,v 1.275 2025/05/01 02:04:32 mrg 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.275 $"

maxusers        32

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


# Options for variants of the Sun SPARC architecture.
# 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        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         LFS_DIRHASH     # LFS version of UFS_DIRHASH - experimental
options         NFSSERVER       # Network File System server

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

## 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
pseudo-device   vether                  # Virtual Ethernet for bridge
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
# May hang on some prototype systems (never seen with NetBSD).
# Enables qemu to idle properly.
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
pseudo-device   swwdog                  # software watchdog timer -- swwdog(4)

include "dev/veriexec.config"

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

# Pull in optional local configuration - always at end
cinclude        "arch/sparc/conf/GENERIC.local"