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