#       $NetBSD: files.pmax,v 1.118 2016/11/16 19:37:06 macallan Exp $
# DECstation-specific configuration info

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

maxusers 2 8 64

#
# Bus-independent devices
#
device mainbus { }                      # no locators
attach mainbus at root

device cpu                              # not optional
attach cpu at mainbus
file arch/pmax/pmax/cpu.c               cpu

#
# common mips stuff
#
file arch/mips/mips/bus_dma.c


# Model support option headers
defflag DEC_3100        # DECstation 2100, 3100 (kn01)
defflag DEC_5100        # DECsystem 5100 (kn230)
defflag DEC_3MAX        # DECstation 5000/200 (kn02)
defflag DEC_3MIN        # DECstation 5000/1xx (kn02ba), 5000/150 (kn04)
defflag DEC_MAXINE      # Personal DECstation 5000/xx (kn02ca)
defflag DEC_3MAXPLUS    # DECstation 5000/240 (kn03), 5000/260 (kn05)
defflag DEC_5800        # DECsystem 5800 isis (kn5800) XMI
defflag DEC_5400        # DECsystem 5400 mipsfair (kn210) Qbus
defflag DEC_5500        # DECsystem 5500 mipsfair2 (kn220) Qbus

# Model dependent files
file    arch/pmax/pmax/dec_3100.c       dec_3100        # DS3100, pmax
file    arch/pmax/pmax/dec_3max.c       dec_3max        # DS5000/200, 3max
file    arch/pmax/pmax/dec_3maxplus.c   dec_3maxplus    # DS5000/240, 3maxplus
file    arch/pmax/pmax/dec_3min.c       dec_3min        # DS5000/1xx, 3min
file    arch/pmax/pmax/dec_maxine.c     dec_maxine      # DS5000/1xx, maxine
file    arch/pmax/pmax/dec_5100.c       dec_5100        # kn230, mipsmate
#file   arch/pmax/pmax/dec_5400.c       dec_5400        # DS5400, mipsfair
#file   arch/pmax/pmax/dec_5500.c       dec_5500        # kn220, mipsfair2
#file   arch/pmax/pmax/dec_5800.c       dec_5800        # 5800, isis

# handlers for memory subsystems shared across models..
file    arch/pmax/pmax/memc_3max.c      dec_3max|dec_3maxplus
file    arch/pmax/pmax/memc_3min.c      dec_3min|dec_maxine

#
# Stack-less Just-In-Time compiler
#
include "external/bsd/sljit/conf/files.sljit"

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

# 3100 and 5100 ibus under mainbus
device ibus { [addr = -1] }
attach ibus at mainbus with ibus_pmax
file    arch/pmax/ibus/ibus.c           ibus
file    arch/pmax/ibus/ibus_pmax.c      ibus & (dec_3100|dec_5100)

#
# TURBOchannel devices
#
include "dev/tc/files.tc"
attach  tc at mainbus with tcbus
file    arch/pmax/tc/tcbus.c            tc
file    arch/pmax/tc/tc_3max.c          tc & dec_3max
file    arch/pmax/tc/tc_3min.c          tc & dec_3min
file    arch/pmax/tc/tc_3maxplus.c      tc & dec_3maxplus
file    arch/pmax/tc/tc_maxine.c        tc & dec_maxine

# 3MAX system slot as a TURBOchannel device
attach  ibus at tc with kn02sys
file    arch/pmax/ibus/ibus_3max.c      ibus & dec_3max

# IOCTL ASIC as a TURBOchannel device
#
# device defined in files.tc:
# device ioasic { offset = -1 }
# attach ioasic at tc
file    arch/pmax/tc/ioasic.c           ioasic


# Real-time clock (not optional)
device  mcclock
attach  mcclock at ioasic with mcclock_ioasic
attach  mcclock at ibus with mcclock_ibus
file    arch/pmax/pmax/clock.c
file    dev/dec/mcclock.c                       mcclock
file    dev/dec/mcclock_pad32.c                 mcclock
file    arch/pmax/tc/mcclock_ioasic.c           mcclock_ioasic
file    arch/pmax/ibus/mcclock_ibus.c           mcclock_ibus
file    arch/mips/mips/mips_mcclock.c           mcclock # CPU speed via mcclock
file    arch/mips/mips/mips_mcclock_loop.S      mcclock # CPU speed via mcclock

include "dev/scsipi/files.scsipi"

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


# Memory Disk
file    dev/md_root.c                   memory_disk_hooks

# asc attachment at ioasic?
attach  asc at ioasic with asc_ioasic
file    arch/pmax/tc/asc_ioasic.c       asc_ioasic

# sii: kn01 SCSI interface
device  sii: scsi
file    arch/pmax/ibus/sii.c            sii needs-flag
attach  sii at ibus with sii_ds
file    arch/pmax/ibus/sii_ds.c         sii_ds

# LANCE ethernet driver.
#   device defined in sys/conf/files.
#   TC and IOASIC attachment and files in sys/dev/tc/files.tc

attach le at ibus with le_pmax:         le24, le_dec_subr
file    arch/pmax/ibus/if_le_ibus.c     le_pmax

file    arch/pmax/pmax/autoconf.c
file    arch/pmax/pmax/bus.c
file    arch/pmax/pmax/disksubr.c
file    arch/pmax/pmax/machdep.c
file    arch/pmax/pmax/mainbus.c
file    arch/pmax/pmax/interrupt.c
file    arch/pmax/pmax/promcall.c
file    arch/pmax/pmax/sysconf.c
file    arch/pmax/stand/common/callvec.c
file    dev/cons.c


#
# Workstation console devices
#

# DC7085 (DZ-11 like four-port serial device) on ibus
attach dz at ibus with dz_ibus
file   arch/pmax/ibus/dz_ibus.c        dz_ibus

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

attach vsms at dz with dzms
file   dev/dec/dzms.c                  dzms needs-flag

# 3100 (pmax) onboard framebuffer
device pm: wsemuldisplaydev, rasops1, rasops8
attach pm at ibus
file   arch/pmax/ibus/pm.c             pm needs-flag

# The "desktop bus" on the MAXINE (5k/25).
device dt { addr = -1 }
attach dt at ioasic
file   arch/pmax/tc/dt.c               dt needs-flag

device dtkbd: wskbddev, lkkbdmap
attach dtkbd at dt
file   arch/pmax/tc/dtkbd.c            dtkbd needs-flag

device dtms: wsmousedev
attach dtms at dt
file   arch/pmax/tc/dtms.c             dtms needs-flag

# DV MAXINE builtin
device xcfb: wsemuldisplaydev, rasops8
attach xcfb at tc
file   dev/tc/xcfb.c                   xcfb needs-flag

# 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/pmax/conf/majors.pmax"