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