#       $NetBSD: files.sun3,v 1.83 2018/12/19 13:57:50 maxv Exp $

#
# sun3-specific configuration info
#

# maxpartitions must be first item in files.${ARCH}
maxpartitions 8

maxusers 2 8 64

# Standard stuff (Sun3-specific)
file arch/sun3/sun3/bus_subr.c                  _sun3_
file arch/sun3/sun3/cache.c                     _sun3_ & havecache
file arch/sun3/sun3/control.c                   _sun3_
file arch/sun3/sun3/dvma.c                      _sun3_
file arch/sun3/sun3/enable.c                    _sun3_
file arch/sun3/sun3/locore2.c                   _sun3_
file arch/sun3/sun3/machdep.c                   _sun3_
file arch/sun3/sun3/mm_md.c                     _sun3_
file arch/sun3/sun3/pmap.c                      _sun3_

# Standard stuff (Sun3X-specific)
file arch/sun3/sun3x/bus_subr.c                 _sun3x_
file arch/sun3/sun3x/dvma.c                     _sun3x_
file arch/sun3/sun3x/enable.c                   _sun3x_
file arch/sun3/sun3x/locore2.c                  _sun3x_
file arch/sun3/sun3x/machdep.c                  _sun3x_
file arch/sun3/sun3x/mm_md.c                    _sun3x_
file arch/sun3/sun3x/pmap.c                     _sun3x_

# Standard stuff (common to Sun3 and Sun3X)
file arch/sun3/sun3/autoconf.c
file arch/sun3/sun3/db_machdep.c                ddb
file arch/sun3/sun3/db_memrw.c                  ddb | kgdb
file arch/sun3/sun3/fpu_machdep.c
file arch/sun3/sun3/leds.c
file arch/sun3/sun3/sunmon.c
file arch/sun3/sun3/sys_machdep.c
file arch/sun3/sun3/trap.c
file arch/m68k/m68k/cacheops.c                  _sun3x_
file arch/m68k/m68k/fpu.c                       compile-with "${M68K_KERN_FPU}"

include "arch/m68k/fpe/files.fpe"

# Console support
#file arch/sun3/sun3/cninit.c
file dev/cons.c

#
# Bus types
#

device mainbus {}
attach mainbus at root
file    arch/sun3/sun3/mainbus.c

# On-board I/O space (required).
device obio {addr = -1, [ipl = -1], [vect = -1]}
attach obio at mainbus
file arch/sun3/sun3/obio.c              _sun3_
file arch/sun3/sun3x/obio.c             _sun3x_

# On-board MEMory space (optional).
device obmem {addr = -1, [ipl = -1], [vect = -1]}
attach obmem at mainbus
file arch/sun3/sun3/obmem.c             obmem

# VME (unit encodes address/data sizes)
device vme {addr = -1, [ipl = -1], [vect = -1]}
attach vme at mainbus
file arch/sun3/sun3/vme.c               vme

#
# Machine-independent SCSI drivers
#
include "dev/scsipi/files.scsipi"

#
# Devices and attributes needed below
#

device ie: ifnet, ether, arp
file arch/sun3/dev/if_ie.c              ie

device si: scsi, ncr5380sbc
file    arch/sun3/dev/si.c              si

file arch/sun3/dev/fb.c                 fb needs-flag

#
# On-Board I/O (OBIO), in attach order.
# The following are all required.
#

# The IDPROM could have a device config line, but this
# driver has to do its initialization before autoconfig,
# and there is nothing left to do at attach time.
file arch/sun3/sun3/idprom.c            _sun3_
file arch/sun3/sun3x/idprom.c           _sun3x_

# Interrupt register
device intreg
attach intreg at obio
file arch/sun3/sun3/intreg.c            intreg

# Memory error register
device memerr
attach memerr at obio
file arch/sun3/dev/memerr.c             memerr

# Zilog Serial (ZS)
device zsc {channel = -1}
attach zsc at obio
file arch/sun3/dev/zs.c                 zsc needs-flag
file dev/ic/z8530sc.c                   zsc

# Intersil or Mostek clock
device clock: mk48txx
attach clock at obio
device oclock: intersil7170
attach oclock at obio
file arch/sun3/sun3/clock.c             _sun3_
file arch/sun3/sun3x/clock.c            _sun3x_

