# $NetBSD: VME,v 1.53 2020/09/27 13:48:54 roy Exp $

# VME Sun2 (2/50, 2/130, 2/160...)
# Supports root on: ie0, sd*, ...

include "arch/sun2/conf/std.sun2"

#options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary

#ident          "VME-$Revision: 1.53 $"

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

# Standard system options
options         KTRACE          # system call tracing
options         SYSVMSG         # System V message queues
options         SYSVSEM         # System V semaphores
#options        SEMMNI=10       # number of semaphore identifiers
#options        SEMMNS=60       # number of semaphores in system
#options        SEMUME=10       # max number of undo entries per process
#options        SEMMNU=30       # number of undo structures in system
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

# Which kernel debugger?  Uncomment either this:
options         DDB
# ... or these for KGDB (gdb remote target)
pseudo-device   ksyms
#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_AOUT_M68K # support for NetBSD a.out executables
options         EXEC_AOUT       # support for a.out executables
#options        COMPAT_SUNOS    # can run SunOS 4.1.1 executables

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

options         NFSSERVER       # nfs server support
#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

# 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

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

## 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  bridge                  # simple inter-network bridging
#pseudo-device  vether                  # Virtual Ethernet for bridge
#pseudo-device  sl                      # CSLIP
#pseudo-device  ppp                     # PPP
#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
#pseudo-device  ccd                     # concatenated disks
#pseudo-device  raid                    # RAIDframe disk driver
#options        RAID_AUTOCONFIG         # auto-configuration of RAID components
#pseudo-device  fss                     # file system snapshot device
pseudo-device   clockctl                # user control of clock subsystem