1#	$NetBSD: files.sparc,v 1.164 2023/10/26 10:41:03 andvar Exp $
2
3# @(#)files.sparc	8.1 (Berkeley) 7/19/93
4# sparc-specific configuration info
5
6defflag	opt_sparc_arch.h	SUN4
7defflag	opt_sparc_arch.h	SUN4_MMU3L
8defflag	opt_sparc_arch.h	SUN4C
9defflag	opt_sparc_arch.h	SUN4M
10defflag	opt_sparc_arch.h	SUN4D
11defflag	opt_sparc_arch.h	SUN4U
12defflag	opt_sparc_arch.h	MSIIEP
13
14# maxpartitions must be first item in files.${ARCH}
15maxpartitions 8
16
17maxusers 2 8 1024
18
19device mainbus {}
20attach mainbus at root
21
22device msiiep {}
23attach msiiep at mainbus
24
25include "dev/i2o/files.i2o"
26include "dev/pci/files.pci"
27device mspcic: pcibus
28attach mspcic at msiiep
29file	arch/sparc/sparc/msiiep.c		msiiep | mspcic
30file	arch/sparc/sparc/pci_machdep.c		msiiep | mspcic
31file	arch/sparc/sparc/pci_fixup.c		msiiep | mspcic
32
33device ebus {[addr = -1]}
34attach ebus at pci
35file	arch/sparc/dev/ebus.c			ebus
36
37device rtc
38attach rtc at ebus with rtc_ebus
39file	arch/sparc/dev/rtc.c			rtc_ebus
40
41device iommu {}
42attach iommu at mainbus
43file	arch/sparc/sparc/iommu.c		iommu
44
45device obio { [addr = -1], [level = -1] }
46attach obio at mainbus
47
48device cpuunit { }
49attach cpuunit at mainbus
50file	arch/sparc/sparc/cpuunit.c		cpuunit
51
52device bootbus { [slot = -1], [offset = -1] }
53attach bootbus at cpuunit
54file	arch/sparc/dev/bootbus.c		bootbus
55
56include "dev/vme/files.vme"
57device sparcvme: vmebus
58attach sparcvme at mainbus with vme_mainbus
59attach sparcvme at iommu with vme_iommu
60
61file	arch/sparc/dev/obio.c		obio
62file	arch/sparc/dev/vme_machdep.c	sparcvme
63
64device auxreg
65attach auxreg at mainbus with auxreg_mainbus
66attach auxreg at obio with auxreg_obio
67file	arch/sparc/sparc/auxreg.c
68
69defflag	BLINK
70
71device auxiotwo
72attach auxiotwo at obio with auxiotwo_obio
73file	arch/sparc/sparc/auxiotwo.c
74
75device clock: mk48txx
76attach clock at mainbus with clock_mainbus
77attach clock at obio with clock_obio
78attach clock at bootbus with clock_bootbus
79file	arch/sparc/sparc/mkclock.c		clock
80
81device oclock: intersil7170
82attach oclock at obio
83file	arch/sparc/sparc/oclock.c		oclock
84
85device timer
86attach timer at mainbus with timer_mainbus
87attach timer at obio with timer_obio
88attach timer at msiiep with timer_msiiep
89file	arch/sparc/sparc/timer.c		timer & !msiiep
90file	arch/sparc/sparc/timer_sun4.c		timer & (sun4 | sun4c)
91file	arch/sparc/sparc/timer_sun4m.c		timer & sun4m & !msiiep
92file	arch/sparc/sparc/timer_msiiep.c		timer & msiiep
93
94device eeprom
95attach eeprom at obio
96file	arch/sparc/sparc/eeprom.c		eeprom
97
98file	arch/sparc/sparc/clock.c
99
100device power
101attach power at obio
102file	arch/sparc/dev/power.c			power	needs-flag
103
104device cpu
105attach cpu at mainbus with cpu_mainbus
106attach cpu at cpuunit with cpu_cpuunit
107file	arch/sparc/sparc/cpu.c
108
109device clkctrl
110attach clkctrl at obio
111file	arch/sparc/sparc/clkctrl.c		clkctrl
112
113device memreg
114attach memreg at mainbus with memreg_mainbus
115attach memreg at obio with memreg_obio
116file	arch/sparc/sparc/memreg.c
117
118device eccmemctl
119attach eccmemctl at mainbus
120file	arch/sparc/sparc/memecc.c		eccmemctl
121
122device sx {}
123attach sx at mainbus
124file	arch/sparc/dev/sx.c			sx needs-flag
125defflag	opt_sx.h	SX_DEBUG
126
127device tctrl: sysmon_envsys, sysmon_power, sysmon_taskq
128attach tctrl at obio
129file	arch/sparc/dev/tctrl.c			tctrl needs-flag
130
131include "dev/sun/files.sun"
132
133device zs { [channel = -1] }
134attach zs at mainbus with zs_mainbus
135attach zs at obio with zs_obio
136attach zs at bootbus with zs_bootbus
137file	arch/sparc/dev/zs.c			zs
138file	dev/ic/z8530sc.c			zs
139
140device zstty {}: tty
141attach zstty at zs
142file dev/ic/z8530tty.c				zstty
143file arch/sparc/dev/zs_kgdb.c			kgdb
144
145device fdc {}
146attach fdc at mainbus with fdc_mainbus
147attach fdc at obio with fdc_obio
148device fd: disk
149attach fd at fdc
150file	arch/sparc/dev/fd.c			fdc | fd needs-flag
151file	arch/sparc/sparc/bsd_fdintr.s		fdc
152
153include "dev/sbus/files.sbus"
154attach sbus at mainbus with sbus_mainbus
155attach sbus at iommu with sbus_iommu
156file	arch/sparc/dev/sbus.c			sbus needs-flag
157
158attach	audiocs at ebus with audiocs_ebus
159file	dev/ebus/cs4231_ebus.c			audiocs_ebus
160
161device tslot: pcmciabus
162attach tslot at sbus
163file	arch/sparc/dev/ts102.c			tslot
164
165# PCMCIA bus
166include "dev/pcmcia/files.pcmcia"
167include "dev/ata/files.ata"
168
169#
170# Console related stuff
171#
172
173file	arch/sparc/dev/kd.c				# console
174
175attach pckbc at obio with pckbc_obio: pckbport_machdep_cnattach
176attach pckbc at ebus with pckbc_ebus: pckbport_machdep_cnattach
177file	arch/sparc/dev/pckbc_js.c	pckbc_obio | pckbc_ebus
178
179
180# sun keyboard at a serial port
181attach kbd at zs with kbd_zs
182file dev/sun/kbd_zs.c			kbd_zs		# kbd lower layer
183
184# sun keyboard at a tty line discipline
185# only used by sparc64, but we can test-compile it here
186attach kbd at zstty with kbd_tty
187file	dev/sun/sunkbd.c		kbd_tty		# kbd lower layer
188
189
190# shared middle layer for serial keyboard
191file	dev/sun/kbdsun.c		kbd_zs | kbd_tty # kbd middle layer
192
193# PC/AT keyboard at 8042 (pckbc) for Mr.Coffee
194attach kbd at pckbport with kbd_pckbport
195file	arch/sparc/dev/kbd_pckbport.c	kbd_pckbport	# kbd mid/lower layers
196
197
198# sun (mouse systems) mouse at a serial port
199attach ms at zs with ms_zs
200file	dev/sun/ms_zs.c			ms_zs		# mouse lower layer
201
202# sun (mouse systems) mouse at a tty line discipline
203# only used by sparc64, but we can test-compile it here
204attach ms at zstty with ms_tty
205file	dev/sun/sunms.c			ms_tty		# mouse lower layer
206
207# XXX: middle layer for sun (mouse systems) serial mice consists of
208# just one function in dev/sun/ms.c (upper layer).  Split it out?
209
210# PS/2 mouse at 8042 (pckbc) for Mr.Coffee
211attach ms at pckbport with ms_pckbport
212file	arch/sparc/dev/ms_pckbport.c	ms_pckbport	# lower/middle layers
213
214#
215# Stack-less Just-In-Time compiler
216#
217
218include	"external/bsd/sljit/conf/files.sljit"
219
220#
221# Machine-independent SCSI drivers
222#
223include "dev/scsipi/files.scsipi"
224
225attach dma at obio with dma_obio
226file	arch/sparc/dev/dma_obio.c	dma_obio
227
228attach esp at obio with esp_obio
229file	arch/sparc/dev/esp_obio.c	esp_obio
230
231device	audioamd: audiobus, am7930
232attach	audioamd at mainbus with audioamd_mainbus
233attach	audioamd at obio with audioamd_obio
234attach	audioamd at sbus with audioamd_sbus
235file	arch/sparc/dev/audioamd.c		audioamd
236
237device	apc
238attach	apc at sbus
239file	arch/sparc/dev/apc.c			apc
240
241attach bwtwo at obio with bwtwo_obio
242file	arch/sparc/dev/bwtwo_obio.c	bwtwo_obio & obio
243
244device cgtwo: fb, rasops8
245attach cgtwo at vme
246file	arch/sparc/dev/cgtwo.c		cgtwo needs-flag
247
248device cgfour: bt_dac, fb, rasops8, pfour
249attach cgfour at obio
250file	arch/sparc/dev/cgfour.c		cgfour needs-flag
251
252attach cgsix at obio with cgsix_obio
253file	arch/sparc/dev/cgsix_obio.c	cgsix_obio & obio
254
255device cgeight: bt_dac, fb, rasops24, pfour
256attach cgeight at obio
257file	arch/sparc/dev/cgeight.c	cgeight needs-flag
258
259device cgfourteen: fb, rasops8, wsemuldisplaydev, vcons, glyphcache
260attach cgfourteen at obio
261file	arch/sparc/dev/cgfourteen.c	cgfourteen needs-flag
262
263# device definition in sys/conf/files
264attach le at obio with le_obio: le24
265file	arch/sparc/dev/if_le_obio.c	le_obio
266
267attach ie at obio with ie_obio
268file	arch/sparc/dev/if_ie_obio.c	ie_obio
269
270attach com at obio with com_obio
271file	arch/sparc/dev/com_obio.c	com_obio
272
273attach com at ebus with com_ebus
274file	arch/sparc/dev/com_ebus.c	com_ebus
275
276device sw: scsi, ncr5380sbc
277attach sw at obio
278file	arch/sparc/dev/sw.c		sw
279
280#
281# Generic Sun stuff
282#
283
284file	dev/cons.c
285file	dev/sun/disksubr.c
286
287file	arch/sparc/fpu/fpu.c
288file	arch/sparc/fpu/fpu_add.c
289file	arch/sparc/fpu/fpu_compare.c
290file	arch/sparc/fpu/fpu_div.c
291file	arch/sparc/fpu/fpu_explode.c
292file	arch/sparc/fpu/fpu_implode.c
293file	arch/sparc/fpu/fpu_mul.c
294file	arch/sparc/fpu/fpu_sqrt.c
295file	arch/sparc/fpu/fpu_subr.c
296
297file	arch/sparc/sparc/autoconf.c
298file	arch/sparc/sparc/cache.c
299file	arch/sparc/sparc/core_machdep.c		coredump
300file	arch/sparc/sparc/cpu_in_cksum.c		(inet | inet6) & cpu_in_cksum
301file	arch/sparc/sparc/emul.c
302file	arch/sparc/sparc/intr.c
303file	arch/sparc/sparc/kgdb_machdep.c	kgdb
304file	arch/sparc/sparc/kobj_machdep.c		modular
305# sparc/sparc/locore.s is handled specially in the makefile,
306# because it must come first in the "ld" command line.
307file	arch/sparc/sparc/machdep.c
308file	arch/sparc/sparc/process_machdep.c
309file	arch/sparc/sparc/promlib.c
310file	arch/sparc/sparc/openfirm.c
311file	arch/sparc/sparc/openprom.c
312file	arch/sparc/sparc/procfs_machdep.c	procfs
313file	arch/sparc/sparc/pmap.c
314file	arch/sparc/sparc/syscall.c
315file	arch/sparc/sparc/sys_machdep.c
316file	arch/sparc/sparc/trap.c
317file	arch/sparc/sparc/vm_machdep.c
318
319file	arch/sparc/sparc/db_interface.c	ddb | kgdb
320file	arch/sparc/sparc/db_machdep.c	ddb | kgdb
321file	arch/sparc/sparc/db_trace.c	ddb
322file	arch/sparc/sparc/db_disasm.c	ddb
323
324include "dev/pckbport/files.pckbport"
325
326# USB Support
327include "dev/usb/files.usb"
328
329#
330# Compatibility modules
331#
332
333# SunOS Binary Compatibility (COMPAT_SUNOS)
334include "compat/sunos/files.sunos"
335file	arch/sparc/sparc/sunos_sigcode.s compat_sunos
336file	arch/sparc/sparc/sunos_machdep.c compat_sunos
337
338# Binary compatibility with previous NetBSD releases (COMPAT_XX)
339# Note: SunOS compatibility also uses some of `compat_13_machdep.c'
340file	arch/sparc/sparc/compat_16_machdep.c	compat_16
341file	arch/sparc/sparc/compat_13_machdep.c	compat_13 | compat_sunos
342
343# Miscellaneous
344file	dev/md_root.c			memory_disk_hooks
345
346include "arch/sparc/conf/majors.sparc"
347