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