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