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