xref: /netbsd-src/sys/arch/alpha/conf/files.alpha (revision d16b7486a53dcb8072b60ec6fcb4373a2d0c27b7)
1# $NetBSD: files.alpha,v 1.194 2020/10/21 13:31:50 christos Exp $
2#
3# alpha-specific configuration info
4
5# maxpartitions must be first item in files.${ARCH}.newconf
6maxpartitions 8
7
8maxusers 8 16 64
9
10# CPU support option headers
11defflag		DEC_2000_300	# "Jensen":	2000/300 (DECpc AXP 150)
12defflag		DEC_2100_A50	# Avanti etc:	AlphaStation 400, 200, etc.
13defflag		DEC_2100_A500	# Sable etc:	AlphaServer 2100
14defflag		DEC_2100A_A500	# Lynx etc:	AlphaServer 2100A
15defflag		DEC_3000_300	# Pelican etc:	3000/300*
16defflag		DEC_3000_500	# Flamingo etc:	3000/[4-9]00*
17defflag		DEC_550		# Miata:	Personal Workstation (550)
18defflag		DEC_AXPPCI_33	# NoName:	AXPpci33, etc.
19defflag		DEC_EB164	# EB164:	AlphaPC 164
20defflag		DEC_EB64PLUS	# EB64+:	AlphaPC 64, etc.
21defflag		DEC_KN20AA	# KN20AA:	AlphaStation 500 and 600
22defflag		DEC_KN8AE	# KN8AE:	AlphaServer 8200 and 8400
23defflag		DEC_KN300	# KN300:	AlphaServer 4X00
24defflag		DEC_1000	# Mikasa etc:	AlphaServer 1000
25defflag		DEC_1000A	# Corelle etc:	AlphaServer 800 and 1000A
26defflag		DEC_ALPHABOOK1	# AlphaBook1:	Tadpole/DEC AlphaBook
27defflag		DEC_EB66	# EB66:		21066 Evaluation Board
28defflag		DEC_6600	# EV6		Various EV6 Systems
29defflag		API_UP1000	# EV6		Alpha Processor, Inc. UP1000
30
31# Miscellaneous CPU-specific option headers
32defflag		FIX_UNALIGNED_VAX_FP
33defflag		ZS_IOASIC_DMA
34
35# realtime clock compatible to OSF/1
36defflag		CLOCK_COMPAT_OSF1
37
38# this loses, but there's no way to define attributes which have attributes
39define	alpha_shared_intr
40file	arch/alpha/common/shared_intr.c	alpha_shared_intr | dec_eb164 |
41					dec_eb64plus | dec_kn20aa | dec_kn8ae |
42					dec_kn300 | dec_550 | dec_1000 |
43					dec_1000a | dec_eb66 | dec_6600
44define	alpha_sgmap
45file	arch/alpha/common/sgmap_common.c alpha_sgmap | dec_3000_500
46
47#
48# Bus-independent devices
49#
50
51device	mainbus { }			# no locators (yet?)
52attach	mainbus at root
53
54device	cpu { }				# not really optional
55attach	cpu at mainbus
56file	arch/alpha/alpha/cpu.c		cpu
57
58device	qemu
59attach	qemu at mainbus
60file	arch/alpha/alpha/qemu.c		qemu
61
62#
63# Machine-independent I2O drivers.
64#
65
66include "dev/i2o/files.i2o"
67
68#
69# Machine-independent SCSI drivers
70#
71
72include "dev/scsipi/files.scsipi"
73
74#
75# Machine-independent ATA drivers
76#
77
78include "dev/ata/files.ata"
79
80# Memory Disk
81file	dev/md_root.c			memory_disk_hooks
82
83#
84# TurboLaser Bus Support
85#
86
87device	tlsb { node = -1, offset = -1 }
88attach	tlsb at mainbus
89file	arch/alpha/tlsb/tlsb.c		tlsb & dec_kn8ae
90
91device	kft { }
92attach	kft at tlsb
93file	arch/alpha/tlsb/kftxx.c		kft
94
95device	tlsbmem
96attach	tlsbmem at tlsb
97file	arch/alpha/tlsb/tlsbmem.c	tlsbmem
98
99device	gbus { offset = -1 }
100attach	gbus at tlsb
101file	arch/alpha/tlsb/gbus.c		gbus
102
103#
104# MCBUS support
105#
106
107device	mcbus { mid = -1 }
108attach	mcbus at mainbus
109file	arch/alpha/mcbus/mcbus.c	mcbus & dec_kn300
110
111device	mcmem
112attach	mcmem at mcbus
113file	arch/alpha/mcbus/mcmem.c	mcmem
114
115#
116# Bus-independent support for DEC devices
117#
118include "dev/dec/files.dec"
119
120#
121# TURBOchannel Devices
122#
123include "dev/tc/files.tc"
124
125# TC attachment is MD
126define	tcbus	{ }			# TURBOchannel attachment
127attach	tc at tcbus
128
129device	tcasic: tcbus
130attach	tcasic at mainbus
131file	arch/alpha/tc/tcasic.c		tcasic
132file	arch/alpha/tc/tc_bus_mem.c	tcasic
133file	arch/alpha/tc/tc_dma.c		tcasic
134file	arch/alpha/tc/tc_dma_3000_300.c	tcasic & dec_3000_300
135file	arch/alpha/tc/tc_dma_3000_500.c	tcasic & dec_3000_500
136file	arch/alpha/tc/tc_sgmap.c	tcasic & dec_3000_500
137file	arch/alpha/tc/tc_3000_500.c	tcasic & dec_3000_500
138file	arch/alpha/tc/tc_3000_300.c	tcasic & dec_3000_300
139
140# the TURBOchannel IOCTL ASIC
141#  IOASIC device and attachment defined in sys/dev/tc/files.tc
142file	arch/alpha/tc/ioasic.c		ioasic
143
144# TC and baseboard ioasic Lance ethernet are in files.tc
145
146#
147# ISA Bus support
148#
149
150include "dev/pci/files.pci"	# XXX some ISA devs are 'at pci' too.
151include "dev/pci/files.agp"
152include "dev/isa/files.isa"
153
154#
155# ISA Bus devices
156#
157
158file	arch/alpha/isa/isa_machdep.c	isa
159
160define	isadma_bounce
161file	arch/alpha/isa/isadma_bounce.c	isadma_bounce
162
163include "dev/pckbport/files.pckbport"
164
165# ISA speaker generates keyboard beep
166device isabeep
167attach isabeep at pcppi
168
169# Floppy disk controller
170device	fdc { drive = -1 }: isadma
171file	dev/isa/fd.c			fdc needs-flag
172
173attach	fdc at isa with fdc_isa
174file	dev/isa/fdc_isa.c		fdc_isa
175
176device	fd: disk
177attach	fd at fdc
178
179# ISA Plug 'n Play devices
180file	arch/alpha/isa/isapnp_machdep.c	isapnp
181
182#
183# EISA Bus support
184#
185
186include "dev/eisa/files.eisa"
187
188file	arch/alpha/eisa/eisa_machdep.c	eisa
189
190device	jensenio {[port = -1]}: eisabus, isabus, isadma_bounce
191attach	jensenio at mainbus
192file	arch/alpha/jensenio/jensenio.c		 jensenio
193file	arch/alpha/jensenio/jensenio_bus_intio.c jensenio
194file	arch/alpha/jensenio/jensenio_bus_io.c	 jensenio
195file	arch/alpha/jensenio/jensenio_bus_mem.c	 jensenio
196file	arch/alpha/jensenio/jensenio_dma.c	 jensenio
197file	arch/alpha/jensenio/jensenio_intr.c	 jensenio
198
199attach	com at jensenio with com_jensenio
200file	arch/alpha/jensenio/com_jensenio.c	com_jensenio
201
202attach	lpt at jensenio with lpt_jensenio
203file	arch/alpha/jensenio/lpt_jensenio.c	lpt_jensenio
204
205attach	pckbc at jensenio with pckbc_jensenio
206file	arch/alpha/jensenio/pckbc_jensenio.c	pckbc_jensenio
207
208#
209# PCI Bus support
210#
211
212# include "dev/pci/files.pci" XXX SEE ABOVE
213
214file	arch/alpha/pci/pciide_machdep.c		pciide_common
215
216define	alpha_pci_sgmap_pte32
217file	arch/alpha/pci/pci_sgmap_pte32.c	alpha_pci_sgmap_pte32
218
219define	alpha_pci_sgmap_pte64
220file	arch/alpha/pci/pci_sgmap_pte64.c	alpha_pci_sgmap_pte64
221
222device	apecs: pcibus, alpha_sgmap, alpha_pci_sgmap_pte64
223attach	apecs at mainbus
224file	arch/alpha/pci/apecs.c		apecs
225file	arch/alpha/pci/apecs_bus_io.c	apecs
226file	arch/alpha/pci/apecs_bus_mem.c	apecs
227file	arch/alpha/pci/apecs_dma.c	apecs
228file	arch/alpha/pci/apecs_pci.c	apecs
229
230device	cia: pcibus, alpha_sgmap, alpha_pci_sgmap_pte64
231attach	cia at mainbus
232file	arch/alpha/pci/cia.c		cia
233file	arch/alpha/pci/cia_dma.c	cia
234file	arch/alpha/pci/cia_pci.c	cia
235file	arch/alpha/pci/cia_bwx_bus_io.c cia
236file	arch/alpha/pci/cia_bwx_bus_mem.c cia
237file	arch/alpha/pci/cia_swiz_bus_io.c cia
238file	arch/alpha/pci/cia_swiz_bus_mem.c cia
239
240device	dwlpx: pcibus, alpha_sgmap, alpha_pci_sgmap_pte32
241attach	dwlpx at kft
242file	arch/alpha/pci/dwlpx.c		dwlpx
243file	arch/alpha/pci/dwlpx_bus_io.c	dwlpx
244file	arch/alpha/pci/dwlpx_bus_mem.c	dwlpx
245file	arch/alpha/pci/dwlpx_dma.c	dwlpx
246file	arch/alpha/pci/dwlpx_pci.c	dwlpx
247
248device	irongate: pcibus, agpbus, isadma_bounce
249attach	irongate at mainbus
250file	arch/alpha/pci/irongate.c		irongate
251file	arch/alpha/pci/irongate_bus_io.c	irongate
252file	arch/alpha/pci/irongate_bus_mem.c	irongate
253file	arch/alpha/pci/irongate_dma.c		irongate
254file	arch/alpha/pci/irongate_pci.c		irongate
255
256device	lca: pcibus, alpha_sgmap, alpha_pci_sgmap_pte64
257attach	lca at mainbus
258file	arch/alpha/pci/lca.c		lca
259file	arch/alpha/pci/lca_bus_io.c	lca
260file	arch/alpha/pci/lca_bus_mem.c	lca
261file	arch/alpha/pci/lca_dma.c	lca
262file	arch/alpha/pci/lca_pci.c	lca
263
264device	mcpcia: pcibus, alpha_sgmap, alpha_pci_sgmap_pte64
265attach	mcpcia at mcbus
266file	arch/alpha/pci/mcpcia.c		mcpcia
267file	arch/alpha/pci/mcpcia_bus_io.c	mcpcia
268file	arch/alpha/pci/mcpcia_bus_mem.c	mcpcia
269file	arch/alpha/pci/mcpcia_dma.c	mcpcia
270file	arch/alpha/pci/mcpcia_pci.c	mcpcia
271
272device	tsc { }
273attach	tsc at mainbus
274file	arch/alpha/pci/tsc.c		dec_6600
275
276device	tsp: pcibus, alpha_sgmap, alpha_pci_sgmap_pte64
277attach	tsp at tsc
278file	arch/alpha/pci/tsp_dma.c	tsp
279file	arch/alpha/pci/tsp_pci.c	tsp
280file	arch/alpha/pci/tsp_bus_io.c	tsp
281file	arch/alpha/pci/tsp_bus_mem.c	tsp
282
283device	tsciic: i2cbus, i2c_bitbang
284attach	tsciic at tsc
285file	arch/alpha/pci/tsciic.c	tsciic	needs-flag
286
287device	ttwoga { hose = -1 }
288attach	ttwoga at mainbus
289# identical to pcibus
290define	sableiobus {[bus = -1]}
291device	ttwopci: pcibus, sableiobus, alpha_sgmap, alpha_pci_sgmap_pte64
292attach	ttwopci at ttwoga
293file	arch/alpha/pci/ttwoga.c		ttwoga
294file	arch/alpha/pci/ttwoga_bus_io.c	ttwoga
295file	arch/alpha/pci/ttwoga_bus_mem.c	ttwoga
296file	arch/alpha/pci/ttwoga_dma.c	ttwoga
297file	arch/alpha/pci/ttwoga_pci.c	ttwoga
298
299#
300# Sable STDIO support
301#
302device	sableio { port = -1 }
303attach	sableio at sableiobus
304file	arch/alpha/sableio/sableio.c		sableio
305
306attach	com at sableio with com_sableio
307file	arch/alpha/sableio/com_sableio.c	com_sableio
308
309attach	lpt at sableio with lpt_sableio
310file	arch/alpha/sableio/lpt_sableio.c	lpt_sableio
311
312attach	pckbc at sableio with pckbc_sableio
313file	arch/alpha/sableio/pckbc_sableio.c	pckbc_sableio
314
315attach	fdc at sableio with fdc_sableio
316file	arch/alpha/sableio/fdc_sableio.c	fdc_sableio
317
318# CPU support files
319file	arch/alpha/alpha/dec_2000_300.c	dec_2000_300
320file	arch/alpha/pci/pci_2100_a50.c	dec_2100_a50
321file	arch/alpha/pci/pci_2100_a500.c	dec_2100_a500 | dec_2100a_a500
322file	arch/alpha/pci/pci_up1000.c	api_up1000
323file	arch/alpha/pci/pci_alphabook1.c	dec_alphabook1
324file	arch/alpha/pci/pci_axppci_33.c	dec_axppci_33
325file	arch/alpha/pci/pci_eb164.c	dec_eb164
326file	arch/alpha/pci/pci_eb164_intr.s	dec_eb164
327file	arch/alpha/pci/pci_eb64plus.c	dec_eb64plus
328file	arch/alpha/pci/pci_eb64plus_intr.s dec_eb64plus
329file	arch/alpha/pci/pci_eb66.c	dec_eb66
330file	arch/alpha/pci/pci_eb66_intr.s	dec_eb66
331file	arch/alpha/pci/pci_kn20aa.c	dec_kn20aa
332file	arch/alpha/pci/pci_kn8ae.c	dec_kn8ae
333file	arch/alpha/pci/pci_kn300.c	dec_kn300
334file	arch/alpha/pci/pci_550.c	dec_550
335file	arch/alpha/pci/pci_1000a.c	dec_1000a
336file	arch/alpha/pci/pci_1000.c	dec_1000
337file	arch/alpha/pci/pci_6600.c	dec_6600
338
339
340#
341# PCI Bus devices
342#
343
344file	arch/alpha/pci/pci_machdep.c	pci
345file	arch/alpha/pci/agp_machdep.c	agp
346
347device	sio: isabus, alpha_shared_intr, cy82c693
348attach	sio at pci
349device	pceb: isabus, eisabus, cy82c693, alpha_shared_intr
350attach	pceb at pci
351file	arch/alpha/pci/sio.c		sio | pceb	needs-flag
352file	arch/alpha/pci/sio_pic.c	sio | pceb
353
354#
355# Devices that can live on multiple busses
356#
357
358device	mcclock: mc146818
359attach	mcclock at ioasic with mcclock_ioasic
360attach	mcclock at isa with mcclock_isa
361attach	mcclock at gbus with mcclock_tlsb
362attach	mcclock at jensenio with mcclock_jensenio
363file	arch/alpha/alpha/mcclock.c	mcclock
364file	arch/alpha/tc/mcclock_ioasic.c	mcclock_ioasic
365file	arch/alpha/isa/mcclock_isa.c	mcclock_isa
366file	arch/alpha/tlsb/mcclock_tlsb.c	mcclock_tlsb
367file	arch/alpha/jensenio/mcclock_jensenio.c	mcclock_jensenio
368
369
370#
371# Standard files
372#
373file	arch/alpha/alpha/autoconf.c
374file	arch/alpha/alpha/clock.c
375file	arch/alpha/alpha/core_machdep.c		coredump
376file	arch/alpha/alpha/cpuconf.c
377file	arch/alpha/alpha/interrupt.c
378file	arch/alpha/alpha/ipifuncs.c		multiprocessor
379file	arch/alpha/alpha/kobj_machdep.c		modular
380file	arch/alpha/alpha/machdep.c
381file	arch/alpha/alpha/mainbus.c
382file	arch/alpha/alpha/patch.c
383file	arch/alpha/alpha/pmap.c
384file	arch/alpha/alpha/process_machdep.c
385file	arch/alpha/alpha/procfs_machdep.c	procfs
386file	arch/alpha/alpha/prom.c
387file	arch/alpha/alpha/sys_machdep.c
388file	arch/alpha/alpha/syscall.c
389file	arch/alpha/alpha/trap.c
390file	arch/alpha/alpha/fp_complete.c
391file	arch/alpha/alpha/vm_machdep.c
392file	arch/alpha/alpha/disksubr.c
393file	arch/alpha/common/bus_dma.c
394file	arch/alpha/common/comlogout.c
395file	dev/cons.c
396file	kern/kern_cctr.c
397
398file	dev/bus_dma/bus_dmamem_common.c
399
400# PROM console support (for ports that don't have native console support)
401file	arch/alpha/alpha/promcons.c
402
403# CPU support
404file	arch/alpha/alpha/dec_2100_a50.c		dec_2100_a50
405file	arch/alpha/alpha/dec_2100_a500.c	dec_2100_a500 | dec_2100a_a500
406file	arch/alpha/alpha/dec_3000_300.c		dec_3000_300
407file	arch/alpha/alpha/dec_3000_500.c		dec_3000_500
408file	arch/alpha/alpha/dec_550.c		dec_550
409file	arch/alpha/alpha/dec_alphabook1.c	dec_alphabook1
410file	arch/alpha/alpha/dec_axppci_33.c	dec_axppci_33
411file	arch/alpha/alpha/dec_eb164.c		dec_eb164
412file	arch/alpha/alpha/dec_eb64plus.c		dec_eb64plus
413file	arch/alpha/alpha/dec_eb66.c		dec_eb66
414file	arch/alpha/alpha/dec_kn20aa.c		dec_kn20aa
415file	arch/alpha/alpha/dec_kn8ae.c		dec_kn8ae
416file	arch/alpha/alpha/dec_kn300.c		dec_kn300
417file	arch/alpha/alpha/api_up1000.c		api_up1000
418file	arch/alpha/alpha/dec_1000a.c		dec_1000 | dec_1000a
419file	arch/alpha/alpha/dec_6600.c		dec_6600
420
421# Kernel debugger support
422file	arch/alpha/alpha/db_disasm.c		ddb
423file	arch/alpha/alpha/db_interface.c		ddb
424file	arch/alpha/alpha/db_trace.c		ddb
425
426file	arch/alpha/alpha/kgdb_machdep.c		kgdb
427
428# Binary compatibility with previous NetBSD releases (COMPAT_XX)
429file	arch/alpha/alpha/compat_13_machdep.c	compat_13
430file	arch/alpha/alpha/compat_16_machdep.c	compat_16
431
432# Linux Binary Compatibility (COMPAT_LINUX)
433include "compat/linux/files.linux"
434include "compat/linux/arch/alpha/files.linux_alpha"
435file	arch/alpha/alpha/linux_sigcode.s	compat_linux
436file	arch/alpha/alpha/linux_syscall.c	compat_linux
437file	arch/alpha/alpha/linux_trap.c		compat_linux
438
439# Lock stubs
440file	arch/alpha/alpha/lock_stubs.s
441
442# OSS audio driver compatibility
443include "compat/ossaudio/files.ossaudio"
444
445# XXXX pcic here because it needs to be late.  The catch: pcic needs
446# to be late, so devices which attach to it are attached late.  But it
447# needs to be before its isa and pci attachments.  This answer is
448# non-optimal, but I don't have a better answer right now.
449
450# PCIC pcmcia controller
451# XXX this needs to be done very late, so it's done here.  This feels
452# like a kludge, but it might be for the best.
453
454defparam	PCIC_ISA_ALLOC_IOBASE
455defparam	PCIC_ISA_ALLOC_IOSIZE
456defparam	PCIC_ISA_INTR_ALLOC_MASK
457
458device	pcic: pcmciabus
459file	dev/ic/i82365.c			pcic
460
461# PCIC pcmcia controller on ISA bus.
462attach	pcic at isa with pcic_isa
463file	dev/isa/i82365_isa.c		pcic_isa
464
465# PCIC pcmcia controller on PCI bus.
466attach	pcic at pci with pcic_pci
467file	dev/pci/i82365_pci.c		pcic_pci
468
469# PCIC pcmcia controller on PnP board
470attach pcic at isapnp with pcic_isapnp
471file	dev/isapnp/i82365_isapnp.c	pcic_isapnp
472
473# Code common to ISA and ISAPnP attachments
474file	dev/isa/i82365_isasubr.c	pcic_isa | pcic_isapnp | pcic_pci
475
476
477# this wants to be probed as late as possible.
478#
479# Machine-independent PCMCIA drivers
480#
481include "dev/pcmcia/files.pcmcia"
482#
483# Machine-independent USB device support
484#
485include "dev/usb/files.usb"
486#
487# Machine-independent Bluetooth support
488#
489include "dev/bluetooth/files.bluetooth"
490#
491# Machine-independent IEEE 1394 device support
492#
493include "dev/ieee1394/files.ieee1394"
494
495include	"arch/alpha/conf/majors.alpha"
496