#       $NetBSD: files.vax,v 1.128 2024/02/10 18:43:52 andvar Exp $
#
# new style config file for vax architecture
#

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

maxusers 8 32 64

device  mainbus { }: bus
attach  mainbus at root

# Define a bunch of devices, needed in more than one place.
device  cpu
device  mem
device  mba { drive = -1 }: bus

defflag opt_cputype.h   VAX780 VAX750 VAX730
                       VAX8200 VAX8800 VAX8600 VAX610
                       VAX6200 VAX6300 VAX6400 VAX6500 VAX6600
                       VAX410 VAX43 VAX46 VAX48 VAX49 VAX53
                       VAX630 VAX650 VAX660 VAX670 VAX680 VAXANY

defflag opt_emulate.h   NO_INSN_EMULATE

defpseudo       leds
file    arch/vax/vsa/leds.c             leds                    needs-flag

# CPU on mainbus
attach  cpu at mainbus with cpu_mainbus

# NMI on KA88
device  nmi { slot=-1 }: bus
attach  nmi at mainbus with nmi_mainbus
file    arch/vax/vax/nmi_mainbus.c      nmi

# Abus and related devices
device  abus {}: bus
attach  abus at mainbus with abus_mainbus
file    arch/vax/vax/ka860.c            vax8600
file    arch/vax/vax/crl.c              vax8600

# SBI and related devices
device  sbi { tr=-1 }: bus
attach  sbi at mainbus with sbi_mainbus
attach  sbi at abus with sbi_abus
file    arch/vax/vax/sbi.c              sbi

attach  mem at sbi with mem_sbi
file    arch/vax/vax/ka780.c            vax780 | mem_sbi | vaxany
file    arch/vax/vax/cfl.c              vax780 | mem_sbi | vaxany

# CMI and related devices
device  cmi { tr=-1 }: bus
attach  cmi at mainbus
file    arch/vax/vax/cmi.c              cmi

attach  mem at cmi with mem_cmi
file    arch/vax/vax/ka750.c            vax750 | mem_cmi | vaxany
file    arch/vax/vax/ctu.c              vax750 | vax730 | mem_cmi | vaxany

# Direct unibus interface
device  ubi { tr=-1 }
attach  ubi at mainbus
file    arch/vax/vax/ubi.c              ubi

attach  mem at ubi with mem_ubi
file    arch/vax/vax/ka730.c            vax730 | mem_ubi | vaxany

device  vsbus { csr }: bus
attach  vsbus at mainbus
file    arch/vax/vsa/vsbus.c            vsbus
file    arch/vax/vsa/vsbus_dma.c        vsbus & (vax46 | vax48 | vax49 |
                                               vax53 | vaxany)

device  ze: sgec, arp, ether, ifnet
attach  ze at mainbus with ze_mainbus
file    arch/vax/if/if_ze.c             ze_mainbus

attach  le at mainbus with le_mainbus:  le24
file    arch/vax/if/if_le.c             le_mainbus

attach  mba at sbi with mba_sbi
attach  mba at cmi with mba_cmi
file    arch/vax/mba/mba.c              mba needs-flag

device  hp: disk
attach  hp at mba
file    arch/vax/mba/hp.c               hp needs-flag

device  ht: tape
attach  ht at mba
file    arch/vax/mba/ht.c               ht needs-flag

#
# Bus-independent support for DEC devices
#
include "dev/dec/files.dec"

# Memory Disk for install floppy
file    dev/md_root.c                   memory_disk_hooks

# MSCP device drivers
include "dev/mscp/files.mscp"

# Unibus/Q22 bus definitions
include "dev/qbus/files.uba"

# TURBOchannel bus support and device drivers
include "dev/tc/files.tc"

attach  tc at vsbus with tc_vsbus
file    arch/vax/vsa/tc_vsbus.c         tc_vsbus

