NetBSD-5.0.2/sys/arch/alpha/conf/files.alpha

# $NetBSD: files.alpha,v 1.179 2008/02/20 21:43:33 drochner Exp $
#
# alpha-specific configuration info

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

maxusers 8 16 64

# CPU support option headers
defflag		DEC_2000_300	# "Jensen":	2000/300 (DECpc AXP 150)
defflag		DEC_2100_A50	# Avanti etc:	AlphaStation 400, 200, etc.
defflag		DEC_2100_A500	# Sable etc:	AlphaServer 2100
defflag		DEC_2100A_A500	# Lynx etc:	AlphaServer 2100A
defflag		DEC_3000_300	# Pelican etc:	3000/300*
defflag		DEC_3000_500	# Flamingo etc:	3000/[4-9]00*
defflag		DEC_550		# Miata:	Personal Workstation (550)
defflag		DEC_AXPPCI_33	# NoName:	AXPpci33, etc.
defflag		DEC_EB164	# EB164:	AlphaPC 164
defflag		DEC_EB64PLUS	# EB64+:	AlphaPC 64, etc.
defflag		DEC_KN20AA	# KN20AA:	AlphaStation 500 and 600
defflag		DEC_KN8AE	# KN8AE:	AlphaServer 8200 and 8400
defflag		DEC_KN300	# KN300:	AlphaServer 4X00
defflag		AVALON_A12	# Avalon:	A12T1, A12M Parallel Supercomputer
defflag		DEC_1000	# Mikasa etc:	AlphaServer 1000
defflag		DEC_1000A	# Corelle etc:	AlphaServer 800 and 1000A
defflag		DEC_ALPHABOOK1	# AlphaBook1:	Tadpole/DEC AlphaBook
defflag		DEC_EB66	# EB66:		21066 Evaluation Board
defflag		DEC_6600	# EV6		Various EV6 Systems
defflag		API_UP1000	# EV6		Alpha Processor, Inc. UP1000

# Miscellaneous CPU-specific option headers
defflag		FIX_UNALIGNED_VAX_FP
defflag		ZS_IOASIC_DMA

# realtime clock compatible to OSF/1
defflag		CLOCK_COMPAT_OSF1

# this loses, but there's no way to define attributes which have attributes
define	alpha_shared_intr
file	arch/alpha/common/shared_intr.c	alpha_shared_intr | dec_eb164 |
					dec_eb64plus | dec_kn20aa | dec_kn8ae |
					dec_kn300 | dec_550 | dec_1000 |
					dec_1000a | dec_eb66 | dec_6600
define	alpha_sgmap
file	arch/alpha/common/sgmap_common.c alpha_sgmap | dec_3000_500

#
# Bus-independent devices
#

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

device	cpu { }				# not really optional
attach	cpu at mainbus
file	arch/alpha/alpha/cpu.c		cpu

#
# Machine-independent I2O drivers.
#

include "dev/i2o/files.i2o"

#
# Machine-independent SCSI drivers
#

include "dev/scsipi/files.scsipi"

#
# Machine-independent ATA drivers
#

include "dev/ata/files.ata"

# Memory Disk
file	dev/md_root.c			memory_disk_hooks

#
# TurboLaser Bus Support
#

device	tlsb { node = -1, offset = -1 }
attach	tlsb at mainbus
file	arch/alpha/tlsb/tlsb.c		tlsb & dec_kn8ae

device	kft { }
attach	kft at tlsb
file	arch/alpha/tlsb/kftxx.c		kft

device	tlsbmem
attach	tlsbmem at tlsb
file	arch/alpha/tlsb/tlsbmem.c	tlsbmem

device	gbus { offset = -1 }
attach	gbus at tlsb
file	arch/alpha/tlsb/gbus.c		gbus

#
# MCBUS support
#

device	mcbus { mid = -1 }
attach	mcbus at mainbus
file	arch/alpha/mcbus/mcbus.c	mcbus & dec_kn300

device	mcmem
attach	mcmem at mcbus
file	arch/alpha/mcbus/mcmem.c	mcmem

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

#
# TURBOchannel Devices
#
include "dev/tc/files.tc"

# TC attachment is MD
attach	tc at tcbus

