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