attach  uba at mainbus with uba_mainbus
file    arch/vax/uba/uba_mainbus.c      uba_mainbus
attach  uba at sbi with uba_sbi
file    arch/vax/uba/uba_sbi.c          uba_sbi
attach  uba at cmi with uba_cmi
file    arch/vax/uba/uba_cmi.c          uba_cmi
attach  uba at ubi with uba_ubi
file    arch/vax/uba/uba_ubi.c          uba_ubi

# BI bus definitions
include "dev/bi/files.bi"

attach  bi at mainbus with bi_mainbus
file    arch/vax/bi/bi_mainbus.c        bi_mainbus
attach  bi at nmi with bi_nmi
file    arch/vax/bi/bi_nmi.c            bi_nmi

# VAX CPUs at BI, do not belong in MI code.
attach  cpu at bi with cpu_bi
attach  mem at bi with mem_bi

# VAX CPUs at NMI
attach  cpu at nmi with cpu_nmi
attach  mem at nmi with mem_nmi

# XMI bus definitions
include "dev/xmi/files.xmi"

attach  xmi at mainbus with xmi_mainbus
file    arch/vax/vax/xmi_mainbus.c      xmi_mainbus

# VAX CPUs at XMI, do not belong in MI code.
attach  cpu at xmi with cpu_xmi
attach  mem at xmi with mem_xmi

attach  dz at vsbus with dz_vsbus
file    arch/vax/vsa/dz_vsbus.c         dz_vsbus | smg | gpx

attach  lkkbd at dz with dzkbd
file    dev/dec/dzkbd.c                 dzkbd needs-flag

# XXX alpha and pmax call this vsms
device  lkms: wsmousedev
attach  lkms at dz with dzms
file    dev/dec/dzms.c                  dzms needs-flag

# RD-type disks at VS2000's onboard MFM-controller
device  hdc { drive = -1 }
attach  hdc at vsbus
file    arch/vax/vsa/hdc9224.c          ry | hdc | rd needs-flag

device  rd: disk
attach  rd at hdc

device  ry: disk
attach  ry at hdc

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

# builtin NCR5380 SCSI-controller on VAXstation
device  si: scsi, ncr5380sbc
attach  si at vsbus with si_vsbus
file    arch/vax/vsa/ncr.c              si_vsbus

#
# Machine-independent ATA drivers
#
include "dev/ata/files.ata"

# Monochrome framebuffer on VS3100.
device  smg: displaydev, wsemuldisplaydev, rasops1
attach  smg at vsbus
file    arch/vax/vsa/smg.c              smg needs-flag

# GPX framebuffer on VS3100.
device  gpx: displaydev, wsemuldisplaydev, rasops8
attach  gpx at vsbus
file    arch/vax/vsa/gpx.c              gpx needs-flag

# Monochrome QVSS framebuffer on qbus (VCB01)
device  qv {}: displaydev, wsemuldisplaydev
attach  qv at uba
attach  genfb at qv with genfb_qv
file    arch/vax/uba/qv.c               qv|genfb_qv needs-flag

device  qvaux { line=-1 }: tty
attach  qvaux at qv
file    arch/vax/uba/qvaux.c            qvaux needs-flag

attach  lkkbd at qvaux with qvkbd
file    arch/vax/uba/qvkbd.c            qvkbd needs-flag

attach  lkms at qvaux with qvms
file    arch/vax/uba/qvms.c             qvms needs-flag

# Color framebuffer on VS4000/60.
device  lcg: displaydev, wsemuldisplaydev
attach  lcg at vsbus
file    arch/vax/vsa/lcg.c              lcg needs-flag

# Color framebuffer on VS4000/90.
device  spx: displaydev, wsemuldisplaydev
attach  spx at vsbus
file    arch/vax/vsa/spx.c              spx needs-flag

# LANCE ethernet controller on VAXstation
attach  le at vsbus with le_vsbus:      le24
file    arch/vax/if/if_le_vsbus.c       le_vsbus