device	tcasic: tcbus
attach	tcasic at mainbus
file	arch/alpha/tc/tcasic.c		tcasic
file	arch/alpha/tc/tc_bus_mem.c	tcasic
file	arch/alpha/tc/tc_dma.c		tcasic
file	arch/alpha/tc/tc_dma_3000_300.c	tcasic & dec_3000_300
file	arch/alpha/tc/tc_dma_3000_500.c	tcasic & dec_3000_500
file	arch/alpha/tc/tc_sgmap.c	tcasic & dec_3000_500
file	arch/alpha/tc/tc_3000_500.c	tcasic & dec_3000_500
file	arch/alpha/tc/tc_3000_300.c	tcasic & dec_3000_300

# the TURBOchannel IOCTL ASIC
#  IOASIC device and attachment defined in sys/dev/tc/files.tc
file	arch/alpha/tc/ioasic.c		ioasic

# TC and baseboard ioasic Lance ethernet are in files.tc

#
# ISA Bus support
#

include "dev/pci/files.pci"	# XXX some ISA devs are 'at pci' too.
include "dev/pci/files.agp"
include "dev/isa/files.isa"

#
# ISA Bus devices
#

file	arch/alpha/isa/isa_machdep.c	isa

define	isadma_bounce
file	arch/alpha/isa/isadma_bounce.c	isadma_bounce

include "dev/pckbport/files.pckbport"

# ISA speaker generates keyboard beep
device isabeep
attach isabeep at pcppi

# Floppy disk controller
device	fdc { drive = -1 }: isadma
file	dev/isa/fd.c			fdc needs-flag

attach	fdc at isa with fdc_isa
file	dev/isa/fdc_isa.c		fdc_isa

device	fd: disk
attach	fd at fdc

# ISA Plug 'n Play devices
file	arch/alpha/isa/isapnp_machdep.c	isapnp

#
# EISA Bus support
#

include "dev/eisa/files.eisa"

file	arch/alpha/eisa/eisa_machdep.c	eisa

device	jensenio {[port = -1]}: eisabus, isabus, isadma_bounce
attach	jensenio at mainbus
file	arch/alpha/jensenio/jensenio.c		 jensenio
file	arch/alpha/jensenio/jensenio_bus_intio.c jensenio
file	arch/alpha/jensenio/jensenio_bus_io.c	 jensenio
file	arch/alpha/jensenio/jensenio_bus_mem.c	 jensenio
file	arch/alpha/jensenio/jensenio_dma.c	 jensenio
file	arch/alpha/jensenio/jensenio_intr.c	 jensenio

attach	com at jensenio with com_jensenio
file	arch/alpha/jensenio/com_jensenio.c	com_jensenio

attach	lpt at jensenio with lpt_jensenio
file	arch/alpha/jensenio/lpt_jensenio.c	lpt_jensenio

attach	pckbc at jensenio with pckbc_jensenio
file	arch/alpha/jensenio/pckbc_jensenio.c	pckbc_jensenio

#
# PCI Bus support
#

# include "dev/pci/files.pci" XXX SEE ABOVE

file	arch/alpha/pci/pciide_machdep.c		pciide_common

define	alpha_pci_sgmap_pte32
file	arch/alpha/pci/pci_sgmap_pte32.c	alpha_pci_sgmap_pte32

define	alpha_pci_sgmap_pte64
file	arch/alpha/pci/pci_sgmap_pte64.c	alpha_pci_sgmap_pte64

device	apecs: pcibus, alpha_sgmap, alpha_pci_sgmap_pte64
attach	apecs at mainbus
file	arch/alpha/pci/apecs.c		apecs
file	arch/alpha/pci/apecs_bus_io.c	apecs
file	arch/alpha/pci/apecs_bus_mem.c	apecs
file	arch/alpha/pci/apecs_dma.c	apecs
file	arch/alpha/pci/apecs_pci.c	apecs

device	cia: pcibus, alpha_sgmap, alpha_pci_sgmap_pte64
attach	cia at mainbus
file	arch/alpha/pci/cia.c		cia
file	arch/alpha/pci/cia_dma.c	cia
file	arch/alpha/pci/cia_pci.c	cia
file	arch/alpha/pci/cia_bwx_bus_io.c cia
file	arch/alpha/pci/cia_bwx_bus_mem.c cia
file	arch/alpha/pci/cia_swiz_bus_io.c cia
file	arch/alpha/pci/cia_swiz_bus_mem.c cia

