xref: /openbsd-src/sys/arch/i386/conf/files.i386 (revision 46035553bfdd96e63c94e32da0210227ec2e3cf1)
1#	$OpenBSD: files.i386,v 1.246 2019/12/08 12:25:30 mpi 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
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
23file	arch/i386/i386/machdep.c
24file	arch/i386/i386/hibernate_machdep.c hibernate
25file	arch/i386/i386/via.c
26file	arch/i386/i386/locore.s
27file	arch/i386/i386/amd64errata.c	!small_kernel
28file	arch/i386/i386/longrun.c	!small_kernel
29file	arch/i386/i386/ucode.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/mtrr.c		mtrr
34file	arch/i386/i386/p4tcc.c		!small_kernel
35file	arch/i386/i386/pmap.c
36file	arch/i386/i386/pmapae.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/sys_machdep.c
43file	arch/i386/i386/trap.c
44file	arch/i386/i386/vm_machdep.c
45file	arch/i386/i386/softintr.c
46file	arch/i386/i386/dkcsum.c		bios
47file	dev/cninit.c
48file	arch/i386/i386/mptramp.s	multiprocessor
49file	arch/i386/i386/mp_setperf.c	multiprocessor
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
89file   arch/i386/i386/codepatch.c
90
91#device	mca at root {...}
92
93#
94# Paravirtual device bus
95#
96include "dev/pv/files.pv"
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
121file	arch/i386/pci/agp_machdep.c	agp | inteldrm
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 | amdpcib | tcpcib
152
153# Intel ICHx/ICHx-M LPC bridges
154device	ichpcib: isabus
155attach	ichpcib at pci
156file	arch/i386/pci/ichpcib.c		ichpcib
157
158# National Semiconductor Geode SC1100 PCI-ISA bridge
159device	gscpcib: isabus, gpiobus
160attach	gscpcib at pci
161file	arch/i386/pci/gscpcib.c		gscpcib
162
163# AMD 8111 LPC bridge
164device	amdpcib: isabus
165attach	amdpcib at pci
166file	dev/pci/amdpcib.c		amdpcib
167
168# Intel Atom E600 LPC bridge
169device	tcpcib: isabus
170attach	tcpcib at pci
171file	dev/pci/tcpcib.c		tcpcib
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	{wd = 0}
183major	{fd = 2}
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# Adaptec AHA-284x VL SCSI controllers
212# device declaration in sys/conf/files
213attach	ahc at isa with ahc_isa
214file	arch/i386/isa/ahc_isa.c		ahc_isa
215
216# Soekris GPIO & LEDs driver
217device	skgpio: gpiobus
218attach	skgpio at isa
219file	dev/isa/skgpio.c		skgpio
220
221# Pentium performance counters
222pseudo-device	pctr
223file	arch/i386/i386/pctr.c		pctr needs-flag
224
225pseudo-device	nvram
226file	arch/i386/i386/nvram.c	nvram needs-flag
227
228#
229# EISA-only drivers
230#
231
232include "dev/eisa/files.eisa"
233file	arch/i386/eisa/eisa_machdep.c	eisa
234
235#
236# ISA PnP
237#
238
239include "dev/isa/files.isapnp"
240file	arch/i386/isa/isapnp_machdep.c	isapnp
241
242# Game adapter (joystick)
243device	joy
244file	arch/i386/isa/joy.c		joy needs-flag
245attach	joy at isa with joy_isa
246file	arch/i386/isa/joy_isa.c		joy_isa
247attach	joy at isapnp with joy_isapnp
248file	arch/i386/isa/joy_isapnp.c	joy_isapnp
249
250#
251# Compatibility modules
252#
253
254device	bios {}
255attach	bios at mainbus
256file	arch/i386/i386/bios.c		bios needs-count
257
258device	apm
259attach	apm at bios
260file	arch/i386/i386/apm.c		apm needs-count
261file	arch/i386/i386/apmcall.S	apm
262
263file	arch/i386/i386/acpiapm.c
264
265# Intel SMP specification 1.4
266define	mpbios
267device	mpbios
268attach	mpbios at bios
269file	arch/i386/i386/mpbios.c		mpbios needs-flag
270file	arch/i386/i386/mpbios_intr_fixup.c	mpbios & pci
271
272# CPUS
273define	cpu {[apid = -1]}
274device	cpu
275attach	cpu at mainbus
276file	arch/i386/i386/cpu.c		cpu
277
278# Common APIC support routines
279file	arch/i386/i386/apic.c		ioapic | lapic
280
281# Local APIC (required for multiprocessor)
282define	lapic
283file	arch/i386/i386/lapic.c		lapic needs-flag
284
285# I/O APICs
286device	ioapic: mpbios, lapic
287attach	ioapic at mainbus
288file	arch/i386/i386/ioapic.c		ioapic needs-flag
289
290device	pcibios
291attach	pcibios at bios
292file	arch/i386/pci/pcibios.c		pcibios needs-count
293file	arch/i386/pci/pci_intr_fixup.c	pcibios
294file	arch/i386/pci/pci_bus_fixup.c	pcibios
295file	arch/i386/pci/pci_addr_fixup.c	pcibios
296file	arch/i386/pci/opti82c558.c	pcibios
297file	arch/i386/pci/opti82c700.c	pcibios
298file	arch/i386/pci/piix.c		pcibios
299file	arch/i386/pci/rccosb4.c		pcibios
300file	arch/i386/pci/sis85c503.c	pcibios
301file	arch/i386/pci/via82c586.c	pcibios
302file	arch/i386/pci/via8231.c		pcibios
303file	arch/i386/pci/amd756.c		pcibios
304file	arch/i386/pci/ali1543.c		pcibios
305
306#
307# CARDBUS
308#
309include	"dev/cardbus/files.cardbus"
310file	arch/i386/i386/rbus_machdep.c	cardbus
311
312# XXXX pcic here because it needs to be late.  The catch: pcic needs
313# to be late, so devices which attach to it are attached late.  But it
314# needs to be before its isa and pci attachments.  This answer is
315# non-optimal, but I don't have a better answer right now.
316
317# PCIC pcmcia contoller
318# XXX this needs to be done very late, so it's done here.  This feels
319# like a kludge, but it might be for the best.
320
321device	pcic: pcmciabus
322file	dev/ic/i82365.c			pcic
323
324# PCIC pcmcia controller on ISA bus.
325attach	pcic at isa with pcic_isa
326file	dev/isa/i82365_isa.c		pcic_isa
327
328# PCIC pcmcia controller on PCI bus.
329attach	pcic at pci with pcic_pci
330file	dev/pci/i82365_pci.c		pcic_pci
331
332# PCIC pcmcia controller on PnP board
333attach	pcic at isapnp with pcic_isapnp
334file	dev/isa/i82365_isapnp.c	pcic_isapnp
335
336# Code common to ISA and ISAPnP attachments
337file	dev/isa/i82365_isasubr.c	pcic_isa | pcic_isapnp | pcic_pci
338
339# Databook TCIC/2 pcmcia/isa bridge
340device	tcic: pcmciabus
341file	dev/ic/tcic2.c			tcic
342attach	tcic at isa with tcic_isa
343file	dev/isa/tcic2_isa.c		tcic_isa
344
345#
346# Machine-independent PCMCIA drivers
347#
348include "dev/pcmcia/files.pcmcia"
349
350#
351# Machine-independent HID support
352#
353include	"dev/hid/files.hid"
354
355#
356# Machine-independent USB drivers
357#
358include "dev/usb/files.usb"
359
360#
361# Machine-independent I2C drivers
362#
363include "dev/i2c/files.i2c"
364
365#
366# Machine-independent GPIO drivers
367#
368include "dev/gpio/files.gpio"
369
370#
371# Machine-independent 1-Wire drivers
372#
373include "dev/onewire/files.onewire"
374
375#
376# Machine-independent SD/MMC drivers
377#
378include "dev/sdmmc/files.sdmmc"
379
380include "dev/acpi/files.acpi"
381attach	acpi at bios
382file	arch/i386/i386/acpi_machdep.c		acpi
383file	arch/i386/i386/acpi_wakecode.S		acpi & !small_kernel
384
385#
386# IPMI
387#
388attach	ipmi at mainbus
389
390# Dell Embedded Systems Management
391device	esm
392attach	esm at mainbus
393file	arch/i386/i386/esm.c			esm needs-flag
394
395# quad support is necessary for 32 bit architectures
396file lib/libkern/adddi3.c
397file lib/libkern/anddi3.c
398file lib/libkern/ashldi3.c
399file lib/libkern/ashrdi3.c
400file lib/libkern/cmpdi2.c
401file lib/libkern/divdi3.c
402file lib/libkern/iordi3.c
403file lib/libkern/lshldi3.c
404file lib/libkern/lshrdi3.c
405file lib/libkern/moddi3.c
406file lib/libkern/muldi3.c
407file lib/libkern/negdi2.c
408file lib/libkern/notdi2.c
409file lib/libkern/qdivrem.c
410file lib/libkern/subdi3.c
411file lib/libkern/ucmpdi2.c
412file lib/libkern/udivdi3.c
413file lib/libkern/umoddi3.c
414file lib/libkern/xordi3.c
415