xref: /openbsd-src/sys/arch/i386/conf/files.i386 (revision 534410f411ebbc6ce0bd6d5721d8dbe1dc71de67)
1#	$OpenBSD: files.i386,v 1.251 2024/11/04 22:08:03 jsg Exp $
2#
3# new style config file for i386 architecture
4#
5
6# maxpartitions must be first item in files.${ARCH}
7maxpartitions 16
8
9maxusers 2 16 100
10
11file	arch/i386/i386/autoconf.c
12file	arch/i386/i386/bus_space.c
13file	arch/i386/i386/bus_dma.c
14file	arch/i386/i386/conf.c
15file	arch/i386/i386/db_disasm.c	ddb
16file	arch/i386/i386/db_interface.c	ddb
17file	arch/i386/i386/db_memrw.c	ddb
18file	arch/i386/i386/db_trace.c	ddb
19file	arch/i386/i386/disksubr.c	disk
20file	arch/i386/i386/est.c		!small_kernel
21file	arch/i386/i386/gdt.c
22file	arch/i386/i386/in_cksum.s
23file	arch/i386/i386/machdep.c
24file	arch/i386/i386/hibernate_machdep.c hibernate
25file	arch/i386/i386/via.c
26file	arch/i386/i386/locore.s
27file	arch/i386/i386/amd64errata.c	!small_kernel
28file	arch/i386/i386/longrun.c	!small_kernel
29file	arch/i386/i386/ucode.c		!small_kernel
30file	arch/i386/i386/mem.c
31file	arch/i386/i386/i686_mem.c	mtrr
32file	arch/i386/i386/k6_mem.c		mtrr
33file 	arch/i386/i386/mtrr.c		mtrr
34file	arch/i386/i386/p4tcc.c		!small_kernel
35file	arch/i386/i386/pmap.c
36file	arch/i386/i386/pmapae.c
37file	arch/i386/i386/powernow.c	!small_kernel
38file	arch/i386/i386/powernow-k7.c	!small_kernel
39file	arch/i386/i386/powernow-k8.c	!small_kernel
40file	arch/i386/i386/k1x-pstate.c	!small_kernel
41file	arch/i386/i386/process_machdep.c
42file	arch/i386/i386/sys_machdep.c
43file	arch/i386/i386/trap.c
44file	arch/i386/i386/vm_machdep.c
45file	arch/i386/i386/softintr.c
46file	arch/i386/i386/dkcsum.c		bios
47file	dev/cninit.c
48file	arch/i386/i386/mptramp.s	multiprocessor
49file	arch/i386/i386/mp_setperf.c	multiprocessor
50file	arch/i386/i386/ipifuncs.c	multiprocessor
51file	arch/i386/i386/db_mp.c		multiprocessor & ddb
52file	arch/i386/i386/wscons_machdep.c	wsdisplay
53major	{vnd = 14}
54
55include "dev/rasops/files.rasops"
56include "dev/wsfont/files.wsfont"
57
58#
59# Media Independent Interface (mii)
60#
61include "dev/mii/files.mii"
62
63#
64# Machine-independent SCSI drivers
65#
66
67include "scsi/files.scsi"
68major	{sd = 4}
69major	{cd = 6}
70major	{rd = 17}
71
72#
73# Machine-independent ATAPI drivers
74#
75
76include "dev/atapiscsi/files.atapiscsi"
77include "dev/ata/files.ata"
78
79#
80# System bus types
81#
82
83define mainbus {[apid = -1]}
84device	mainbus: isabus, eisabus, pcibus, mainbus
85attach	mainbus at root
86file	arch/i386/i386/mainbus.c	mainbus
87
88file   arch/i386/i386/codepatch.c
89
90#device	mca at root {...}
91
92#
93# Paravirtual device bus
94#
95include "dev/pv/files.pv"
96
97#
98# PCI-only drivers
99# XXX MUST BE INCLUDED BEFORE files.isa, as long as files.isa attaches
100# XXX devices to 'pci'.
101#
102
103include "dev/pci/files.pci"
104file	arch/i386/pci/pci_machdep.c		pci
105file	arch/i386/pci/pciide_machdep.c		pciide
106file	arch/i386/pci/pcic_pci_machdep.c	pcic_pci
107file	arch/i386/pci/vga_post.c		vga_pci & x86emu
108
109# PCI-Host bridge chipsets
110device  pchb: pcibus, agpbus
111attach	pchb at pci
112file	arch/i386/pci/pchb.c		pchb
113
114# AMAS AMD memory address switch
115device  amas
116attach  amas at pci
117file    dev/pci/amas.c			amas
118
119# AGP bridge support. most attach at pchb
120file	arch/i386/pci/agp_machdep.c	agp | inteldrm
121
122# Geode SC1100
123device	geodesc
124attach	geodesc at pci
125file	arch/i386/pci/geodesc.c		geodesc
126
127# AMD Geode LX series processor security block
128device	glxsb
129attach	glxsb at pci
130file	arch/i386/pci/glxsb.c		glxsb
131
132# National Semiconductor Geode SC1100 SMI/ACPI module
133device	gscpm
134attach	gscpm at pci
135file	arch/i386/pci/gscpm.c		gscpm
136
137# AMD Geode LX series MSR access
138device	amdmsr
139attach	amdmsr at mainbus
140file	arch/i386/i386/amdmsr.c		amdmsr	needs-flag
141
142# PCI-ISA bridge chipsets
143device	pcib: isabus
144attach	pcib at pci
145file	arch/i386/pci/pcib.c		pcib | ichpcib | gscpcib | glxpcib | amdpcib | tcpcib
146
147# Intel ICHx/ICHx-M LPC bridges
148device	ichpcib: isabus
149attach	ichpcib at pci
150file	arch/i386/pci/ichpcib.c		ichpcib
151
152# National Semiconductor Geode SC1100 PCI-ISA bridge
153device	gscpcib: isabus, gpiobus
154attach	gscpcib at pci
155file	arch/i386/pci/gscpcib.c		gscpcib
156
157# AMD 8111 LPC bridge
158device	amdpcib: isabus
159attach	amdpcib at pci
160file	dev/pci/amdpcib.c		amdpcib
161
162# Intel Atom E600 LPC bridge
163device	tcpcib: isabus
164attach	tcpcib at pci
165file	dev/pci/tcpcib.c		tcpcib
166
167device	hme: ether, ifnet, mii, ifmedia
168file	dev/ic/hme.c			hme
169attach	hme at pci with hme_pci
170file	dev/pci/if_hme_pci.c		hme_pci
171
172#
173# ISA and mixed ISA+EISA or ISA+PCI or ISA+PCMCIA drivers
174#
175
176major	{wd = 0}
177major	{fd = 2}
178
179include "dev/isa/files.isa"
180file	arch/i386/isa/isa_machdep.c	isabus
181
182# PC clock
183file	arch/i386/isa/clock.c		isabus
184
185# Numeric Processing Extension; Math Co-processor
186device	npx
187attach	npx at isa
188file	arch/i386/isa/npx.c		npx needs-flag
189
190# attribute used to represent the "keyboard controller"
191# XXX should be a real device
192define pckbcport {[irq = -1], [port = -1]}
193
194# PC Mice; Logitech-style, Microsoft-style, and PS/2-style
195device	lms: wsmousedev
196attach	lms at isa
197file	arch/i386/isa/lms.c		lms needs-flag
198device	mms: wsmousedev
199attach	mms at isa
200file	arch/i386/isa/mms.c		mms needs-flag
201
202include	"dev/wscons/files.wscons"
203include	"dev/pckbc/files.pckbc"
204
205# Adaptec AHA-284x VL SCSI controllers
206# device declaration in sys/conf/files
207attach	ahc at isa with ahc_isa
208file	arch/i386/isa/ahc_isa.c		ahc_isa
209
210# Soekris GPIO & LEDs driver
211device	skgpio: gpiobus
212attach	skgpio at isa
213file	dev/isa/skgpio.c		skgpio
214
215# Pentium performance counters
216pseudo-device	pctr
217file	arch/i386/i386/pctr.c		pctr needs-flag
218
219pseudo-device	nvram
220file	arch/i386/i386/nvram.c	nvram needs-flag
221
222#
223# EISA-only drivers
224#
225
226include "dev/eisa/files.eisa"
227file	arch/i386/eisa/eisa_machdep.c	eisa
228
229#
230# ISA PnP
231#
232
233include "dev/isa/files.isapnp"
234file	arch/i386/isa/isapnp_machdep.c	isapnp
235
236# Game adapter (joystick)
237device	joy
238file	arch/i386/isa/joy.c		joy needs-flag
239attach	joy at isa with joy_isa
240file	arch/i386/isa/joy_isa.c		joy_isa
241attach	joy at isapnp with joy_isapnp
242file	arch/i386/isa/joy_isapnp.c	joy_isapnp
243
244#
245# Compatibility modules
246#
247
248device	bios {}
249attach	bios at mainbus
250file	arch/i386/i386/bios.c		bios needs-count
251
252device	apm
253attach	apm at bios
254file	arch/i386/i386/apm.c		apm needs-count
255file	arch/i386/i386/apmcall.S	apm
256
257file	arch/i386/i386/acpiapm.c
258
259# Intel SMP specification 1.4
260define	mpbios
261device	mpbios
262attach	mpbios at bios
263file	arch/i386/i386/mpbios.c		mpbios needs-flag
264file	arch/i386/i386/mpbios_intr_fixup.c	mpbios & pci
265
266# CPUS
267define	cpu {[apid = -1]}
268device	cpu
269attach	cpu at mainbus
270file	arch/i386/i386/cpu.c		cpu
271
272# Common APIC support routines
273file	arch/i386/i386/apic.c		ioapic | lapic
274
275# Local APIC (required for multiprocessor)
276define	lapic
277file	arch/i386/i386/lapic.c		lapic needs-flag
278
279# I/O APICs
280device	ioapic: mpbios, lapic
281attach	ioapic at mainbus
282file	arch/i386/i386/ioapic.c		ioapic needs-flag
283
284device	pcibios
285attach	pcibios at bios
286file	arch/i386/pci/pcibios.c		pcibios needs-count
287file	arch/i386/pci/pci_intr_fixup.c	pcibios
288file	arch/i386/pci/pci_bus_fixup.c	pcibios
289file	arch/i386/pci/pci_addr_fixup.c	pcibios
290file	arch/i386/pci/opti82c558.c	pcibios
291file	arch/i386/pci/opti82c700.c	pcibios
292file	arch/i386/pci/piix.c		pcibios
293file	arch/i386/pci/rccosb4.c		pcibios
294file	arch/i386/pci/sis85c503.c	pcibios
295file	arch/i386/pci/via82c586.c	pcibios
296file	arch/i386/pci/via8231.c		pcibios
297file	arch/i386/pci/amd756.c		pcibios
298file	arch/i386/pci/ali1543.c		pcibios
299
300#
301# CARDBUS
302#
303include	"dev/cardbus/files.cardbus"
304file	arch/i386/i386/rbus_machdep.c	cardbus
305
306# XXXX pcic here because it needs to be late.  The catch: pcic needs
307# to be late, so devices which attach to it are attached late.  But it
308# needs to be before its isa and pci attachments.  This answer is
309# non-optimal, but I don't have a better answer right now.
310
311# PCIC pcmcia controller
312# XXX this needs to be done very late, so it's done here.  This feels
313# like a kludge, but it might be for the best.
314
315device	pcic: pcmciabus
316file	dev/ic/i82365.c			pcic
317
318# PCIC pcmcia controller on ISA bus.
319attach	pcic at isa with pcic_isa
320file	dev/isa/i82365_isa.c		pcic_isa
321
322# PCIC pcmcia controller on PCI bus.
323attach	pcic at pci with pcic_pci
324file	dev/pci/i82365_pci.c		pcic_pci
325
326# PCIC pcmcia controller on PnP board
327attach	pcic at isapnp with pcic_isapnp
328file	dev/isa/i82365_isapnp.c	pcic_isapnp
329
330# Code common to ISA and ISAPnP attachments
331file	dev/isa/i82365_isasubr.c	pcic_isa | pcic_isapnp | pcic_pci
332
333# Databook TCIC/2 pcmcia/isa bridge
334device	tcic: pcmciabus
335file	dev/ic/tcic2.c			tcic
336attach	tcic at isa with tcic_isa
337file	dev/isa/tcic2_isa.c		tcic_isa
338
339#
340# Machine-independent PCMCIA drivers
341#
342include "dev/pcmcia/files.pcmcia"
343
344#
345# Machine-independent HID support
346#
347include	"dev/hid/files.hid"
348
349#
350# Machine-independent USB drivers
351#
352include "dev/usb/files.usb"
353
354#
355# Machine-independent I2C drivers
356#
357include "dev/i2c/files.i2c"
358
359#
360# Machine-independent GPIO drivers
361#
362include "dev/gpio/files.gpio"
363
364#
365# Machine-independent 1-Wire drivers
366#
367include "dev/onewire/files.onewire"
368
369#
370# Machine-independent SD/MMC drivers
371#
372include "dev/sdmmc/files.sdmmc"
373
374include "dev/acpi/files.acpi"
375attach	acpi at bios
376file	arch/i386/i386/acpi_machdep.c		acpi
377file	arch/i386/i386/acpi_wakecode.S		acpi & !small_kernel
378file	dev/acpi/acpi_x86.c			acpi & suspend & !small_kernel
379file	dev/acpi/acpi_apm.c			acpi
380
381#
382# IPMI
383#
384attach	ipmi at mainbus
385
386# Dell Embedded Systems Management
387device	esm
388attach	esm at mainbus
389file	arch/i386/i386/esm.c			esm needs-flag
390
391# quad support is necessary for 32 bit architectures
392file lib/libkern/adddi3.c
393file lib/libkern/anddi3.c
394file lib/libkern/ashldi3.c
395file lib/libkern/ashrdi3.c
396file lib/libkern/cmpdi2.c
397file lib/libkern/divdi3.c
398file lib/libkern/iordi3.c
399file lib/libkern/lshldi3.c
400file lib/libkern/lshrdi3.c
401file lib/libkern/moddi3.c
402file lib/libkern/muldi3.c
403file lib/libkern/negdi2.c
404file lib/libkern/notdi2.c
405file lib/libkern/qdivrem.c
406file lib/libkern/subdi3.c
407file lib/libkern/ucmpdi2.c
408file lib/libkern/udivdi3.c
409file lib/libkern/umoddi3.c
410file lib/libkern/xordi3.c
411