# $NetBSD: DISKLESS,v 1.59 2018/08/01 20:04:14 maxv Exp $

# DISKLESS Sun2 (2/120, 2/170, 2/50, ...)
# Supports root on: ie0, ec0

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

#options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary

#ident          "DISKLESS-$Revision: 1.59 $"

makeoptions     COPTS="-Os"     # optimize for size

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

# Standard system options
options         KTRACE          # system call tracing
options         SYSVMSG         # System V message queues
options         SYSVSEM         # System V semaphores
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_SUNOS    # can run SunOS 4.1.1 executables
#options        COMPAT_AOUT_M68K # support for NetBSD a.out executables
#options        EXEC_AOUT       # support for a.out 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

# 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  sl                      # CSLIP
#pseudo-device  ppp                     # PPP
#pseudo-device  tun                     # network tunneling over tty
#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