define	a12c_xb {}
define	a12c_a12dc {}

device	a12c { }: pcibus, a12c_xb, a12c_a12dc
attach	a12c at mainbus
file	arch/alpha/pci/a12c.c		a12c
file	arch/alpha/pci/a12c_bus_mem.c	a12c
file	arch/alpha/pci/a12c_dma.c	a12c
file	arch/alpha/pci/a12c_pci.c	a12c

device	dwlpx: pcibus, alpha_sgmap, alpha_pci_sgmap_pte32
attach	dwlpx at kft
file	arch/alpha/pci/dwlpx.c		dwlpx
file	arch/alpha/pci/dwlpx_bus_io.c	dwlpx
file	arch/alpha/pci/dwlpx_bus_mem.c	dwlpx
file	arch/alpha/pci/dwlpx_dma.c	dwlpx
file	arch/alpha/pci/dwlpx_pci.c	dwlpx

device	irongate: pcibus, agpbus, agp_amd, isadma_bounce
attach	irongate at mainbus
file	arch/alpha/pci/irongate.c		irongate
file	arch/alpha/pci/irongate_bus_io.c	irongate
file	arch/alpha/pci/irongate_bus_mem.c	irongate
file	arch/alpha/pci/irongate_dma.c		irongate
file	arch/alpha/pci/irongate_pci.c		irongate

device	lca: pcibus, alpha_sgmap, alpha_pci_sgmap_pte64
attach	lca at mainbus
file	arch/alpha/pci/lca.c		lca
file	arch/alpha/pci/lca_bus_io.c	lca
file	arch/alpha/pci/lca_bus_mem.c	lca
file	arch/alpha/pci/lca_dma.c	lca
file	arch/alpha/pci/lca_pci.c	lca

device	mcpcia: pcibus, alpha_sgmap, alpha_pci_sgmap_pte64
attach	mcpcia at mcbus
file	arch/alpha/pci/mcpcia.c		mcpcia
file	arch/alpha/pci/mcpcia_bus_io.c	mcpcia
file	arch/alpha/pci/mcpcia_bus_mem.c	mcpcia
file	arch/alpha/pci/mcpcia_dma.c	mcpcia
file	arch/alpha/pci/mcpcia_pci.c	mcpcia

device	tsc { }
attach	tsc at mainbus
file	arch/alpha/pci/tsc.c		dec_6600

device	tsp: pcibus, alpha_sgmap, alpha_pci_sgmap_pte64
attach	tsp at tsc
file	arch/alpha/pci/tsp_dma.c	tsp
file	arch/alpha/pci/tsp_pci.c	tsp
file	arch/alpha/pci/tsp_bus_io.c	tsp
file	arch/alpha/pci/tsp_bus_mem.c	tsp

device	ttwoga { hose = -1 }
attach	ttwoga at mainbus
# identical to pcibus
define	sableiobus {[bus = -1]}
device	ttwopci: pcibus, sableiobus, alpha_sgmap, alpha_pci_sgmap_pte64
attach	ttwopci at ttwoga
file	arch/alpha/pci/ttwoga.c		ttwoga
file	arch/alpha/pci/ttwoga_bus_io.c	ttwoga
file	arch/alpha/pci/ttwoga_bus_mem.c	ttwoga
file	arch/alpha/pci/ttwoga_dma.c	ttwoga
file	arch/alpha/pci/ttwoga_pci.c	ttwoga

#
# Sable STDIO support
#
device	sableio { port = -1 }
attach	sableio at sableiobus
file	arch/alpha/sableio/sableio.c		sableio

attach	com at sableio with com_sableio
file	arch/alpha/sableio/com_sableio.c	com_sableio

attach	lpt at sableio with lpt_sableio
file	arch/alpha/sableio/lpt_sableio.c	lpt_sableio

attach	pckbc at sableio with pckbc_sableio
file	arch/alpha/sableio/pckbc_sableio.c	pckbc_sableio

attach	fdc at sableio with fdc_sableio
file	arch/alpha/sableio/fdc_sableio.c	fdc_sableio