# builtin NCR53C95 SCSI Controller on VAXstation 4000 VLC/60/9x
#device asc: scsi, ncr53c9x
attach  asc at vsbus with asc_vsbus
file    arch/vax/vsa/asc_vsbus.c        asc_vsbus

# These devices aren't tested (or even compiled!)
# They are just included here to make some files happy ;)
#

# Ikonas framebuffer
device  ik
attach  ik at uba
file    arch/vax/uba/ik.c               ik needs-flag

device  vs
attach  vs at uba
file    arch/vax/uba/vs.c               vs needs-flag

# RK06/07 on UBA
device  rk: disk
attach  rk at uba
file    arch/vax/uba/rk.c               rk needs-flag

# TM11/TE10 at UBA
device  te: tape
attach  te at uba
file    arch/vax/uba/tm.c               te needs-flag

# TU78 at MBA
device  mu: tape
attach  mu at mba
file    arch/vax/mba/mt.c               mu needs-flag

# DN-11 on UBA
device  dn # XXX?
attach  dn at uba
file    arch/vax/uba/dn.c               dn needs-flag

# IDC (RB730) on UBA (VAX 11/730)
device  idc { drive=-1 }
attach  idc at uba
device  rb: disk
attach  rb at idc
file    arch/vax/uba/idc.c              rb needs-flag

# LP-11 at UBA
device  lp
attach  lp at uba
file    arch/vax/uba/lp.c               lp needs-flag

# ???? at UBA
device  lpa
attach  lpa at uba
file    arch/vax/uba/lpa.c              lpa needs-flag

# PS2 at UBA
device  ps
attach  ps at uba
file    arch/vax/uba/ps.c               ps needs-flag

# SC-21/SC-31 at UBA
device  sc { drive=-1 }
attach  sc at uba
device  up: disk
attach  up at sc
file    arch/vax/uba/up.c               up needs-flag

# TU45 at UBA
device  ut { drive=-1}
attach  ut at uba
device  tj: tape
attach  tj at ut
file    arch/vax/uba/ut.c               tj needs-flag

# TU58/DECtape II
device  uu: tape
attach  uu at uba
file    arch/vax/uba/uu.c               uu needs-flag

# Benson-Varian plotter at UBA
device  va { drive=-1}
attach  va at uba
device  vz
attach  vz at va
file    arch/vax/uba/va.c               va needs-flag

# Versatec plotter at UBA
device  vp
attach  vp at uba
file    arch/vax/uba/vp.c               vp needs-flag

# ACC LH/DH IMP on UBA
device  acc: ifnet
attach  acc at uba
file    arch/vax/if/if_acc.c            acc needs-flag

# DR11C at UBA
device  ct # XXX
attach  ct at uba
file    arch/vax/uba/ct.c               ct needs-flag

# A/D-converter on UBA
device  ad
attach  ad at uba
file    arch/vax/uba/ad.c               ad needs-flag

# DH-11/DM-11 on UBA
device  dh # XXX?
attach  dh at uba
file    arch/vax/uba/dh.c               dh needs-flag

# Vaxstation 4000 audio
device  vsaudio: audiobus, am7930
attach  vsaudio at vsbus
file    arch/vax/vsa/vsaudio.c          vsaudio needs-flag

# These are general files needed for compilation.
file    dev/cons.c
file    dev/cninit.c
file    arch/vax/vax/locore.c
file    arch/vax/vax/clock.c
file    arch/vax/vax/core_machdep.c     coredump
file    arch/vax/vax/gencons.c          vax8600 | vax780 | vax750 | vax630 |
                                       vax8200 | vax680 | vax650 | vax660 |
                                       vax670  | vaxany
