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