xref: /openbsd/sys/arch/i386/conf/files.i386 (revision 3d8817e4)
1#	$OpenBSD: files.i386,v 1.201 2011/04/05 12:50:15 guenther 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/via.c
28file	arch/i386/i386/amd64errata.c	!small_kernel
29file	arch/i386/i386/kgdb_machdep.c	kgdb
30file	arch/i386/i386/longrun.c	!small_kernel
31file	arch/i386/i386/mem.c
32file	arch/i386/i386/i686_mem.c	mtrr
33file	arch/i386/i386/k6_mem.c		mtrr
34file	arch/i386/i386/p4tcc.c		!small_kernel
35file	arch/i386/i386/pmap.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/process_machdep.c
40file	arch/i386/i386/procfs_machdep.c	procfs
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	lib/libz/adler32.c		!ppp_deflate & !ipsec & !crypto
47file	dev/cninit.c
48file	arch/i386/i386/mptramp.s	multiprocessor
49file	arch/i386/i386/mp_setperf.c	multiprocessor
50file	arch/i386/i386/lock_machdep.c
51file	arch/i386/i386/ipifuncs.c	multiprocessor
52file	arch/i386/i386/db_mp.c		multiprocessor & ddb
53file	arch/i386/i386/wscons_machdep.c	wsdisplay
54major	{vnd = 14}
55
56include "dev/rasops/files.rasops"
57include "dev/wsfont/files.wsfont"
58
59#
60# Media Independent Interface (mii)
61#
62include "dev/mii/files.mii"
63
64#
65# Machine-independent SCSI drivers
66#
67
68include "scsi/files.scsi"
69major	{sd = 4}
70major	{st = 5}
71major	{cd = 6}
72major	{rd = 17}
73
74#
75# I2O
76#
77include "dev/i2o/files.i2o"
78
79#
80# Machine-independent ATAPI drivers
81#
82
83include "dev/atapiscsi/files.atapiscsi"
84include "dev/ata/files.ata"
85
86#
87# System bus types
88#
89
90define mainbus {[apid = -1]}
91device	mainbus: isabus, eisabus, pcibus, mainbus
92attach	mainbus at root
93file	arch/i386/i386/mainbus.c	mainbus
94
95#device	mca at root {...}
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
120include "dev/pci/files.agp"
121file	arch/i386/pci/agp_machdep.c	agp
122
123# AMD Elan SC520 System Controller (PCI-Host bridge)
124device	elansc: gpiobus
125attach	elansc at pci
126file	arch/i386/pci/elan520.c		elansc
127
128# Geode SC1100
129device	geodesc
130attach	geodesc at pci
131file	arch/i386/pci/geodesc.c		geodesc
132
133# AMD Geode LX series processor security block
134device	glxsb
135attach	glxsb at pci
136file	arch/i386/pci/glxsb.c		glxsb
137
138# National Semiconductor Geode SC1100 SMI/ACPI module
139device	gscpm
140attach	gscpm at pci
141file	arch/i386/pci/gscpm.c		gscpm
142
143# AMD Geode LX series MSR access
144device	amdmsr
145attach	amdmsr at mainbus
146file	arch/i386/i386/amdmsr.c		amdmsr	needs-flag
147
148# PCI-ISA bridge chipsets
149device	pcib: isabus
150attach	pcib at pci
151file	arch/i386/pci/pcib.c		pcib | ichpcib | gscpcib | glxpcib | piixpcib | amdpcib
152
153# Intel ICHx/ICHx-M LPC bridges
154device	ichpcib: isabus
155attach	ichpcib at pci
156file	arch/i386/pci/ichpcib.c		ichpcib
157
158# Intel PIIX4 PCI-ISA bridge
159device	piixpcib: isabus
160attach	piixpcib at pci
161file	arch/i386/pci/piixpcib.c	piixpcib
162
163# National Semiconductor Geode SC1100 PCI-ISA bridge
164device	gscpcib: isabus, gpiobus
165attach	gscpcib at pci
166file	arch/i386/pci/gscpcib.c		gscpcib
167
168# AMD 8111 LPC bridge
169device	amdpcib: isabus
170attach	amdpcib at pci
171file	dev/pci/amdpcib.c		amdpcib
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	{mcd = 7}
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# SVR4 binary compatibility (COMPAT_SVR4)
274include "compat/svr4/files.svr4"
275file	arch/i386/i386/svr4_machdep.c		compat_svr4
276
277# Linux binary compatibility (COMPAT_LINUX)
278include "compat/linux/files.linux"
279file	arch/i386/i386/linux_machdep.c		compat_linux
280
281# OSS audio driver compatibility
282include "compat/ossaudio/files.ossaudio"
283
284device	bios {}
285attach	bios at mainbus
286file	arch/i386/i386/bios.c		bios needs-count
287
288device	apm
289attach	apm at bios
290file	arch/i386/i386/apm.c		apm needs-count
291file	arch/i386/i386/apmcall.S	apm
292
293file	arch/i386/i386/acpiapm.c
294
295# Intel SMP specification 1.4
296define	mpbios
297device	mpbios
298attach	mpbios at bios
299file	arch/i386/i386/mpbios.c		mpbios needs-flag
300file	arch/i386/i386/mpbios_intr_fixup.c	mpbios & pci
301
302# CPUS
303define	cpu {[apid = -1]}
304device	cpu
305attach	cpu at mainbus
306file	arch/i386/i386/cpu.c		cpu
307
308# Common APIC support routines
309file	arch/i386/i386/apic.c		ioapic | lapic
310
311# Local APIC (required for multiprocessor)
312define	lapic
313file	arch/i386/i386/lapic.c		lapic needs-flag
314
315# I/O APICs
316device	ioapic: mpbios, lapic
317attach	ioapic at mainbus
318file	arch/i386/i386/ioapic.c		ioapic needs-flag
319
320device	pcibios
321attach	pcibios at bios
322file	arch/i386/pci/pcibios.c		pcibios needs-count
323file	arch/i386/pci/pci_intr_fixup.c	pcibios
324file	arch/i386/pci/pci_bus_fixup.c	pcibios
325file	arch/i386/pci/pci_addr_fixup.c	pcibios
326file	arch/i386/pci/opti82c558.c	pcibios
327file	arch/i386/pci/opti82c700.c	pcibios
328file	arch/i386/pci/piix.c		pcibios
329file	arch/i386/pci/rccosb4.c		pcibios
330file	arch/i386/pci/sis85c503.c	pcibios
331file	arch/i386/pci/via82c586.c	pcibios
332file	arch/i386/pci/via8231.c		pcibios
333file	arch/i386/pci/amd756.c		pcibios
334file	arch/i386/pci/ali1543.c		pcibios
335
336#
337# CARDBUS
338#
339include	"dev/cardbus/files.cardbus"
340file	arch/i386/i386/rbus_machdep.c	cardbus
341
342# XXXX pcic here because it needs to be late.  The catch: pcic needs
343# to be late, so devices which attach to it are attached late.  But it
344# needs to be before its isa and pci attachments.  This answer is
345# non-optimal, but I don't have a better answer right now.
346
347# PCIC pcmcia contoller
348# XXX this needs to be done very late, so it's done here.  This feels
349# like a kludge, but it might be for the best.
350
351device	pcic: pcmciabus
352file	dev/ic/i82365.c			pcic
353
354# PCIC pcmcia controller on ISA bus.
355attach	pcic at isa with pcic_isa
356file	dev/isa/i82365_isa.c		pcic_isa
357
358# PCIC pcmcia controller on PCI bus.
359attach	pcic at pci with pcic_pci
360file	dev/pci/i82365_pci.c		pcic_pci
361
362# PCIC pcmcia controller on PnP board
363attach	pcic at isapnp with pcic_isapnp
364file	dev/isa/i82365_isapnp.c	pcic_isapnp
365
366# Code common to ISA and ISAPnP attachments
367file	dev/isa/i82365_isasubr.c	pcic_isa | pcic_isapnp | pcic_pci
368
369# Databook TCIC/2 pcmcia/isa bridge
370device	tcic: pcmciabus
371file	dev/ic/tcic2.c			tcic
372attach	tcic at isa with tcic_isa
373file	dev/isa/tcic2_isa.c		tcic_isa
374
375#
376# Machine-independent PUC drivers
377#
378include "dev/puc/files.puc"
379
380# PCMCIA wants to be probed as late as possible.
381
382#
383# Machine-independent PCMCIA drivers
384#
385include "dev/pcmcia/files.pcmcia"
386
387#
388# Machine-independent USB drivers
389#
390include "dev/usb/files.usb"
391
392#
393# Machine-independent I2C drivers
394#
395include "dev/i2c/files.i2c"
396
397#
398# Machine-independent GPIO drivers
399#
400include "dev/gpio/files.gpio"
401
402#
403# Machine-independent 1-Wire drivers
404#
405include "dev/onewire/files.onewire"
406
407#
408# Machine-independent SD/MMC drivers
409#
410include "dev/sdmmc/files.sdmmc"
411
412#
413# Machine-independent Bluetooth drivers
414#
415include "dev/bluetooth/files.bluetooth"
416
417include "dev/acpi/files.acpi"
418file	arch/i386/i386/acpi_machdep.c		acpi
419file	arch/i386/i386/acpi_wakecode.S		acpi & !small_kernel
420
421#
422# IPMI
423#
424attach	ipmi at mainbus
425
426# VMware Tools
427attach	vmt at mainbus
428
429# Dell Embedded Systems Management
430device	esm
431attach	esm at mainbus
432file	arch/i386/i386/esm.c			esm needs-flag
433
434#
435# VESA
436#
437include "dev/vesa/files.vesa"
438
439#include "dev/rasops/files.rasops"
440
441# quad support is necessary for 32 bit architectures
442file lib/libkern/adddi3.c
443file lib/libkern/anddi3.c
444file lib/libkern/ashldi3.c
445file lib/libkern/ashrdi3.c
446file lib/libkern/cmpdi2.c
447file lib/libkern/divdi3.c
448file lib/libkern/iordi3.c
449file lib/libkern/lshldi3.c
450file lib/libkern/lshrdi3.c
451file lib/libkern/moddi3.c
452file lib/libkern/muldi3.c
453file lib/libkern/negdi2.c
454file lib/libkern/notdi2.c
455file lib/libkern/qdivrem.c
456file lib/libkern/subdi3.c
457file lib/libkern/ucmpdi2.c
458file lib/libkern/udivdi3.c
459file lib/libkern/umoddi3.c
460file lib/libkern/xordi3.c
461