1#	$NetBSD: files.sparc64,v 1.168 2025/10/04 15:32:42 thorpej Exp $
2
3# @(#)files.sparc64	8.1 (Berkeley) 7/19/93
4# sparc64-specific configuration info
5
6# maxpartitions must be first item in files.${ARCH}
7maxpartitions 8
8
9maxusers 2 8 1024
10
11defflag	opt_sparc_arch.h	SUN4U SUN4V
12
13define mainbus {}
14device mainbus: mainbus, ofw_subr
15attach mainbus at root
16
17define upa {}
18device upa: upa
19attach upa at mainbus
20file	arch/sparc64/dev/upa.c
21
22device pcons
23attach pcons at mainbus
24file	arch/sparc64/dev/pcons.c		pcons needs-flag
25
26include "dev/sun/files.sun"
27include "dev/i2o/files.i2o"
28
29include "dev/sbus/files.sbus"
30attach sbus at mainbus
31file	arch/sparc64/dev/sbus.c			sbus
32
33device	psycho: pcibus, sysmon_power, sysmon_taskq
34attach	psycho at mainbus
35device	schizo: pcibus
36attach	schizo at mainbus
37device	pyro: pcibus
38attach	pyro at mainbus
39device	vpci: pcibus
40attach	vpci at mainbus
41include "dev/pci/files.pci"
42file	arch/sparc64/dev/psycho.c		psycho needs-flag
43file	arch/sparc64/dev/schizo.c		schizo
44file	arch/sparc64/dev/pyro.c			pyro
45file	arch/sparc64/dev/vpci.c			vpci
46file	arch/sparc64/dev/pci_machdep.c		psycho | schizo | pyro | vpci
47
48device jbusi2c: i2cexec, i2c_bitbang, i2cbus
49attach jbusi2c at mainbus
50file	arch/sparc64/dev/jbus-i2c.c		jbusi2c
51
52define  central {}
53device	central: central
54attach	central at mainbus
55file	arch/sparc64/dev/central.c		central
56
57define  fhc {}
58device	fhc: fhc
59attach	fhc at mainbus with fhc_mainbus
60attach	fhc at central with fhc_central
61file	arch/sparc64/dev/fhc.c			fhc
62file	arch/sparc64/dev/fhc_central.c		fhc_central
63file	arch/sparc64/dev/fhc_mainbus.c		fhc_mainbus
64
65# IOMMU is for both
66file	arch/sparc64/dev/iommu.c		sbus | psycho | schizo | pyro | vpci
67
68include "dev/ata/files.ata"
69
70device ebus {[addr = -1]}
71attach ebus at pci
72file	arch/sparc64/dev/ebus.c			ebus
73attach ebus at mainbus with ebus_mainbus
74file	arch/sparc64/dev/ebus_mainbus.c		ebus_mainbus
75
76device	vbus {}
77attach	vbus at mainbus
78file	arch/sparc64/dev/vbus.c			vbus
79
80device	cbus {}
81attach	cbus at vbus
82file	arch/sparc64/dev/cbus.c			cbus
83
84device clock: mk48txx
85attach clock at sbus with mkclock_sbus
86attach clock at ebus with mkclock_ebus
87attach clock at fhc with mkclock_fhc
88file	arch/sparc64/dev/mkclock.c		clock
89
90device rtc: mc146818
91attach rtc at ebus with rtc_ebus
92file	arch/sparc64/dev/rtc.c			rtc
93
94device psm: sysmon_power
95attach psm at ebus
96file	arch/sparc64/dev/psm.c			psm
97
98device timer
99attach timer at mainbus, sbus
100
101device	tda: sysmon_envsys
102attach	tda at iic
103file	arch/sparc64/dev/tda.c			tda
104
105attach pcfiic at ebus with pcfiic_ebus
106file	arch/sparc64/dev/pcfiic_ebus.c		pcfiic_ebus
107
108device ecadc: sysmon_envsys
109attach ecadc at iic
110file	arch/sparc64/dev/pcf8591_envctrl.c	ecadc
111
112device lom: sysmon_envsys, sysmon_wdog
113attach lom at ebus
114file	arch/sparc64/dev/lom.c			lom
115
116device cpu
117attach cpu at mainbus
118file	arch/sparc64/sparc64/cpu.c
119
120device	auxio
121attach	auxio at ebus with auxio_ebus
122attach	auxio at sbus with auxio_sbus
123file	arch/sparc64/dev/auxio.c		auxio
124file	arch/sparc64/dev/auxio_sbus.c		auxio_sbus
125file	arch/sparc64/dev/auxio_ebus.c		auxio_ebus
126
127defflag	opt_auxio.h	BLINK
128
129attach	lpt at ebus with lpt_ebus
130file	arch/sparc64/dev/lpt_ebus.c		lpt_ebus
131
132device fdc {}
133attach fdc at sbus with fdc_sbus
134attach fdc at ebus with fdc_ebus
135device fd: disk
136attach fd at fdc
137file	arch/sparc64/dev/fdc.c			fdc | fd needs-flag
138
139attach	audiocs at ebus with audiocs_ebus
140file	dev/ebus/cs4231_ebus.c			audiocs_ebus
141
142include	"dev/sdmmc/files.sdmmc"
143attach	wb at ebus with wb_ebus
144file	arch/sparc64/dev/wb_ebus.c              wb_ebus
145
146# PCMCIA bus (references fdc)
147include "dev/pcmcia/files.pcmcia"
148
149# CardBus Support
150include "dev/cardbus/files.cardbus"
151file	arch/sparc64/sparc64/rbus_machdep.c	cardbus
152
153#
154# Console related stuff
155#
156
157device zs {channel = -1}
158attach zs at sbus
159attach zs at fhc with zs_fhc
160file	arch/sparc64/dev/zs.c			zs needs-flag
161file	dev/ic/z8530sc.c			zs
162
163# siemens SAB82532; found on U5/U10/... for tty ports.
164device sab {channel = -1}
165attach sab at ebus
166file	arch/sparc64/dev/sab.c			sab | sabtty needs-flag
167
168# "com" attachments for the kbd/mouse of the U5/U10/...
169attach com at ebus with com_ebus
170file	arch/sparc64/dev/com_ebus.c		com_ebus
171
172# ebus PS/2 keyboard attachment for Tadpole SPARCle, etc.
173include "dev/pckbport/files.pckbport"
174attach pckbc at ebus with pckbc_ebus : sysmon_envsys
175file	arch/sparc64/dev/pckbc_ebus.c		pckbc_ebus
176defflag opt_tadpmu.h	HAVE_TADPMU
177file	arch/sparc64/dev/tadpmu.c		pckbc_ebus
178
179device zstty {}: tty
180attach zstty at zs
181file dev/ic/z8530tty.c			zstty needs-flag
182# file arch/sparc/dev/zs_kgdb.c		kgdb
183
184device sabtty: tty
185attach sabtty at sab
186
187file arch/sparc64/dev/kd.c 		kbd
188
189attach kbd at zs with kbd_zs
190attach kbd at zstty, com with kbd_tty
191file dev/sun/kbd_zs.c			kbd_zs
192file dev/sun/sunkbd.c			kbd_tty
193file dev/sun/kbdsun.c			kbd_zs | kbd_tty
194
195attach ms at zs with ms_zs
196attach ms at zstty, com with ms_tty
197file dev/sun/ms_zs.c			ms_zs
198file dev/sun/sunms.c			ms_tty
199
200#
201# Machine-independent SCSI drivers
202#
203include "dev/scsipi/files.scsipi"
204
205device cgfourteen
206attach cgfourteen at sbus
207file	arch/sparc64/dev/cgfourteen.c	cgfourteen needs-flag
208
209device ffb: wsemuldisplaydev, rasops32, fb, vcons, i2cexec, i2c_bitbang, ddc_read_edid, edid, videomode
210file	arch/sparc64/dev/ffb.c			ffb
211defflag opt_ffb.h FFB_DEBUG FFB_SYNC
212attach ffb at mainbus,upa with ffb_mainbus
213file	arch/sparc64/dev/ffb_mainbus.c		ffb_mainbus
214
215device gfb: wsemuldisplaydev, rasops32, fb, vcons
216file	arch/sparc64/dev/gfb.c			gfb
217attach gfb at mainbus
218
219# CP1500/1400 watchdog timer
220device	pldwdog: sysmon_wdog
221attach	pldwdog at ebus
222file	arch/sparc64/dev/pld_wdog.c		pldwdog
223
224#
225# Generic Sun stuff
226#
227
228file	dev/cons.c
229file	arch/sparc64/dev/consinit.c
230file	dev/sun/disksubr.c 
231
232file	arch/sparc64/sparc64/cpu_in_cksum.S	(inet | inet6) & cpu_in_cksum
233
234file	arch/sparc/fpu/fpu.c
235file	arch/sparc/fpu/fpu_add.c
236file	arch/sparc/fpu/fpu_compare.c
237file	arch/sparc/fpu/fpu_div.c
238file	arch/sparc/fpu/fpu_explode.c
239file	arch/sparc/fpu/fpu_implode.c
240file	arch/sparc/fpu/fpu_mul.c
241file	arch/sparc/fpu/fpu_sqrt.c
242file	arch/sparc/fpu/fpu_subr.c
243
244file	arch/sparc/sparc/promlib.c
245file	arch/sparc64/sparc64/autoconf.c
246file	arch/sparc64/sparc64/cache.c
247file	arch/sparc64/sparc64/clock.c
248file	arch/sparc64/sparc64/core_machdep.c	coredump
249file	arch/sparc64/sparc64/emul.c
250file	arch/sparc64/sparc64/intr.c
251file	arch/sparc64/sparc64/kgdb_machdep.c	kgdb
252file	arch/sparc/sparc/kobj_machdep.c		modular & !exec_elf64
253file	arch/sparc64/sparc64/kobj_machdep.c	modular & exec_elf64
254# sparc64/sparc64/locore.s is handled specially in the makefile,
255# because it must come first in the "ld" command line.
256file	arch/sparc64/sparc64/machdep.c
257file	arch/sparc64/sparc64/ofw_patch.c
258file	arch/sparc64/sparc64/process_machdep.c
259file	arch/sparc64/sparc64/procfs_machdep.c	procfs
260file	arch/sparc64/sparc64/static_edid.c
261file	arch/sparc/sparc/openprom.c
262file	arch/sparc/sparc/openfirm.c
263file	arch/sparc64/sparc64/ofw_machdep.c
264file	arch/sparc64/sparc64/pmap.c
265file	arch/sparc64/sparc64/sys_machdep.c
266file	arch/sparc64/sparc64/syscall.c
267file	arch/sparc64/sparc64/trap.c
268file	arch/sparc64/sparc64/vm_machdep.c
269file	arch/sparc64/sparc64/ipifuncs.c		multiprocessor
270file	arch/sparc64/sparc64/lock_stubs.s
271file	arch/sparc64/sparc64/hvcall.S		sun4v
272file	arch/sparc64/sparc64/mdesc.c		sun4v
273
274file	arch/sparc64/sparc64/db_interface.c	ddb | kgdb
275file	arch/sparc64/sparc64/db_machdep.c	ddb
276file	arch/sparc64/sparc64/db_trace.c		ddb
277file	arch/sparc64/sparc64/db_disasm.c	ddb
278file	arch/sparc64/sparc64/db_tlb_access.S	ddb
279
280# USB Support
281include "dev/usb/files.usb"
282
283# Bluetooth Support
284include "dev/bluetooth/files.bluetooth"
285
286# IEEE1394 Support
287include "dev/ieee1394/files.ieee1394"
288
289# Stack-less Just-In-Time compiler
290include "external/bsd/sljit/conf/files.sljit"
291
292#
293# Compatibility modules
294#
295
296# Binary compatibility with previous NetBSD releases.
297file	arch/sparc64/sparc64/compat_13_machdep.c compat_13
298file	arch/sparc64/sparc64/compat_16_machdep.c compat_16
299
300# NetBSD/sparc 32-bit Binary compatibility (COMPAT_NETBSD32)
301include "compat/netbsd32/files.netbsd32"
302file	arch/sparc64/sparc64/netbsd32_machdep.c		compat_netbsd32
303file	arch/sparc64/sparc64/netbsd32_machdep_13.c	compat_netbsd32 &
304							compat_13
305file	arch/sparc64/sparc64/netbsd32_machdep_16.c	compat_netbsd32 &
306							compat_16
307file	arch/sparc64/sparc64/netbsd32_sigcode.s		compat_netbsd32
308
309# SunOS Binary Compatibility (COMPAT_SUNOS), 32-bit & 64-bit kernel
310# (64-bit also depends on COMPAT_NETBSD32)
311include "compat/sunos/files.sunos"
312file	arch/sparc64/sparc64/sunos_sigcode.s	compat_sunos
313file	arch/sparc64/sparc64/sunos_machdep.c	compat_sunos & !compat_netbsd32
314include "compat/sunos32/files.sunos32"
315file	arch/sparc64/sparc64/sunos32_machdep.c	compat_sunos & compat_netbsd32
316
317# Miscellaneous
318file	dev/md_root.c			memory_disk_hooks
319
320include "arch/sparc64/conf/majors.sparc64"
321
322# Virtual rtc
323device	vrtc
324attach	vrtc at vbus
325file	arch/sparc64/dev/vrtc.c			vrtc
326
327define	ldc
328file	arch/sparc64/dev/ldc.c			ldc
329
330# Virtual disk
331device	vdsk: ldc, scsi
332attach	vdsk at cbus
333file	arch/sparc64/dev/vdsk.c			vdsk
334
335# Virtual network
336device	vnet: ldc
337attach	vnet at cbus
338file	arch/sparc64/dev/vnet.c			vnet
339