file    arch/vax/vax/pmap.c
file    arch/vax/vax/machdep.c
file    arch/vax/vax/ka820.c            vax8200 | vaxany
file    arch/vax/vax/crx.c              vax8200 | vaxany
file    arch/vax/vax/ka88.c             vax8800 | vaxany
file    arch/vax/vax/ka6400.c           vax6400 | vaxany
file    arch/vax/vax/ka410.c            vax410  | vaxany
file    arch/vax/vax/ka43.c             vax43   | vaxany
file    arch/vax/vax/ka46.c             vax46   | vaxany
file    arch/vax/vax/ka48.c             vax48   | vaxany
file    arch/vax/vax/ka49.c             vax49   | vaxany
file    arch/vax/vax/ka53.c             vax53   | vaxany
file    arch/vax/vax/ka610.c            vax610  | vaxany
file    arch/vax/vax/ka630.c            vax630  | vaxany
file    arch/vax/vax/ka650.c            vax650  | vaxany
file    arch/vax/vax/ka660.c            vax660  | vaxany
file    arch/vax/vax/ka670.c            vax670  | vaxany
file    arch/vax/vax/ka680.c            vax680  | vaxany
file    arch/vax/vax/emulate.S          !no_insn_emulate
file    arch/vax/vax/unimpl_emul.S      !no_insn_emulate
file    arch/vax/vax/lock_stubs.S
file    arch/vax/vax/scb.c
file    arch/vax/vax/opcodes.c
file    arch/vax/vax/conf.c
file    arch/vax/vax/trap.c
file    arch/vax/vax/bus_dma.c
file    arch/vax/vax/bus_mem.c
file    arch/vax/vax/procfs_machdep.c   procfs
file    arch/vax/vax/sgmap.c
file    arch/vax/vax/sig_machdep.c
file    arch/vax/vax/syscall.c
file    arch/vax/vax/vm_machdep.c
file    arch/vax/vax/findcpu.c
file    arch/vax/vax/autoconf.c
file    arch/vax/vax/ns_cksum.c         ns
file    arch/vax/vax/disksubr.c         disk | tape
file    arch/vax/vax/db_machdep.c       ddb
file    arch/vax/vax/db_disasm.c        ddb
file    arch/vax/uba/uba_dma.c          uba
file    arch/vax/vax/multicpu.c         multiprocessor
file    arch/vax/vax/cpu_in_cksum.S     (inet | inet6) & cpu_in_cksum

# Binary compatibility with previous NetBSD releases (COMPAT_XX)
file    arch/vax/vax/compat_13_machdep.c        compat_13 | compat_ultrix
file    arch/vax/vax/compat_16_machdep.c        compat_16 | compat_ultrix

include "compat/ultrix/files.ultrix"

include "compat/vax1k/files.vax1k"

# Dom h{ra f}r vara kvar s} l{nge f}r vi se vilka vi beh|ver...
#arch/vax/vax/dkbad.c           standard
#arch/vax/vax/ka730.c           standard
#arch/vax/vax/iidr.o            optional ii
#arch/vax/vax/iidrsys.o         optional ii
#arch/vax/vax/iidr_glob.o       optional ii
#arch/vax/if/if_css.c           optional css imp device-driver
#arch/vax/if/if_dp.c            optional dp device-driver
#arch/vax/if/if_ddn.c           optional ddn device-driver
#arch/vax/if/if_dmv.c           optional dmv device-driver
#arch/vax/if/if_ec.c            optional ec device-driver
#arch/vax/if/if_en.c            optional en device-driver
#arch/vax/if/if_ex.c            optional ex device-driver
#arch/vax/if/if_hdh.c           optional hdh device-driver
#arch/vax/if/if_hy.c            optional hy device-driver
#arch/vax/if/if_pcl.c           optional pcl device-driver
#arch/vax/if/if_vv.c            optional vv device-driver
#arch/vax/if/raw_hy.c           optional hy device-driver

# this wants to be probed as late as possible.
#
# Machine-independent USB device support
#
include "dev/usb/files.usb"

include "dev/bluetooth/files.bluetooth"

include "arch/vax/conf/majors.vax"