#       $NetBSD: files.mac68k,v 1.135 2025/04/03 01:54:46 nat Exp $

# mac68k-specific configuration info

# options understood by the mac68k-specific part of the kernel
# (note, these are case-sensitive)
defflag opt_adb.h               ADB_DEBUG MRG_ADB ALTXBUTTONS
defflag opt_mac68k.h            DISABLE_EXT_CACHE ZS_CONSOLE_ABORT
defflag opt_grf_compat.h        GRF_COMPAT

defflag opt_wsdisplay_compat.h  WSDISPLAY_COMPAT_ITEFONT

defparam opt_mac68k.h           MAC68K_MEMSIZE

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

maxusers 2 8 64

device mainbus { }                      # no locators (yet?)
attach mainbus at root

device  obio { [addr = -1] }
attach  obio at mainbus
file    arch/mac68k/obio/obio.c         obio

device  adb { }: sysmon_power
attach  adb at obio
file    arch/mac68k/dev/adb.c           adb
file    arch/mac68k/dev/adbsysasm.s
file    arch/mac68k/dev/adb_direct.c
file    arch/mac68k/dev/pm_direct.c

device  aed { }
attach  aed at adb
file    arch/mac68k/dev/aed.c           aed needs-flag

device  akbd: wskbddev
attach  akbd at adb
file    arch/mac68k/dev/akbd.c          akbd needs-flag

device  ams: wsmousedev
attach  ams at adb
file    arch/mac68k/dev/ams.c           ams needs-flag

device  pbbat: sysmon_envsys, sysmon_power
attach  pbbat at aed
file    arch/mac68k/dev/pbbat.c         pbbat needs-flag

# ASC (beeper)
device  asc
attach  asc at obio
file    arch/mac68k/obio/asc.c          asc needs-flag

#ASC audio
device  ascaudio: audiobus, auconv, mulaw, aurateconv, auvolconv
attach  ascaudio at obio
file    arch/mac68k/obio/ascaudio.c     ascaudio needs-flag

device  nubus { }
attach  nubus at mainbus
file    arch/mac68k/nubus/nubus.c       nubus

define grfbus { }
file    arch/mac68k/dev/grf_subr.c      grfbus

device  intvid: grfbus
attach  intvid at obio
file    arch/mac68k/obio/grf_obio.c     intvid

device  macvid: grfbus
attach  macvid at nubus
file    arch/mac68k/nubus/grf_nubus.c   macvid

device  macfb: wsemuldisplaydev, wsrasteremulops
attach  macfb at grfbus
file    arch/mac68k/dev/macfb.c         macfb needs-flag

attach  genfb at grfbus with genfb_grfbus
file    arch/mac68k/dev/genfb_grfbus.c  genfb_grfbus

file    arch/mac68k/dev/maccons.c       akbd & (macfb | genfb_grfbus)

device  ae: ifnet, ether, arp, dp8390nic
attach  ae at nubus with ae_nubus
file    arch/mac68k/nubus/if_ae_nubus.c ae_nubus
file    arch/mac68k/dev/if_ae.c         ae

device  mc: ifnet, ether, arp
attach  mc at obio with mc_obio
file    arch/mac68k/dev/if_mc.c         mc
file    arch/mac68k/obio/if_mc_obio.c   mc_obio

device  sn: ifnet, ether, arp
file    dev/ic/dp83932.c                sn
file    arch/mac68k/dev/if_sn.c         sn
attach  sn at obio with sn_obio
file    arch/mac68k/obio/if_sn_obio.c   sn_obio
attach  sn at nubus with sn_nubus
file    arch/mac68k/nubus/if_sn_nubus.c sn_nubus

attach  sm at nubus with sm_nubus
file    arch/mac68k/nubus/if_sm_nubus.c sm_nubus

device  netdock: ifnet, ether, arp
attach  netdock at nubus with netdock_nubus
file    arch/mac68k/nubus/if_netdock_nubus.c    netdock_nubus

# Sony floppy disk controller
device  iwm { drive = -1 }
attach  iwm at obio

device  fd: disk
attach  fd at iwm
file    arch/mac68k/obio/iwm_fd.c       fd needs-flag
file    arch/mac68k/obio/iwm.s          fd needs-flag

include "dev/scsipi/files.scsipi"

# Option 1 for ncr5380 support
device  ncrscsi: scsi
attach  ncrscsi at obio
file    arch/mac68k/dev/mac68k5380.c    ncrscsi needs-flag

# Option 2 for ncr5380 support
device  sbc: scsi, ncr5380sbc
attach  sbc at obio with sbc_obio
file    arch/mac68k/dev/sbc.c           sbc
file    arch/mac68k/obio/sbc_obio.c     sbc_obio

attach  esp at obio
file    arch/mac68k/obio/esp.c          esp

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

attach  wdc at obio with wdc_obio
file    arch/mac68k/obio/wdc_obio.c     wdc_obio

device  cpi { }
attach  cpi at nubus
file    arch/mac68k/nubus/cpi_nubus.c   cpi

device  zsc { channel = -1 }
attach  zsc at obio
file    arch/mac68k/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
file    arch/mac68k/dev/zs_kgdb.c       kgdb

# legitimate pseudo-devices
defpseudo grf
defpseudo ite

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

file    arch/mac68k/mac68k/autoconf.c
file    arch/mac68k/mac68k/bus_space.c
file    arch/mac68k/mac68k/clock.c
file    arch/mac68k/mac68k/conf.c
file    arch/mac68k/mac68k/disksubr.c           disk
file    arch/mac68k/mac68k/fpu_machdep.c
file    arch/mac68k/mac68k/intr.c
file    arch/mac68k/mac68k/iop.c
file    arch/mac68k/mac68k/machdep.c
file    arch/mac68k/mac68k/macrom.c
file    arch/mac68k/mac68k/macromasm.s
file    arch/mac68k/mac68k/mainbus.c
file    arch/mac68k/mac68k/pmap_bootstrap.c     compile-with "${NOPROF_C}"
file    arch/mac68k/mac68k/pram.c
file    arch/mac68k/mac68k/pramasm.s
file    arch/mac68k/mac68k/psc.c
file    arch/mac68k/mac68k/trap.c
file    arch/mac68k/mac68k/via.c
file    arch/m68k/m68k/bus_dma.c
file    arch/m68k/m68k/cacheops.c
file    arch/m68k/m68k/db_memrw.c               ddb | kgdb
file    arch/m68k/m68k/fpu.c                    compile-with "${M68K_KERN_FPU}"
file    arch/m68k/m68k/kgdb_machdep.c           kgdb
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    arch/mac68k/dev/grf_compat.c            grf needs-flag
file    arch/mac68k/dev/ite_compat.c            ite needs-flag

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

# Memory Disk for installs
#       These files are out of order
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/mac68k/conf/majors.mac68k"