files.alpha revision 1.109
1# $NetBSD: files.alpha,v 1.109 2000/03/14 15:56:51 oster 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
11defopt	DEC_2000_300	# "Jensen":	2000/300 (DECpc AXP 150)
12defopt	DEC_2100_A50	# Avanti etc:	AlphaStation 400, 200, etc.
13defopt	DEC_2100_A500	# Sable etc:	AlphaServer 2100
14defopt	DEC_3000_300	# Pelican etc:	3000/300*
15defopt	DEC_3000_500	# Flamingo etc:	3000/[4-9]00*
16defopt	DEC_550		# Miata:	Personal Workstation (550)
17defopt	DEC_AXPPCI_33	# NoName:	AXPpci33, etc.
18defopt	DEC_EB164	# EB164:	AlphaPC 164
19defopt	DEC_EB64PLUS	# EB64+:	AlphaPC 64, etc.
20defopt	DEC_KN20AA	# KN20AA:	AlphaStation 500 and 600
21defopt	DEC_KN8AE	# KN8AE:	AlphaServer 8200 and 8400
22defopt	DEC_KN300	# KN300:	AlphaServer 4X00
23defopt	AVALON_A12	# Avalon:	A12T1, A12M Parallel Supercomputer
24defopt	DEC_1000	# Mikasa etc:	AlphaServer 1000
25defopt	DEC_1000A	# Corelle etc:	AlphaServer 800 and 1000A
26defopt	DEC_ALPHABOOK1	# AlphaBook1:	Tadpole/DEC AlphaBook
27defopt	DEC_EB66	# EB66:		21066 Evaluation Board
28defopt	DEC_6600	# EV6		Various EV6 Systems
29
30# Miscellaneous CPU-specific option headers
31defopt	FIX_UNALIGNED_VAX_FP
32defopt	ZS_IOASIC_DMA
33
34# XXX Temporary, until integration is finished.
35defopt	NEW_SCC_DRIVER
36
37# realtime clock compatible to OSF/1
38defopt	CLOCK_COMPAT_OSF1
39
40# this loses, but there's no way to define attributes which have attributes
41define	alpha_shared_intr
42file	arch/alpha/common/shared_intr.c	alpha_shared_intr | dec_eb164 |
43					dec_eb64plus | dec_kn20aa | dec_kn8ae |
44					dec_kn300 | dec_550 | dec_1000 |
45					dec_1000a | dec_eb66 | dec_6600
46define	alpha_sgmap
47file	arch/alpha/common/sgmap_common.c alpha_sgmap | dec_3000_500
48
49#
50# Bus-independent devices
51#
52
53device	mainbus { }			# no locators (yet?)
54attach	mainbus at root
55
56device	cpu { }				# not really optional
57attach	cpu at mainbus
58file	arch/alpha/alpha/cpu.c		cpu
59
60#
61# Machine-independent MII/PHY drivers.
62#
63
64include "dev/mii/files.mii"
65
66#
67# Machine-independent SCSI drivers
68#
69
70include "dev/scsipi/files.scsipi"
71major { cd = 3 }
72major { sd = 8 }
73
74#
75# Machine-independent ATA drivers
76#
77
78include "dev/ata/files.ata"
79major { wd = 4 }
80
81# Memory Disk
82file	arch/alpha/alpha/md_root.c	memory_disk_hooks
83major { md = 6 }
84
85# RAIDframe 
86major { raid = 16 }
87
88# Raster operations
89include "dev/rasops/files.rasops"
90include "dev/wsfont/files.wsfont"
91
92#
93# "Workstation Console" glue.
94#
95include "dev/wscons/files.wscons"
96
97
98#
99# TurboLaser Bus Support
100#
101
102device	tlsb { node = -1, offset = -1 }
103attach	tlsb at mainbus
104file	arch/alpha/tlsb/tlsb.c		tlsb & dec_kn8ae
105
106device	kft { }
107attach	kft at tlsb
108file	arch/alpha/tlsb/kftxx.c		kft
109
110device	tlsbmem
111attach	tlsbmem at tlsb
112file	arch/alpha/tlsb/tlsbmem.c	tlsbmem
113
114device	gbus { offset = -1 }
115attach	gbus at tlsb
116file	arch/alpha/tlsb/gbus.c		gbus
117
118#
119# MCBUS support
120#
121
122device	mcbus { mid = -1 }
123attach	mcbus at mainbus
124file	arch/alpha/mcbus/mcbus.c	mcbus & dec_kn300
125
126device	mcmem
127attach	mcmem at mcbus
128file	arch/alpha/mcbus/mcmem.c	mcmem
129
130#
131# Bus-independent support for DEC devices
132#
133include "dev/dec/files.dec"
134
135#
136# TURBOchannel Devices
137#
138include "dev/tc/files.tc"
139
140# TC attachment is MD
141attach	tc at tcbus
142
143device	tcasic: tcbus
144attach	tcasic at mainbus
145file	arch/alpha/tc/tcasic.c		tcasic
146file	arch/alpha/tc/tc_bus_mem.c	tcasic
147file	arch/alpha/tc/tc_dma.c		tcasic
148file	arch/alpha/tc/tc_dma_3000_300.c	tcasic & dec_3000_300
149file	arch/alpha/tc/tc_dma_3000_500.c	tcasic & dec_3000_500
150file	arch/alpha/tc/tc_sgmap.c	tcasic & dec_3000_500
151file	arch/alpha/tc/tc_3000_500.c	tcasic & dec_3000_500
152file	arch/alpha/tc/tc_3000_300.c	tcasic & dec_3000_300
153
154# the TURBOchannel IOCTL ASIC
155#  IOASIC device and attachment defined in sys/dev/tc/files.tc
156file	arch/alpha/tc/ioasic.c		ioasic
157
158# Color Frame buffer
159device	cfb: wsemuldisplaydev, wsrasteremulops
160attach	cfb at tc
161file	arch/alpha/tc/cfb.c		cfb		needs-flag
162
163# Smart Frame buffer
164device	sfb: wsemuldisplaydev, rasops8
165attach	sfb at tc
166file	dev/tc/sfb.c			sfb		needs-flag
167
168# 8530 UARTs
169device	scc: tty
170attach	scc at ioasic
171file	arch/alpha/tc/scc.c		scc		needs-count
172
173# 8530 UARTs using the MI 8530 driver   
174device	zsc { channel = -1 }
175attach	zsc at ioasic with zsc_ioasic
176file	arch/alpha/tc/zs_ioasic.c	zsc_ioasic
177file	dev/ic/z8530sc.c		zsc
178
179device	zstty: tty
180attach	zstty at zsc
181file	dev/ic/z8530tty.c		zstty		needs-flag
182
183device	vsms: wsmousedev
184attach	vsms at zsc with zsms
185file	dev/dec/zsms.c			zsms
186
187device	lkkbd: wskbddev
188attach	lkkbd at zsc with zskbd
189file	dev/dec/zskbd.c			zskbd		needs-flag
190
191# the TCDS ASIC
192device	tcds { chip = -1 }
193attach	tcds at tc
194file	arch/alpha/tc/tcds.c		tcds
195
196# 53C[F]90 SCSI
197device	asc: scsi, ncr53c9x
198attach	asc at tcds with asc_tcds
199file	arch/alpha/tc/asc.c		asc
200file	arch/alpha/tc/tcds_dma.c	asc
201
202# TC and baseboard ioasic Lance ethernet are in files.tc
203
204#
205# ISA Bus support
206#
207
208include "dev/pci/files.pci"	# XXX some ISA devs are 'at pci' too.
209include "dev/isa/files.isa"
210
211#file	arch/alpha/isa/isafcns_jensen.c	dec_2000_300
212
213#
214# ISA Bus devices
215#
216
217#device	ibus at mainbus { }
218#device	jcombo at ibus: isabus
219#device	jeisa at ibus: eisabus
220
221file	arch/alpha/isa/isa_machdep.c	isa
222
223include "dev/pckbc/files.pckbc"
224
225# ISA speaker generates keyboard beep
226device isabeep
227attach isabeep at pcppi
228
229# Floppy disk controller
230device	fdc { drive = -1 }
231attach	fdc at isa
232device	fd: disk, isadma
233attach	fd at fdc
234file	arch/alpha/isa/fd.c		fdc needs-flag
235major	{ fd = 0 }
236
237# ISA Plug 'n Play devices
238file	arch/alpha/isa/isapnp_machdep.c	isapnp
239
240#
241# EISA Bus support
242#
243
244include "dev/eisa/files.eisa"
245
246
247#
248# PCI Bus support
249#
250
251# include "dev/pci/files.pci" XXX SEE ABOVE
252
253file	arch/alpha/pci/pciide_machdep.c		pciide
254
255define	alpha_pci_sgmap_pte32
256file	arch/alpha/pci/pci_sgmap_pte32.c	alpha_pci_sgmap_pte32
257
258define	alpha_pci_sgmap_pte64
259file	arch/alpha/pci/pci_sgmap_pte64.c	alpha_pci_sgmap_pte64
260
261device	apecs: pcibus, alpha_sgmap, alpha_pci_sgmap_pte64
262attach	apecs at mainbus
263file	arch/alpha/pci/apecs.c		apecs
264file	arch/alpha/pci/apecs_bus_io.c	apecs
265file	arch/alpha/pci/apecs_bus_mem.c	apecs
266file	arch/alpha/pci/apecs_dma.c	apecs
267file	arch/alpha/pci/apecs_pci.c	apecs
268
269device	cia: pcibus, alpha_sgmap, alpha_pci_sgmap_pte64
270attach	cia at mainbus
271file	arch/alpha/pci/cia.c		cia
272file	arch/alpha/pci/cia_dma.c	cia
273file	arch/alpha/pci/cia_pci.c	cia
274file	arch/alpha/pci/cia_bwx_bus_io.c cia
275file	arch/alpha/pci/cia_bwx_bus_mem.c cia
276file	arch/alpha/pci/cia_swiz_bus_io.c cia
277file	arch/alpha/pci/cia_swiz_bus_mem.c cia
278
279device	a12c { }: pcibus
280attach	a12c at mainbus
281file	arch/alpha/pci/a12c.c		a12c
282file	arch/alpha/pci/a12c_bus_mem.c	a12c
283file	arch/alpha/pci/a12c_dma.c	a12c
284file	arch/alpha/pci/a12c_pci.c	a12c
285
286device	dwlpx: pcibus, alpha_sgmap, alpha_pci_sgmap_pte32
287attach	dwlpx at kft
288file	arch/alpha/pci/dwlpx.c		dwlpx
289file	arch/alpha/pci/dwlpx_bus_io.c	dwlpx
290file	arch/alpha/pci/dwlpx_bus_mem.c	dwlpx
291file	arch/alpha/pci/dwlpx_dma.c	dwlpx
292file	arch/alpha/pci/dwlpx_pci.c	dwlpx
293
294device	lca: pcibus, alpha_sgmap, alpha_pci_sgmap_pte64
295attach	lca at mainbus
296file	arch/alpha/pci/lca.c		lca
297file	arch/alpha/pci/lca_bus_io.c	lca
298file	arch/alpha/pci/lca_bus_mem.c	lca
299file	arch/alpha/pci/lca_dma.c	lca
300file	arch/alpha/pci/lca_pci.c	lca
301
302device	mcpcia: pcibus, alpha_sgmap, alpha_pci_sgmap_pte64
303attach	mcpcia at mcbus
304file	arch/alpha/pci/mcpcia.c		mcpcia
305file	arch/alpha/pci/mcpcia_bus_io.c	mcpcia
306file	arch/alpha/pci/mcpcia_bus_mem.c	mcpcia
307file	arch/alpha/pci/mcpcia_dma.c	mcpcia
308file	arch/alpha/pci/mcpcia_pci.c	mcpcia
309
310device	tsc { }
311attach	tsc at mainbus
312file	arch/alpha/pci/tsc.c		dec_6600
313
314device	tsp: pcibus, alpha_sgmap, alpha_pci_sgmap_pte64
315attach	tsp at tsc
316file	arch/alpha/pci/tsp_dma.c	tsp
317file	arch/alpha/pci/tsp_pci.c	tsp
318file	arch/alpha/pci/tsp_bus_io.c	tsp
319file	arch/alpha/pci/tsp_bus_mem.c	tsp
320
321device	ttwoga { hose = -1 }
322attach	ttwoga at mainbus
323device	ttwopci: pcibus, alpha_sgmap, alpha_pci_sgmap_pte64
324attach	ttwopci at ttwoga
325file	arch/alpha/pci/ttwoga.c		ttwoga
326file	arch/alpha/pci/ttwoga_bus_io.c	ttwoga
327file	arch/alpha/pci/ttwoga_bus_mem.c	ttwoga
328file	arch/alpha/pci/ttwoga_dma.c	ttwoga
329file	arch/alpha/pci/ttwoga_pci.c	ttwoga
330
331#
332# Sable STDIO support
333#
334device	sableio { port = -1 }
335attach	sableio at pcibus
336file	arch/alpha/sableio/sableio.c		sableio
337
338attach	com at sableio with com_sableio
339file	arch/alpha/sableio/com_sableio.c	com_sableio
340
341attach	lpt at sableio with lpt_sableio
342file	arch/alpha/sableio/lpt_sableio.c	lpt_sableio
343
344attach	pckbc at sableio with pckbc_sableio
345file	arch/alpha/sableio/pckbc_sableio.c	pckbc_sableio
346
347#attach	fdc at sableio with fdc_sableio
348#file	arch/alpha/sableio/fdc_sableio.c	fdc_sableio
349
350# CPU support files
351file	arch/alpha/pci/pci_2100_a50.c	dec_2100_a50
352file	arch/alpha/pci/pci_2100_a500.c	dec_2100_a500
353file	arch/alpha/pci/pci_a12.c	avalon_a12
354file	arch/alpha/pci/pci_alphabook1.c	dec_alphabook1
355file	arch/alpha/pci/pci_axppci_33.c	dec_axppci_33
356file	arch/alpha/pci/pci_eb164.c	dec_eb164
357file	arch/alpha/pci/pci_eb164_intr.s	dec_eb164
358file	arch/alpha/pci/pci_eb64plus.c	dec_eb64plus
359file	arch/alpha/pci/pci_eb64plus_intr.s dec_eb64plus
360file	arch/alpha/pci/pci_eb66.c	dec_eb66
361file	arch/alpha/pci/pci_eb66_intr.s	dec_eb66
362file	arch/alpha/pci/pci_kn20aa.c	dec_kn20aa
363file	arch/alpha/pci/pci_kn8ae.c	dec_kn8ae
364file	arch/alpha/pci/pci_kn300.c	dec_kn300
365file	arch/alpha/pci/pci_550.c	dec_550
366file	arch/alpha/pci/pci_1000a.c	dec_1000a
367file	arch/alpha/pci/pci_1000.c	dec_1000
368file	arch/alpha/pci/pci_6600.c	dec_6600
369
370
371#
372# PCI Bus devices
373#
374
375file	arch/alpha/pci/pci_machdep.c	pci
376
377device	sio: isabus, alpha_shared_intr
378attach	sio at pci
379device	pceb: isabus, eisabus
380attach	pceb at pci
381file	arch/alpha/pci/sio.c		sio | pceb	needs-flag
382file	arch/alpha/pci/sio_pic.c	sio | pceb
383
384
385#
386# A12 if_de hack
387#
388device	ade: ether, ifnet, arp
389attach	ade at pci
390file	arch/alpha/a12/if_ade.c		ade
391
392#
393# alpha/a12 platform-specific drivers
394#
395
396# Switch
397
398device	xb
399attach	xb at a12c
400file	arch/alpha/a12/if_xb.c	xb
401
402# Console
403
404device	a12dc
405attach	a12dc at a12c
406file	arch/alpha/a12/a12dc.c	a12dc		needs-flag
407
408#
409# Devices that can live on multiple busses
410#
411
412device	mcclock
413attach	mcclock at ioasic with mcclock_ioasic
414attach	mcclock at isa with mcclock_isa
415attach	mcclock at gbus with mcclock_tlsb
416file	arch/alpha/alpha/mcclock.c	mcclock
417file	arch/alpha/tc/mcclock_ioasic.c	mcclock_ioasic
418file	arch/alpha/isa/mcclock_isa.c	mcclock_isa
419file	arch/alpha/tlsb/mcclock_tlsb.c	mcclock_tlsb
420
421
422#
423# Standard files
424#
425file	arch/alpha/alpha/autoconf.c
426file	arch/alpha/alpha/clock.c
427file	dev/clock_subr.c
428file	arch/alpha/alpha/conf.c
429file	arch/alpha/alpha/cpuconf.c
430file	arch/alpha/alpha/interrupt.c
431file	arch/alpha/alpha/ipifuncs.c		multiprocessor
432file	arch/alpha/alpha/machdep.c
433file	arch/alpha/alpha/mainbus.c
434file	arch/alpha/alpha/mem.c
435file	arch/alpha/alpha/pmap.c
436file	arch/alpha/alpha/process_machdep.c
437file	arch/alpha/alpha/prom.c
438file	arch/alpha/alpha/support.c
439file	arch/alpha/alpha/sys_machdep.c
440file	arch/alpha/alpha/trap.c
441file	arch/alpha/alpha/vm_machdep.c
442file	arch/alpha/alpha/disksubr.c
443file	arch/alpha/common/bus_dma.c
444file	arch/alpha/common/comlogout.c
445file	dev/cons.c
446
447# Network protocol checksum routines
448file	arch/alpha/alpha/in_cksum.c		inet
449file	netinet/in4_cksum.c			inet
450file	netns/ns_cksum.c			ns
451
452# PROM console support (for ports that don't have native console support)
453file	arch/alpha/alpha/promcons.c
454
455# CPU support
456file	arch/alpha/alpha/dec_2100_a50.c		dec_2100_a50
457file	arch/alpha/alpha/dec_2100_a500.c	dec_2100_a500
458file	arch/alpha/alpha/dec_3000_300.c		dec_3000_300
459file	arch/alpha/alpha/dec_3000_500.c		dec_3000_500
460file	arch/alpha/alpha/dec_550.c		dec_550
461file	arch/alpha/alpha/dec_alphabook1.c	dec_alphabook1
462file	arch/alpha/alpha/dec_axppci_33.c	dec_axppci_33
463file	arch/alpha/alpha/dec_eb164.c		dec_eb164
464file	arch/alpha/alpha/dec_eb64plus.c		dec_eb64plus
465file	arch/alpha/alpha/dec_eb66.c		dec_eb66
466file	arch/alpha/alpha/dec_kn20aa.c		dec_kn20aa
467file	arch/alpha/alpha/dec_kn8ae.c		dec_kn8ae
468file	arch/alpha/alpha/dec_kn300.c		dec_kn300
469file	arch/alpha/alpha/avalon_a12.c		avalon_a12
470file	arch/alpha/alpha/dec_1000a.c		dec_1000 | dec_1000a
471file	arch/alpha/alpha/dec_6600.c		dec_6600
472
473# Kernel debugger support
474file	arch/alpha/alpha/db_disasm.c		ddb
475file	arch/alpha/alpha/db_interface.c		ddb
476file	arch/alpha/alpha/db_trace.c		ddb
477
478# Binary compatibility with previous NetBSD releases (COMPAT_XX)
479file	arch/alpha/alpha/compat_13_machdep.c	compat_13
480
481# OSF/1 Binary Compatibility (COMPAT_OSF1)
482include "compat/osf1/files.osf1"
483file	arch/alpha/alpha/osf1_locore.s		compat_osf1
484
485# Linux Binary Compatibility (COMPAT_LINUX)
486include "compat/linux/files.linux"
487include "compat/linux/arch/alpha/files.linux_alpha"
488
489# OSS audio driver compatibility
490include "compat/ossaudio/files.ossaudio"
491
492# XXXX pcic here because it needs to be late.  The catch: pcic needs
493# to be late, so devices which attach to it are attached late.  But it
494# needs to be before its isa and pci attachments.  This answer is
495# non-optimal, but I don't have a better answer right now.
496
497# PCIC pcmcia contoller
498# XXX this needs to be done very late, so it's done here.  This feels
499# like a kludge, but it might be for the best.
500
501defopt	PCIC_ISA_ALLOC_IOBASE
502defopt	PCIC_ISA_ALLOC_IOSIZE
503defopt	PCIC_ISA_INTR_ALLOC_MASK
504
505device	pcic: pcmciabus
506file	dev/ic/i82365.c			pcic
507
508# PCIC pcmcia controller on ISA bus.
509attach	pcic at isa with pcic_isa
510file	dev/isa/i82365_isa.c		pcic_isa
511
512# PCIC pcmcia controller on PCI bus.
513attach	pcic at pci with pcic_pci
514file	dev/pci/i82365_pci.c		pcic_pci
515
516# PCIC pcmcia controller on PnP board
517attach pcic at isapnp with pcic_isapnp
518file	dev/isapnp/i82365_isapnp.c	pcic_isapnp
519
520# Code common to ISA and ISAPnP attachments
521file	dev/isa/i82365_isasubr.c	pcic_isa | pcic_isapnp | pcic_pci
522
523
524# this wants to be probed as late as possible.
525#
526# Machine-independent PCMCIA drivers
527#
528include "dev/pcmcia/files.pcmcia"
529#
530# Machine-independent USB device support
531#
532include "dev/usb/files.usb"
533