xref: /openbsd-src/sys/arch/i386/conf/files.i386 (revision 2b0358df1d88d06ef4139321dd05bd5e05d91eaf)
1#	$OpenBSD: files.i386,v 1.188 2009/01/20 20:21:03 mlarkin 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/conf.c
17file	arch/i386/i386/db_disasm.c	ddb
18file	arch/i386/i386/db_interface.c	ddb
19file	arch/i386/i386/db_memrw.c	ddb | kgdb
20file	arch/i386/i386/db_trace.c	ddb
21file	arch/i386/i386/disksubr.c	disk
22file	arch/i386/i386/est.c		!small_kernel
23file	arch/i386/i386/gdt.c
24file	arch/i386/i386/in_cksum.s	inet
25file	arch/i386/i386/machdep.c
26file	arch/i386/i386/via.c
27file	arch/i386/i386/amd64errata.c
28file	arch/i386/i386/kgdb_machdep.c	kgdb
29file	arch/i386/i386/longrun.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/p4tcc.c		!small_kernel
34file	arch/i386/i386/pmap.c
35file	arch/i386/i386/powernow.c	!small_kernel
36file	arch/i386/i386/powernow-k7.c	!small_kernel
37file	arch/i386/i386/powernow-k8.c	!small_kernel
38file	arch/i386/i386/process_machdep.c
39file	arch/i386/i386/procfs_machdep.c	procfs
40file	arch/i386/i386/sys_machdep.c
41file	arch/i386/i386/trap.c
42file	arch/i386/i386/vm_machdep.c
43file	arch/i386/i386/softintr.c
44file	arch/i386/i386/dkcsum.c		bios
45file	lib/libz/adler32.c		!ppp_deflate & !ipsec & !crypto
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
55#
56# Media Independent Interface (mii)
57#
58include "../../../dev/mii/files.mii"
59
60#
61# Machine-independent SCSI drivers
62#
63
64include "../../../scsi/files.scsi"
65major	{sd = 4}
66major	{st = 5}
67major	{cd = 6}
68major	{rd = 17}
69
70#
71# I2O
72#
73include "dev/i2o/files.i2o"
74
75#
76# Machine-independent ATAPI drivers
77#
78
79include "../../../dev/atapiscsi/files.atapiscsi"
80include "../../../dev/ata/files.ata"
81
82#
83# System bus types
84#
85
86define mainbus {[apid = -1]}
87device	mainbus: isabus, eisabus, pcibus, mainbus
88attach	mainbus at root
89file	arch/i386/i386/mainbus.c	mainbus
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
103
104# PCI-Host bridge chipsets
105device  pchb: pcibus, agpbus
106attach	pchb at pci
107file	arch/i386/pci/pchb.c		pchb
108
109# AGP bridge support. most attach at pchb
110include "dev/pci/files.agp"
111file	arch/i386/pci/agp_machdep.c	agp
112
113# AMD Elan SC520 System Controller (PCI-Host bridge)
114device	elansc: gpiobus
115attach	elansc at pci
116file	arch/i386/pci/elan520.c		elansc
117
118# Geode SC1100
119device	geodesc
120attach	geodesc at pci
121file	arch/i386/pci/geodesc.c		geodesc
122
123# AMD Geode LX series processor security block
124device	glxsb
125attach	glxsb at pci
126file	arch/i386/pci/glxsb.c		glxsb
127
128# National Semiconductor Geode SC1100 SMI/ACPI module
129device	gscpm
130attach	gscpm at pci
131file	arch/i386/pci/gscpm.c		gscpm
132
133# AMD Geode CS5536 PCI-ISA bridge
134device	glxpcib: isabus, gpiobus
135attach	glxpcib at pci
136file	arch/i386/pci/glxpcib.c		glxpcib
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# AMD Geode CS5536 Audio
144device	auglx: audio
145attach	auglx at pci
146file	arch/i386/pci/auglx.c		auglx
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# iBCS-2 binary compatibility (COMPAT_IBCS2)
278include "../../../compat/ibcs2/files.ibcs2"
279
280# Linux binary compatibility (COMPAT_LINUX)
281include "../../../compat/linux/files.linux"
282file	arch/i386/i386/linux_machdep.c		compat_linux
283
284# BSD/OS binary compatibility (COMPAT_BSDOS)
285include "../../../compat/bsdos/files.bsdos"
286
287# FreeBSD binary compatibility (COMPAT_FREEBSD)
288include "../../../compat/freebsd/files.freebsd"
289file	arch/i386/i386/freebsd_machdep.c	compat_freebsd
290
291# OSS audio driver compatibility
292include "../../../compat/ossaudio/files.ossaudio"
293
294device	bios {}
295attach	bios at mainbus
296file	arch/i386/i386/bios.c		bios needs-count
297
298device	apm
299attach	apm at bios
300file	arch/i386/i386/apm.c		apm needs-count
301file	arch/i386/i386/apmcall.S	apm
302
303file	arch/i386/i386/acpiapm.c
304
305# Intel SMP specification 1.4
306define	mpbios
307device	mpbios
308attach	mpbios at bios
309file	arch/i386/i386/mpbios.c		mpbios needs-flag
310file	arch/i386/i386/mpbios_intr_fixup.c	mpbios & pci
311
312# CPUS
313define	cpu {[apid = -1]}
314device	cpu
315attach	cpu at mainbus
316file	arch/i386/i386/cpu.c		cpu
317
318# Common APIC support routines
319file	arch/i386/i386/apic.c		ioapic | lapic
320
321# Local APIC (required for multiprocessor)
322define	lapic
323file	arch/i386/i386/lapic.c		lapic needs-flag
324
325# I/O APICs
326device	ioapic: mpbios, lapic
327attach	ioapic at mainbus
328file	arch/i386/i386/ioapic.c		ioapic needs-flag
329
330device	pcibios
331attach	pcibios at bios
332file	arch/i386/pci/pcibios.c		pcibios needs-count
333file	arch/i386/pci/pci_intr_fixup.c	pcibios
334file	arch/i386/pci/pci_bus_fixup.c	pcibios
335file	arch/i386/pci/pci_addr_fixup.c	pcibios
336file	arch/i386/pci/opti82c558.c	pcibios
337file	arch/i386/pci/opti82c700.c	pcibios
338file	arch/i386/pci/piix.c		pcibios
339file	arch/i386/pci/rccosb4.c		pcibios
340file	arch/i386/pci/sis85c503.c	pcibios
341file	arch/i386/pci/via82c586.c	pcibios
342file	arch/i386/pci/via8231.c		pcibios
343file	arch/i386/pci/amd756.c		pcibios
344file	arch/i386/pci/ali1543.c		pcibios
345
346#
347# CARDBUS
348#
349include	"dev/cardbus/files.cardbus"
350file	arch/i386/i386/rbus_machdep.c	cardbus
351
352# XXXX pcic here because it needs to be late.  The catch: pcic needs
353# to be late, so devices which attach to it are attached late.  But it
354# needs to be before its isa and pci attachments.  This answer is
355# non-optimal, but I don't have a better answer right now.
356
357# PCIC pcmcia contoller
358# XXX this needs to be done very late, so it's done here.  This feels
359# like a kludge, but it might be for the best.
360
361device	pcic: pcmciabus
362file	dev/ic/i82365.c			pcic
363
364# PCIC pcmcia controller on ISA bus.
365attach	pcic at isa with pcic_isa
366file	dev/isa/i82365_isa.c		pcic_isa
367
368# PCIC pcmcia controller on PCI bus.
369attach	pcic at pci with pcic_pci
370file	dev/pci/i82365_pci.c		pcic_pci
371
372# PCIC pcmcia controller on PnP board
373attach	pcic at isapnp with pcic_isapnp
374file	dev/isa/i82365_isapnp.c	pcic_isapnp
375
376# Code common to ISA and ISAPnP attachments
377file	dev/isa/i82365_isasubr.c	pcic_isa | pcic_isapnp | pcic_pci
378
379# Databook TCIC/2 pcmcia/isa bridge
380device	tcic: pcmciabus
381file	dev/ic/tcic2.c			tcic
382attach	tcic at isa with tcic_isa
383file	dev/isa/tcic2_isa.c		tcic_isa
384
385#
386# Machine-independent PUC drivers
387#
388include "dev/puc/files.puc"
389
390# PCMCIA wants to be probed as late as possible.
391
392#
393# Machine-independent PCMCIA drivers
394#
395include "dev/pcmcia/files.pcmcia"
396
397#
398# Machine-independent USB drivers
399#
400include "dev/usb/files.usb"
401
402#
403# Machine-independent I2C drivers
404#
405include "dev/i2c/files.i2c"
406
407#
408# Machine-independent GPIO drivers
409#
410include "dev/gpio/files.gpio"
411
412#
413# Machine-independent 1-Wire drivers
414#
415include "dev/onewire/files.onewire"
416
417#
418# Machine-independent SD/MMC drivers
419#
420include "dev/sdmmc/files.sdmmc"
421
422#
423# Machine-independent Bluetooth drivers
424#
425include "dev/bluetooth/files.bluetooth"
426
427include "../../../dev/acpi/files.acpi"
428file	arch/i386/i386/acpi_machdep.c		acpi
429file	arch/i386/i386/acpi_wakecode.S		acpi
430
431#
432# IPMI
433#
434attach	ipmi at mainbus
435
436# VMware Tools
437attach	vmt at mainbus
438
439# Dell Embedded Systems Management
440device	esm
441attach	esm at mainbus
442file	arch/i386/i386/esm.c			esm needs-flag
443
444#
445# VESA
446#
447include "dev/vesa/files.vesa"
448
449#include "dev/rasops/files.rasops"
450
451# quad support is necessary for 32 bit architectures
452file lib/libkern/adddi3.c
453file lib/libkern/anddi3.c
454file lib/libkern/ashldi3.c
455file lib/libkern/ashrdi3.c
456file lib/libkern/cmpdi2.c
457file lib/libkern/divdi3.c
458file lib/libkern/iordi3.c
459file lib/libkern/lshldi3.c
460file lib/libkern/lshrdi3.c
461file lib/libkern/moddi3.c
462file lib/libkern/muldi3.c
463file lib/libkern/negdi2.c
464file lib/libkern/notdi2.c
465file lib/libkern/qdivrem.c
466file lib/libkern/subdi3.c
467file lib/libkern/ucmpdi2.c
468file lib/libkern/udivdi3.c
469file lib/libkern/umoddi3.c
470file lib/libkern/xordi3.c
471