xref: /openbsd-src/sys/arch/i386/conf/files.i386 (revision d13be5d47e4149db2549a9828e244d59dbc43f15)
1#	$OpenBSD: files.i386,v 1.207 2011/07/08 20:15:09 ariane 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
11major	{ccd = 16}
12
13file	arch/i386/i386/autoconf.c
14file	arch/i386/i386/bus_space.c
15file	arch/i386/i386/bus_dma.c
16file	arch/i386/i386/sg_dma.c		!small_kernel
17file	arch/i386/i386/conf.c
18file	arch/i386/i386/db_disasm.c	ddb
19file	arch/i386/i386/db_interface.c	ddb
20file	arch/i386/i386/db_memrw.c	ddb | kgdb
21file	arch/i386/i386/db_trace.c	ddb
22file	arch/i386/i386/disksubr.c	disk
23file	arch/i386/i386/est.c		!small_kernel
24file	arch/i386/i386/gdt.c
25file	arch/i386/i386/in_cksum.s	inet
26file	arch/i386/i386/machdep.c
27file	arch/i386/i386/hibernate_machdep.c hibernate
28file	arch/i386/i386/via.c
29file	arch/i386/i386/amd64errata.c	!small_kernel
30file	arch/i386/i386/kgdb_machdep.c	kgdb
31file	arch/i386/i386/longrun.c	!small_kernel
32file	arch/i386/i386/mem.c
33file	arch/i386/i386/i686_mem.c	mtrr
34file	arch/i386/i386/k6_mem.c		mtrr
35file	arch/i386/i386/p4tcc.c		!small_kernel
36file	arch/i386/i386/pmap.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/procfs_machdep.c	procfs
43file	arch/i386/i386/sys_machdep.c
44file	arch/i386/i386/trap.c
45file	arch/i386/i386/vm_machdep.c
46file	arch/i386/i386/softintr.c
47file	arch/i386/i386/dkcsum.c		bios
48file	dev/cninit.c
49file	arch/i386/i386/mptramp.s	multiprocessor
50file	arch/i386/i386/mp_setperf.c	multiprocessor
51file	arch/i386/i386/lock_machdep.c
52file	arch/i386/i386/ipifuncs.c	multiprocessor
53file	arch/i386/i386/db_mp.c		multiprocessor & ddb
54file	arch/i386/i386/wscons_machdep.c	wsdisplay
55major	{vnd = 14}
56
57include "dev/rasops/files.rasops"
58include "dev/wsfont/files.wsfont"
59
60#
61# Media Independent Interface (mii)
62#
63include "dev/mii/files.mii"
64
65#
66# Machine-independent SCSI drivers
67#
68
69include "scsi/files.scsi"
70major	{sd = 4}
71major	{st = 5}
72major	{cd = 6}
73major	{rd = 17}
74
75#
76# I2O
77#
78include "dev/i2o/files.i2o"
79
80#
81# Machine-independent ATAPI drivers
82#
83
84include "dev/atapiscsi/files.atapiscsi"
85include "dev/ata/files.ata"
86
87#
88# System bus types
89#
90
91define mainbus {[apid = -1]}
92device	mainbus: isabus, eisabus, pcibus, mainbus
93attach	mainbus at root
94file	arch/i386/i386/mainbus.c	mainbus
95
96#device	mca at root {...}
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
121include "dev/pci/files.agp"
122file	arch/i386/pci/agp_machdep.c	agp
123
124# AMD Elan SC520 System Controller (PCI-Host bridge)
125device	elansc: gpiobus
126attach	elansc at pci
127file	arch/i386/pci/elan520.c		elansc
128
129# Geode SC1100
130device	geodesc
131attach	geodesc at pci
132file	arch/i386/pci/geodesc.c		geodesc
133
134# AMD Geode LX series processor security block
135device	glxsb
136attach	glxsb at pci
137file	arch/i386/pci/glxsb.c		glxsb
138
139# National Semiconductor Geode SC1100 SMI/ACPI module
140device	gscpm
141attach	gscpm at pci
142file	arch/i386/pci/gscpm.c		gscpm
143
144# AMD Geode LX series MSR access
145device	amdmsr
146attach	amdmsr at mainbus
147file	arch/i386/i386/amdmsr.c		amdmsr	needs-flag
148
149# PCI-ISA bridge chipsets
150device	pcib: isabus
151attach	pcib at pci
152file	arch/i386/pci/pcib.c		pcib | ichpcib | gscpcib | glxpcib | piixpcib | amdpcib
153
154# Intel ICHx/ICHx-M LPC bridges
155device	ichpcib: isabus
156attach	ichpcib at pci
157file	arch/i386/pci/ichpcib.c		ichpcib
158
159# Intel PIIX4 PCI-ISA bridge
160device	piixpcib: isabus
161attach	piixpcib at pci
162file	arch/i386/pci/piixpcib.c	piixpcib
163
164# National Semiconductor Geode SC1100 PCI-ISA bridge
165device	gscpcib: isabus, gpiobus
166attach	gscpcib at pci
167file	arch/i386/pci/gscpcib.c		gscpcib
168
169# AMD 8111 LPC bridge
170device	amdpcib: isabus
171attach	amdpcib at pci
172file	dev/pci/amdpcib.c		amdpcib
173
174device	hme: ether, ifnet, mii, ifmedia
175file	dev/ic/hme.c			hme
176attach	hme at pci with hme_pci
177file	dev/pci/if_hme_pci.c		hme_pci
178
179#
180# ISA and mixed ISA+EISA or ISA+PCI or ISA+PCMCIA drivers
181#
182
183major	{wd = 0}
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# Floppy disk controller
212# XXX temporarily conflicts with arc, will soon move to files.isa
213device	fdc {[drive = -1]}
214attach	fdc at isa
215file	dev/isa/fdc.c		fdc needs-flag
216
217device	fd: disk, isa_dma
218attach	fd at fdc
219file	dev/isa/fd.c		fd needs-flag
220major	{fd = 2}
221
222# Adaptec AHA-284x VL SCSI controllers
223# device declaration in sys/conf/files
224attach	ahc at isa with ahc_isa
225file	arch/i386/isa/ahc_isa.c		ahc_isa
226
227# Pentium performance counters
228pseudo-device	pctr
229file	arch/i386/i386/pctr.c		pctr needs-flag
230
231pseudo-device	mtrr
232file 	arch/i386/i386/mtrr.c		mtrr needs-flag
233
234pseudo-device	nvram
235file	arch/i386/i386/nvram.c	nvram needs-flag
236
237#
238# EISA-only drivers
239#
240
241include "dev/eisa/files.eisa"
242file	arch/i386/eisa/eisa_machdep.c	eisa
243
244#
245# ISA PnP
246#
247
248include "dev/isa/files.isapnp"
249file	arch/i386/isa/isapnp_machdep.c	isapnp
250
251# Game adapter (joystick)
252device	joy
253file	arch/i386/isa/joy.c		joy needs-flag
254attach	joy at isa with joy_isa
255file	arch/i386/isa/joy_isa.c		joy_isa
256attach	joy at isapnp with joy_isapnp
257file	arch/i386/isa/joy_isapnp.c	joy_isapnp
258
259#
260# Compatibility modules
261#
262
263# VM86 mode
264file	arch/i386/i386/vm86.c			vm86
265
266# VM86 in kernel
267file	arch/i386/i386/kvm86.c			kvm86
268file	arch/i386/i386/kvm86call.S		kvm86
269
270# a.out binary compatibility (COMPAT_AOUT)
271include "compat/aout/files.aout"
272
273# Linux binary compatibility (COMPAT_LINUX)
274include "compat/linux/files.linux"
275file	arch/i386/i386/linux_machdep.c		compat_linux
276
277# OSS audio driver compatibility
278include "compat/ossaudio/files.ossaudio"
279
280device	bios {}
281attach	bios at mainbus
282file	arch/i386/i386/bios.c		bios needs-count
283
284device	apm
285attach	apm at bios
286file	arch/i386/i386/apm.c		apm needs-count
287file	arch/i386/i386/apmcall.S	apm
288
289file	arch/i386/i386/acpiapm.c
290
291# Intel SMP specification 1.4
292define	mpbios
293device	mpbios
294attach	mpbios at bios
295file	arch/i386/i386/mpbios.c		mpbios needs-flag
296file	arch/i386/i386/mpbios_intr_fixup.c	mpbios & pci
297
298# CPUS
299define	cpu {[apid = -1]}
300device	cpu
301attach	cpu at mainbus
302file	arch/i386/i386/cpu.c		cpu
303
304# Common APIC support routines
305file	arch/i386/i386/apic.c		ioapic | lapic
306
307# Local APIC (required for multiprocessor)
308define	lapic
309file	arch/i386/i386/lapic.c		lapic needs-flag
310
311# I/O APICs
312device	ioapic: mpbios, lapic
313attach	ioapic at mainbus
314file	arch/i386/i386/ioapic.c		ioapic needs-flag
315
316device	pcibios
317attach	pcibios at bios
318file	arch/i386/pci/pcibios.c		pcibios needs-count
319file	arch/i386/pci/pci_intr_fixup.c	pcibios
320file	arch/i386/pci/pci_bus_fixup.c	pcibios
321file	arch/i386/pci/pci_addr_fixup.c	pcibios
322file	arch/i386/pci/opti82c558.c	pcibios
323file	arch/i386/pci/opti82c700.c	pcibios
324file	arch/i386/pci/piix.c		pcibios
325file	arch/i386/pci/rccosb4.c		pcibios
326file	arch/i386/pci/sis85c503.c	pcibios
327file	arch/i386/pci/via82c586.c	pcibios
328file	arch/i386/pci/via8231.c		pcibios
329file	arch/i386/pci/amd756.c		pcibios
330file	arch/i386/pci/ali1543.c		pcibios
331
332#
333# CARDBUS
334#
335include	"dev/cardbus/files.cardbus"
336file	arch/i386/i386/rbus_machdep.c	cardbus
337
338# XXXX pcic here because it needs to be late.  The catch: pcic needs
339# to be late, so devices which attach to it are attached late.  But it
340# needs to be before its isa and pci attachments.  This answer is
341# non-optimal, but I don't have a better answer right now.
342
343# PCIC pcmcia contoller
344# XXX this needs to be done very late, so it's done here.  This feels
345# like a kludge, but it might be for the best.
346
347device	pcic: pcmciabus
348file	dev/ic/i82365.c			pcic
349
350# PCIC pcmcia controller on ISA bus.
351attach	pcic at isa with pcic_isa
352file	dev/isa/i82365_isa.c		pcic_isa
353
354# PCIC pcmcia controller on PCI bus.
355attach	pcic at pci with pcic_pci
356file	dev/pci/i82365_pci.c		pcic_pci
357
358# PCIC pcmcia controller on PnP board
359attach	pcic at isapnp with pcic_isapnp
360file	dev/isa/i82365_isapnp.c	pcic_isapnp
361
362# Code common to ISA and ISAPnP attachments
363file	dev/isa/i82365_isasubr.c	pcic_isa | pcic_isapnp | pcic_pci
364
365# Databook TCIC/2 pcmcia/isa bridge
366device	tcic: pcmciabus
367file	dev/ic/tcic2.c			tcic
368attach	tcic at isa with tcic_isa
369file	dev/isa/tcic2_isa.c		tcic_isa
370
371#
372# Machine-independent PUC drivers
373#
374include "dev/puc/files.puc"
375
376# PCMCIA wants to be probed as late as possible.
377
378#
379# Machine-independent PCMCIA drivers
380#
381include "dev/pcmcia/files.pcmcia"
382
383#
384# Machine-independent USB drivers
385#
386include "dev/usb/files.usb"
387
388#
389# Machine-independent I2C drivers
390#
391include "dev/i2c/files.i2c"
392
393#
394# Machine-independent GPIO drivers
395#
396include "dev/gpio/files.gpio"
397
398#
399# Machine-independent 1-Wire drivers
400#
401include "dev/onewire/files.onewire"
402
403#
404# Machine-independent SD/MMC drivers
405#
406include "dev/sdmmc/files.sdmmc"
407
408#
409# Machine-independent Bluetooth drivers
410#
411include "dev/bluetooth/files.bluetooth"
412
413include "dev/acpi/files.acpi"
414file	arch/i386/i386/acpi_machdep.c		acpi
415file	arch/i386/i386/acpi_wakecode.S		acpi & !small_kernel
416
417#
418# IPMI
419#
420attach	ipmi at mainbus
421
422# VMware Tools
423attach	vmt at mainbus
424
425# Dell Embedded Systems Management
426device	esm
427attach	esm at mainbus
428file	arch/i386/i386/esm.c			esm needs-flag
429
430#
431# VESA
432#
433include "dev/vesa/files.vesa"
434
435#include "dev/rasops/files.rasops"
436
437# quad support is necessary for 32 bit architectures
438file lib/libkern/adddi3.c
439file lib/libkern/anddi3.c
440file lib/libkern/ashldi3.c
441file lib/libkern/ashrdi3.c
442file lib/libkern/cmpdi2.c
443file lib/libkern/divdi3.c
444file lib/libkern/iordi3.c
445file lib/libkern/lshldi3.c
446file lib/libkern/lshrdi3.c
447file lib/libkern/moddi3.c
448file lib/libkern/muldi3.c
449file lib/libkern/negdi2.c
450file lib/libkern/notdi2.c
451file lib/libkern/qdivrem.c
452file lib/libkern/subdi3.c
453file lib/libkern/ucmpdi2.c
454file lib/libkern/udivdi3.c
455file lib/libkern/umoddi3.c
456file lib/libkern/xordi3.c
457