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