#       $NetBSD: files.x68k,v 1.85 2024/10/05 03:56:54 isaki Exp $
#
# new style config file for x68k architecture
#

defflag                         M060SP

defflag                         JUPITER
defflag                         PANICBUTTON
defflag opt_extmem.h            EXTENDED_MEMORY

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

maxusers 2 16 64

device  mainbus {}
attach  mainbus at root

device  cpu
attach  cpu at mainbus
file    arch/x68k/x68k/mainbus.c

define  event {}
file    arch/x68k/dev/event.c           event

file    arch/x68k/x68k/autoconf.c
file    arch/x68k/x68k/conf.c
file    arch/x68k/x68k/disksubr.c       disk
file    arch/x68k/x68k/machdep.c
file    arch/x68k/x68k/pmap_bootstrap.c compile-with "${NOPROF_C}"
file    arch/x68k/x68k/trap.c
file    arch/x68k/x68k/bus.c
file    arch/m68k/m68k/cacheops.c
file    arch/m68k/m68k/db_memrw.c       ddb
file    arch/m68k/m68k/fpu.c            compile-with "${M68K_KERN_FPU}"
file    arch/m68k/m68k/m68k_trap.c
file    arch/m68k/m68k/mmu_subr.s
file    arch/m68k/m68k/pmap_motorola.c
file    arch/m68k/m68k/procfs_machdep.c procfs
file    arch/m68k/m68k/sys_machdep.c
file    arch/m68k/m68k/vm_machdep.c

file    dev/bus_dma/bus_dmamem_common.c

file    dev/cons.c
file    dev/cninit.c

# Emulation modules
# 6888x emulator (FPU_EMULATE)
include "arch/m68k/fpe/files.fpe"

# 68060 software support package
include "arch/m68k/060sp/files.060sp"

# graphic devices
define  grfb { addr = -1 }

device  grfbus: grfb
attach  grfbus at mainbus

device  grf { grfaddr = -1 }
attach  grf at grfb
file    arch/x68k/dev/grf.c             grf needs-count
file    arch/x68k/dev/grf_conf.c        grf | ite
file    arch/x68k/dev/grf_machdep.c     grf | ite
file    arch/x68k/dev/grf_tv.c          grf | ite
file    arch/x68k/dev/grf_gv.c          grf | ite

defparam opt_ite.h      ITE_KERNEL_ATTR
defflag opt_ite.h       ITE_SIXEL
device  ite : tty
attach  ite at grf
file    arch/x68k/dev/ite.c             ite needs-flag
file    arch/x68k/dev/ite_tv.c          grf | ite
file    arch/x68k/dev/kbdmap.c          ite

device  intio {[addr = -1], [intr = -1], [dma = -1], [dmaintr = -1]}
attach  intio at mainbus
file    arch/x68k/dev/intio.c           intio

device  xel
attach  xel at intio
file    arch/x68k/dev/xel.c             xel

device  mfp {}
attach  mfp at intio
file    arch/x68k/dev/mfp.c             mfp

device clock
attach  clock at mfp
file    arch/x68k/x68k/clock.c          clock needs-flag

device kbd: event
attach  kbd at mfp
file    arch/x68k/dev/kbd.c             kbd needs-flag

device powsw: sysmon_power, sysmon_taskq
attach  powsw at mfp
file    arch/x68k/dev/powsw.c           powsw

device rtc
attach  rtc at intio
file    arch/x68k/dev/rtclock.c         rtc

device dmac
attach  dmac at intio
file    arch/x68k/dev/intio_dmac.c      dmac needs-flag

defflag opt_zsc.h       ZSCONSOLE
defparam opt_zsc.h      ZSCN_SPEED
device zsc {channel = -1}
attach zsc at intio
file arch/x68k/dev/zs.c                 zsc needs-flag
file dev/ic/z8530sc.c                   zsc

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

device ms: event
attach ms at zsc
file arch/x68k/dev/ms.c                 ms needs-flag

device  neptune {[addr = -1]}
attach  neptune at intio
file    arch/x68k/dev/neptune.c         neptune

attach  ne at neptune with ne_neptune: rtl80x9
file    arch/x68k/dev/if_ne_neptune.c   ne_neptune

device  opm
attach  opm at intio
file    arch/x68k/dev/opm.c             opm

device  vs: audiobus, msm6258
attach  vs at intio
file    arch/x68k/dev/vs.c              vs needs-flag

device  fdc { unit = -1 }
attach  fdc at intio

device  fd: disk
attach  fd at fdc
file    arch/x68k/dev/fd.c              fd needs-flag

device  par
attach  par at intio
file    arch/x68k/dev/par.c             par needs-flag

attach  com at intio with com_intio
file    arch/x68k/dev/com_intio.c       com_intio

#
# SCSI drivers
#
include "dev/scsipi/files.scsipi"

device scsirom {}
attach  scsirom at intio
file    arch/x68k/dev/scsirom.c         scsirom

attach  spc at scsirom with spc_intio
file    arch/x68k/dev/spc.c             spc_intio needs-flag

device  mha: scsi
attach  mha at scsirom
file    arch/x68k/dev/mha.c             mha needs-flag

device  sram
attach  sram at intio
file    arch/x68k/dev/sram.c            sram

defpseudo bell
file    arch/x68k/dev/opmbell.c         bell needs-flag

# Nereid Ethernet
attach  ne at intio with ne_intio: rtl80x9
file    arch/x68k/dev/if_ne_intio.c     ne_intio

# Nereid USB
attach  slhci at intio with slhci_intio
file    arch/x68k/dev/slhci_intio.c     slhci_intio

# Nereid Bank Memory Disk
device  bmd
attach  bmd at intio
file    arch/x68k/dev/bmd.c             bmd needs-flag

# memory disk
file    dev/md_root.c                   memory_disk_hooks

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

# USB support
include "dev/usb/files.usb"

# ATA and ATAPI support
include "dev/ata/files.ata"

include "arch/x68k/conf/majors.x68k"