# CPU support files
file	arch/alpha/alpha/dec_2000_300.c	dec_2000_300
file	arch/alpha/pci/pci_2100_a50.c	dec_2100_a50
file	arch/alpha/pci/pci_2100_a500.c	dec_2100_a500 | dec_2100a_a500
file	arch/alpha/pci/pci_up1000.c	api_up1000
file	arch/alpha/pci/pci_a12.c	avalon_a12
file	arch/alpha/pci/pci_alphabook1.c	dec_alphabook1
file	arch/alpha/pci/pci_axppci_33.c	dec_axppci_33
file	arch/alpha/pci/pci_eb164.c	dec_eb164
file	arch/alpha/pci/pci_eb164_intr.s	dec_eb164
file	arch/alpha/pci/pci_eb64plus.c	dec_eb64plus
file	arch/alpha/pci/pci_eb64plus_intr.s dec_eb64plus
file	arch/alpha/pci/pci_eb66.c	dec_eb66
file	arch/alpha/pci/pci_eb66_intr.s	dec_eb66
file	arch/alpha/pci/pci_kn20aa.c	dec_kn20aa
file	arch/alpha/pci/pci_kn8ae.c	dec_kn8ae
file	arch/alpha/pci/pci_kn300.c	dec_kn300
file	arch/alpha/pci/pci_550.c	dec_550
file	arch/alpha/pci/pci_1000a.c	dec_1000a
file	arch/alpha/pci/pci_1000.c	dec_1000
file	arch/alpha/pci/pci_6600.c	dec_6600


#
# PCI Bus devices
#

file	arch/alpha/pci/pci_machdep.c	pci
file	arch/alpha/pci/agp_machdep.c	agp

device	sio: isabus, alpha_shared_intr, cy82c693
attach	sio at pci
device	pceb: isabus, eisabus, cy82c693, alpha_shared_intr
attach	pceb at pci
file	arch/alpha/pci/sio.c		sio | pceb	needs-flag
file	arch/alpha/pci/sio_pic.c	sio | pceb

#
# A12 if_de hack
#
device	ade: ether, ifnet, arp
attach	ade at pci
file	arch/alpha/a12/if_ade.c		ade

#
# alpha/a12 platform-specific drivers
#

# Switch

device	xb
attach	xb at a12c_xb
file	arch/alpha/a12/if_xb.c	xb

# Console

device	a12dc
attach	a12dc at a12c_a12dc
file	arch/alpha/a12/a12dc.c	a12dc		needs-flag

#
# Devices that can live on multiple busses
#

device	mcclock: mc146818
attach	mcclock at ioasic with mcclock_ioasic
attach	mcclock at isa with mcclock_isa
attach	mcclock at gbus with mcclock_tlsb
attach	mcclock at jensenio with mcclock_jensenio
file	arch/alpha/alpha/mcclock.c	mcclock
file	arch/alpha/tc/mcclock_ioasic.c	mcclock_ioasic
file	arch/alpha/isa/mcclock_isa.c	mcclock_isa
file	arch/alpha/tlsb/mcclock_tlsb.c	mcclock_tlsb
file	arch/alpha/jensenio/mcclock_jensenio.c	mcclock_jensenio


#
# Standard files
#
file	arch/alpha/alpha/autoconf.c
file	arch/alpha/alpha/clock.c
file	arch/alpha/alpha/cpuconf.c
file	arch/alpha/alpha/interrupt.c
file	arch/alpha/alpha/ipifuncs.c		multiprocessor
file	arch/alpha/alpha/kobj_machdep.c		modular
file	arch/alpha/alpha/machdep.c
file	arch/alpha/alpha/mainbus.c
file	arch/alpha/alpha/mem.c
file	arch/alpha/alpha/patch.c
file	arch/alpha/alpha/pmap.c
file	arch/alpha/alpha/process_machdep.c
file	arch/alpha/alpha/procfs_machdep.c	procfs
file	arch/alpha/alpha/prom.c
file	arch/alpha/alpha/sys_machdep.c
file	arch/alpha/alpha/syscall.c
file	arch/alpha/alpha/trap.c
file	arch/alpha/alpha/fp_complete.c
file	arch/alpha/alpha/vm_machdep.c
file	arch/alpha/alpha/disksubr.c
file	arch/alpha/common/bus_dma.c
file	arch/alpha/common/comlogout.c
file	dev/cons.c
file	kern/kern_cctr.c

