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