# EEPROM (or NV-RAM)
device eeprom
attach eeprom at obio
file arch/sun3/dev/eeprom.c             eeprom

# I/O MMU (a.k.a I/O mapper)
device iommu
attach iommu at obio
file arch/sun3/sun3x/iommu.c            _sun3x_

#
# Optional OBIO devices
#

# device defined above
attach ie at obio with ie_obio
file arch/sun3/dev/if_ie_obio.c         ie_obio

# device defined in sys/conf/files
attach le at obio: le24
file arch/sun3/dev/if_le.c              le

# Sun3/60 on-board SCSI
attach si at obio with si_obio
file    arch/sun3/dev/si_obio.c         si_obio

# Sun3/80 on-board SCSI
attach esp at obio
file arch/sun3/dev/esp.c                esp
device dma
attach dma at obio
file arch/sun3/dev/dma.c                dma | esp

# Sun3/80 Floppy disk
device fdc {}
attach fdc at obio
device fd: disk
attach fd at fdc
file arch/sun3/dev/fd.c         fdc | fd needs-flag

# Sun3/80 printer port
device pp
attach pp at obio
file arch/sun3/dev/pp.c         pp needs-flag

#
# On-Board MEMory (OBMEM)
#

device bwtwo: fb
attach bwtwo at obmem
file arch/sun3/dev/bw2.c                bwtwo needs-flag

device cgfour: fb
attach cgfour at obmem
file arch/sun3/dev/cg4.c                cgfour needs-flag

#
# VME
#

attach ie at vme with ie_vme
file arch/sun3/dev/if_ie_vme.c          ie_vme

attach si at vme with si_vme
file    arch/sun3/dev/si_vme.c          si_vme

# Sun3/E SCSI+Ethernet board
device sebuf {}
attach sebuf at vme
file    arch/sun3/dev/sebuf.c           sebuf
attach ie at sebuf with ie_sebuf
file    arch/sun3/dev/if_ie_sebuf.c     ie_sebuf
attach si at sebuf with si_sebuf
file    arch/sun3/dev/si_sebuf.c        si_sebuf

device cgtwo: fb
attach cgtwo at vme
file arch/sun3/dev/cg2.c                cgtwo needs-flag

device  xyc {drive = -1}
attach  xyc at vme
device  xy: disk
attach  xy at xyc
file    arch/sun3/dev/xy.c              xy | xyc needs-flag

device  xdc {drive = -1}
attach  xdc at vme
device  xd: disk
attach  xd at xdc
file    arch/sun3/dev/xd.c              xd | xdc needs-flag


#
# Console (zs) related stuff
#

device zstty: tty
attach zstty at zsc
file dev/ic/z8530tty.c                  zstty needs-flag
file arch/sun3/dev/zs_kgdb.c            kgdb

define zsevent
file dev/sun/event.c                    zsevent

device kbd: zsevent
attach kbd at zsc with kbd_zs
file dev/sun/kbd_zs.c                   kbd_zs
file dev/sun/kbdsun.c                   kbd_zs
file dev/sun/kbd.c                      kbd needs-flag
file dev/sun/kbd_tables.c               kbd
file arch/sun3/dev/kd.c                 kbd
defflag opt_sunkbd.h                    KBD_HIJACK_VOLUME_BUTTONS

device ms: zsevent
attach ms at zsc with ms_zs
file dev/sun/ms_zs.c                    ms_zs
file dev/sun/ms.c                       ms needs-flag


# Memory Disk for boot tape
file dev/md_root.c                      memory_disk_hooks


# Compatibility modules

# NetBSD m68k a.out Binary Compatibility (COMPAT_AOUT_M68K)
include "compat/aoutm68k/files.aoutm68k"

# SunOS Binary Compatibility (COMPAT_SUNOS)
include "compat/sunos/files.sunos"
file    arch/m68k/m68k/sunos_machdep.c  compat_sunos

# Linux binary compatibility (COMPAT_LINUX)
include "compat/linux/files.linux"
include "compat/linux/arch/m68k/files.linux_m68k"
file arch/m68k/m68k/linux_trap.c        compat_linux

# OSS audio driver compatibility
include "compat/ossaudio/files.ossaudio"

include "arch/sun3/conf/majors.sun3"