xref: /openbsd-src/sys/arch/i386/conf/files.i386 (revision f2da64fbbbf1b03f09f390ab01267c93dfd77c4c)
1#	$OpenBSD: files.i386,v 1.229 2016/02/28 15:46:18 naddy 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 | kgdb
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/amd64errata.c	!small_kernel
27file	arch/i386/i386/kgdb_machdep.c	kgdb
28file	arch/i386/i386/longrun.c	!small_kernel
29file	arch/i386/i386/mem.c
30file	arch/i386/i386/i686_mem.c	mtrr
31file	arch/i386/i386/k6_mem.c		mtrr
32file 	arch/i386/i386/mtrr.c		mtrr
33file	arch/i386/i386/p4tcc.c		!small_kernel
34file	arch/i386/i386/pmap.c
35file	arch/i386/i386/pmapae.c
36file	arch/i386/i386/powernow.c	!small_kernel
37file	arch/i386/i386/powernow-k7.c	!small_kernel
38file	arch/i386/i386/powernow-k8.c	!small_kernel
39file	arch/i386/i386/k1x-pstate.c	!small_kernel
40file	arch/i386/i386/process_machdep.c
41file	arch/i386/i386/sys_machdep.c
42file	arch/i386/i386/trap.c
43file	arch/i386/i386/vm_machdep.c
44file	arch/i386/i386/softintr.c
45file	arch/i386/i386/dkcsum.c		bios
46file	dev/cninit.c
47file	arch/i386/i386/mptramp.s	multiprocessor
48file	arch/i386/i386/mp_setperf.c	multiprocessor
49file	arch/i386/i386/lock_machdep.c
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# PCI-only drivers
95# XXX MUST BE INCLUDED BEFORE files.isa, as long as files.isa attaches
96# XXX devices to 'pci'.
97#
98
99include "dev/pci/files.pci"
100file	arch/i386/pci/pci_machdep.c		pci
101file	arch/i386/pci/pciide_machdep.c		pciide
102file	arch/i386/pci/pcic_pci_machdep.c	pcic_pci
103file	arch/i386/pci/vga_post.c		vga_pci & x86emu
104
105# PCI-Host bridge chipsets
106device  pchb: pcibus, agpbus
107attach	pchb at pci
108file	arch/i386/pci/pchb.c		pchb
109
110# AMAS AMD memory address switch
111device  amas
112attach  amas at pci
113file    dev/pci/amas.c			amas
114
115# AGP bridge support. most attach at pchb
116file	arch/i386/pci/agp_machdep.c	agp | inteldrm
117
118# AMD Elan SC520 System Controller (PCI-Host bridge)
119device	elansc: gpiobus
120attach	elansc at pci
121file	arch/i386/pci/elan520.c		elansc
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 | piixpcib | 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# Intel PIIX4 PCI-ISA bridge
154device	piixpcib: isabus
155attach	piixpcib at pci
156file	arch/i386/pci/piixpcib.c	piixpcib
157
158# National Semiconductor Geode SC1100 PCI-ISA bridge
159device	gscpcib: isabus, gpiobus
160attach	gscpcib at pci
161file	arch/i386/pci/gscpcib.c		gscpcib
162
163# AMD 8111 LPC bridge
164device	amdpcib: isabus
165attach	amdpcib at pci
166file	dev/pci/amdpcib.c		amdpcib
167
168# Intel Atom E600 LPC bridge
169device	tcpcib: isabus
170attach	tcpcib at pci
171file	dev/pci/tcpcib.c		tcpcib
172
173device	hme: ether, ifnet, mii, ifmedia
174file	dev/ic/hme.c			hme
175attach	hme at pci with hme_pci
176file	dev/pci/if_hme_pci.c		hme_pci
177
178#
179# ISA and mixed ISA+EISA or ISA+PCI or ISA+PCMCIA drivers
180#
181
182major	{wd = 0}
183major	{fd = 2}
184
185include "dev/isa/files.isa"
186file	arch/i386/isa/isa_machdep.c	isabus
187
188# PC clock
189file	arch/i386/isa/clock.c		isabus
190
191# Numeric Processing Extension; Math Co-processor
192device	npx
193attach	npx at isa
194file	arch/i386/isa/npx.c		npx needs-flag
195
196# attribute used to represent the "keyboard controller"
197# XXX should be a real device
198define pckbcport {[irq = -1], [port = -1]}
199
200# PC Mice; Logitech-style, Microsoft-style, and PS/2-style
201device	lms: wsmousedev
202attach	lms at isa
203file	arch/i386/isa/lms.c		lms needs-flag
204device	mms: wsmousedev
205attach	mms at isa
206file	arch/i386/isa/mms.c		mms needs-flag
207
208include	"dev/wscons/files.wscons"
209include	"dev/pckbc/files.pckbc"
210
211# Adaptec AHA-284x VL SCSI controllers
212# device declaration in sys/conf/files
213attach	ahc at isa with ahc_isa
214file	arch/i386/isa/ahc_isa.c		ahc_isa
215
216# Soekris GPIO & LEDs driver
217device	skgpio: gpiobus
218attach	skgpio at isa
219file	dev/isa/skgpio.c		skgpio
220
221# Pentium performance counters
222pseudo-device	pctr
223file	arch/i386/i386/pctr.c		pctr needs-flag
224
225pseudo-device	nvram
226file	arch/i386/i386/nvram.c	nvram needs-flag
227
228#
229# EISA-only drivers
230#
231
232include "dev/eisa/files.eisa"
233file	arch/i386/eisa/eisa_machdep.c	eisa
234
235#
236# ISA PnP
237#
238
239include "dev/isa/files.isapnp"
240file	arch/i386/isa/isapnp_machdep.c	isapnp
241
242# Game adapter (joystick)
243device	joy
244file	arch/i386/isa/joy.c		joy needs-flag
245attach	joy at isa with joy_isa
246file	arch/i386/isa/joy_isa.c		joy_isa
247attach	joy at isapnp with joy_isapnp
248file	arch/i386/isa/joy_isapnp.c	joy_isapnp
249
250#
251# Compatibility modules
252#
253
254# VM86 mode
255file	arch/i386/i386/vm86.c			vm86
256
257# VM86 in kernel
258file	arch/i386/i386/kvm86.c			kvm86
259file	arch/i386/i386/kvm86call.S		kvm86
260
261device	bios {}
262attach	bios at mainbus
263file	arch/i386/i386/bios.c		bios needs-count
264
265device	apm
266attach	apm at bios
267file	arch/i386/i386/apm.c		apm needs-count
268file	arch/i386/i386/apmcall.S	apm
269
270file	arch/i386/i386/acpiapm.c
271
272# Intel SMP specification 1.4
273define	mpbios
274device	mpbios
275attach	mpbios at bios
276file	arch/i386/i386/mpbios.c		mpbios needs-flag
277file	arch/i386/i386/mpbios_intr_fixup.c	mpbios & pci
278
279# CPUS
280define	cpu {[apid = -1]}
281device	cpu
282attach	cpu at mainbus
283file	arch/i386/i386/cpu.c		cpu
284
285# Common APIC support routines
286file	arch/i386/i386/apic.c		ioapic | lapic
287
288# Local APIC (required for multiprocessor)
289define	lapic
290file	arch/i386/i386/lapic.c		lapic needs-flag
291
292# I/O APICs
293device	ioapic: mpbios, lapic
294attach	ioapic at mainbus
295file	arch/i386/i386/ioapic.c		ioapic needs-flag
296
297device	pcibios
298attach	pcibios at bios
299file	arch/i386/pci/pcibios.c		pcibios needs-count
300file	arch/i386/pci/pci_intr_fixup.c	pcibios
301file	arch/i386/pci/pci_bus_fixup.c	pcibios
302file	arch/i386/pci/pci_addr_fixup.c	pcibios
303file	arch/i386/pci/opti82c558.c	pcibios
304file	arch/i386/pci/opti82c700.c	pcibios
305file	arch/i386/pci/piix.c		pcibios
306file	arch/i386/pci/rccosb4.c		pcibios
307file	arch/i386/pci/sis85c503.c	pcibios
308file	arch/i386/pci/via82c586.c	pcibios
309file	arch/i386/pci/via8231.c		pcibios
310file	arch/i386/pci/amd756.c		pcibios
311file	arch/i386/pci/ali1543.c		pcibios
312
313#
314# CARDBUS
315#
316include	"dev/cardbus/files.cardbus"
317file	arch/i386/i386/rbus_machdep.c	cardbus
318
319# XXXX pcic here because it needs to be late.  The catch: pcic needs
320# to be late, so devices which attach to it are attached late.  But it
321# needs to be before its isa and pci attachments.  This answer is
322# non-optimal, but I don't have a better answer right now.
323
324# PCIC pcmcia contoller
325# XXX this needs to be done very late, so it's done here.  This feels
326# like a kludge, but it might be for the best.
327
328device	pcic: pcmciabus
329file	dev/ic/i82365.c			pcic
330
331# PCIC pcmcia controller on ISA bus.
332attach	pcic at isa with pcic_isa
333file	dev/isa/i82365_isa.c		pcic_isa
334
335# PCIC pcmcia controller on PCI bus.
336attach	pcic at pci with pcic_pci
337file	dev/pci/i82365_pci.c		pcic_pci
338
339# PCIC pcmcia controller on PnP board
340attach	pcic at isapnp with pcic_isapnp
341file	dev/isa/i82365_isapnp.c	pcic_isapnp
342
343# Code common to ISA and ISAPnP attachments
344file	dev/isa/i82365_isasubr.c	pcic_isa | pcic_isapnp | pcic_pci
345
346# Databook TCIC/2 pcmcia/isa bridge
347device	tcic: pcmciabus
348file	dev/ic/tcic2.c			tcic
349attach	tcic at isa with tcic_isa
350file	dev/isa/tcic2_isa.c		tcic_isa
351
352#
353# Machine-independent PCMCIA drivers
354#
355include "dev/pcmcia/files.pcmcia"
356
357#
358# Machine-independent HID support
359#
360include	"dev/hid/files.hid"
361
362#
363# Machine-independent USB drivers
364#
365include "dev/usb/files.usb"
366
367#
368# Machine-independent I2C drivers
369#
370include "dev/i2c/files.i2c"
371
372#
373# Machine-independent GPIO drivers
374#
375include "dev/gpio/files.gpio"
376
377#
378# Machine-independent 1-Wire drivers
379#
380include "dev/onewire/files.onewire"
381
382#
383# Machine-independent SD/MMC drivers
384#
385include "dev/sdmmc/files.sdmmc"
386
387include "dev/acpi/files.acpi"
388file	arch/i386/i386/acpi_machdep.c		acpi
389file	arch/i386/i386/acpi_wakecode.S		acpi & !small_kernel
390
391#
392# IPMI
393#
394attach	ipmi at mainbus
395
396#
397# Paravirtual device bus
398#
399include "dev/pv/files.pv"
400
401# Dell Embedded Systems Management
402device	esm
403attach	esm at mainbus
404file	arch/i386/i386/esm.c			esm needs-flag
405
406#include "dev/rasops/files.rasops"
407
408# quad support is necessary for 32 bit architectures
409file lib/libkern/adddi3.c
410file lib/libkern/anddi3.c
411file lib/libkern/ashldi3.c
412file lib/libkern/ashrdi3.c
413file lib/libkern/cmpdi2.c
414file lib/libkern/divdi3.c
415file lib/libkern/iordi3.c
416file lib/libkern/lshldi3.c
417file lib/libkern/lshrdi3.c
418file lib/libkern/moddi3.c
419file lib/libkern/muldi3.c
420file lib/libkern/negdi2.c
421file lib/libkern/notdi2.c
422file lib/libkern/qdivrem.c
423file lib/libkern/subdi3.c
424file lib/libkern/ucmpdi2.c
425file lib/libkern/udivdi3.c
426file lib/libkern/umoddi3.c
427file lib/libkern/xordi3.c
428