# PROM console support (for ports that don't have native console support)
file	arch/alpha/alpha/promcons.c

# CPU support
file	arch/alpha/alpha/dec_2100_a50.c		dec_2100_a50
file	arch/alpha/alpha/dec_2100_a500.c	dec_2100_a500 | dec_2100a_a500
file	arch/alpha/alpha/dec_3000_300.c		dec_3000_300
file	arch/alpha/alpha/dec_3000_500.c		dec_3000_500
file	arch/alpha/alpha/dec_550.c		dec_550
file	arch/alpha/alpha/dec_alphabook1.c	dec_alphabook1
file	arch/alpha/alpha/dec_axppci_33.c	dec_axppci_33
file	arch/alpha/alpha/dec_eb164.c		dec_eb164
file	arch/alpha/alpha/dec_eb64plus.c		dec_eb64plus
file	arch/alpha/alpha/dec_eb66.c		dec_eb66
file	arch/alpha/alpha/dec_kn20aa.c		dec_kn20aa
file	arch/alpha/alpha/dec_kn8ae.c		dec_kn8ae
file	arch/alpha/alpha/dec_kn300.c		dec_kn300
file	arch/alpha/alpha/api_up1000.c		api_up1000
file	arch/alpha/alpha/avalon_a12.c		avalon_a12
file	arch/alpha/alpha/dec_1000a.c		dec_1000 | dec_1000a
file	arch/alpha/alpha/dec_6600.c		dec_6600

# Kernel debugger support
file	arch/alpha/alpha/db_disasm.c		ddb
file	arch/alpha/alpha/db_interface.c		ddb
file	arch/alpha/alpha/db_trace.c		ddb

file	arch/alpha/alpha/kgdb_machdep.c		kgdb

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

# OSF/1 Binary Compatibility (COMPAT_OSF1)
include "compat/osf1/files.osf1"
file	arch/alpha/alpha/osf1_sigcode.s		compat_osf1
file	arch/alpha/alpha/osf1_syscall.c		compat_osf1

# Linux Binary Compatibility (COMPAT_LINUX)
include "compat/linux/files.linux"
include "compat/linux/arch/alpha/files.linux_alpha"
file	arch/alpha/alpha/linux_sigcode.s	compat_linux
file	arch/alpha/alpha/linux_syscall.c	compat_linux
file	arch/alpha/alpha/linux_trap.c		compat_linux

# Lock stubs
file	arch/alpha/alpha/lock_stubs.s

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

# XXXX pcic here because it needs to be late.  The catch: pcic needs
# to be late, so devices which attach to it are attached late.  But it
# needs to be before its isa and pci attachments.  This answer is
# non-optimal, but I don't have a better answer right now.

# PCIC pcmcia contoller
# XXX this needs to be done very late, so it's done here.  This feels
# like a kludge, but it might be for the best.

defparam	PCIC_ISA_ALLOC_IOBASE
defparam	PCIC_ISA_ALLOC_IOSIZE
defparam	PCIC_ISA_INTR_ALLOC_MASK

device	pcic: pcmciabus
file	dev/ic/i82365.c			pcic

# PCIC pcmcia controller on ISA bus.
attach	pcic at isa with pcic_isa
file	dev/isa/i82365_isa.c		pcic_isa

# PCIC pcmcia controller on PCI bus.
attach	pcic at pci with pcic_pci
file	dev/pci/i82365_pci.c		pcic_pci

# PCIC pcmcia controller on PnP board
attach pcic at isapnp with pcic_isapnp
file	dev/isapnp/i82365_isapnp.c	pcic_isapnp

# Code common to ISA and ISAPnP attachments
file	dev/isa/i82365_isasubr.c	pcic_isa | pcic_isapnp | pcic_pci


# this wants to be probed as late as possible.
#
# Machine-independent PCMCIA drivers
#
include "dev/pcmcia/files.pcmcia"
#
# Machine-independent USB device support
#
include "dev/usb/files.usb"
#
# Machine-independent Bluetooth support
#
include "dev/bluetooth/files.bluetooth"
#
# Machine-independent IEEE 1394 device support
#
include "dev/ieee1394/files.ieee1394"

include	"arch/alpha/conf/majors.alpha"