files.i386 revision 1.381
1#	$NetBSD: files.i386,v 1.381 2017/07/29 11:54:14 maxv Exp $
2#
3# new style config file for i386 architecture
4#
5
6ifndef xen
7
8# maxpartitions must be first item in files.${ARCH}.newconf
9maxpartitions 8
10
11maxusers 2 16 128
12
13defparam opt_kernbase.h	KERNBASE
14
15# delay before cpu_reset() for reboot.
16defparam		CPURESET_DELAY
17
18# Obsolete Xbox support
19obsolete defflag	XBOX
20
21# VM86 emulation
22defflag			VM86
23
24defflag			PMC
25
26# User-settable LDT (used by WINE)
27defflag			USER_LDT
28
29# X server support in console drivers
30defflag	opt_xserver.h	XSERVER XSERVER_DDB
31
32# The REAL{BASE,EXT}MEM options
33defparam opt_realmem.h	REALBASEMEM REALEXTMEM
34
35# The PHYSMEM_MAX_{SIZE,ADDR} optionms
36defparam opt_physmem.h	PHYSMEM_MAX_ADDR PHYSMEM_MAX_SIZE
37
38# PCI BIOS options
39defflag	opt_pcibios.h	PCIBIOS PCIBIOSVERBOSE
40			PCIBIOS_INTR_GUESS PCIINTR_DEBUG
41defparam opt_pcibios.h	PCIBIOS_IRQS_HINT
42
43# splraise()/spllower() debug
44defflag	opt_spldebug.h			SPLDEBUG
45
46# Beep on halt
47defflag 	opt_beep.h		BEEP_ONHALT
48defparam 	opt_beep.h		BEEP_ONHALT_COUNT=3
49defparam 	opt_beep.h		BEEP_ONHALT_PITCH=1500
50defparam 	opt_beep.h		BEEP_ONHALT_PERIOD=250
51
52# Multiboot support
53defflag 	opt_multiboot.h		MULTIBOOT
54obsolete 	defparam		MULTIBOOT_SYMTAB_SPACE
55file 	arch/i386/i386/multiboot.c	multiboot
56
57file	arch/i386/i386/autoconf.c
58file	arch/i386/i386/aout_machdep.c	exec_aout
59file	arch/i386/i386/busfunc.S
60file	arch/i386/i386/cpufunc.S
61file	arch/i386/i386/cpu_in_cksum.S	(inet | inet6) & cpu_in_cksum
62file	arch/i386/i386/db_disasm.c	ddb
63file	arch/i386/i386/db_interface.c	ddb
64file	arch/i386/i386/db_machdep.c	ddb
65file	arch/i386/i386/dumpsys.c
66file	kern/subr_disk_mbr.c		disk
67file	kern/subr_spldebug.c		spldebug
68file	arch/i386/i386/gdt.c
69file	arch/i386/i386/i386func.S
70file	arch/i386/i386/ipkdb_glue.c	ipkdb
71file	arch/i386/i386/kgdb_machdep.c	kgdb
72file	arch/i386/i386/kobj_machdep.c	modular
73file	arch/i386/i386/machdep.c
74file 	arch/i386/i386/longrun.c
75file	arch/i386/i386/mtrr_k6.c	mtrr
76file	arch/i386/i386/process_machdep.c
77file	arch/x86/x86/convert_xmm_s87.c
78file	arch/i386/i386/trap.c
79file	dev/cons.c
80file	arch/x86/x86/fpu.c
81file	arch/x86/x86/dbregs.c
82
83file	arch/i386/i386/mptramp.S	multiprocessor
84
85file	crypto/des/arch/i386/des_enc.S		des
86file	crypto/des/arch/i386/des_cbc.S		des
87
88file	crypto/blowfish/arch/i386/bf_enc.S	blowfish
89file	crypto/blowfish/arch/i386/bf_cbc.S	blowfish & !i386_cpu
90
91#
92# Stack-less Just-In-Time compiler
93#
94
95include	"external/bsd/sljit/conf/files.sljit"
96
97#
98# Machine-independent SCSI drivers
99#
100
101include	"dev/scsipi/files.scsipi"
102
103#
104# Machine-independent ATA drivers
105#
106
107include	"dev/ata/files.ata"
108
109# Memory Disk for install floppy
110file	dev/md_root.c			memory_disk_hooks & md
111
112#
113# Machine-independent I2O drivers
114#
115
116include	"dev/i2o/files.i2o"
117
118# attribute used to bring in BIOS trampoline code for real-mode probing
119# of certain devices/BIOS features
120define	bioscall
121file	arch/i386/i386/bioscall.S	bioscall needs-flag
122
123# BIOS32 routines
124define	bios32
125file	arch/i386/i386/bios32.c		bios32 needs-flag
126
127# i386 specific mainbus attributes
128define	apmbus {}
129define	pnpbiosbus {}
130
131#
132# System bus types
133#
134
135# XXX BIOS32 only if something that uses it is configured!
136device	mainbus: isabus, eisabus, mcabus, pcibus, bios32, acpibus,
137	cpubus, ioapicbus, apmbus, pnpbiosbus, ipmibus,
138	bioscall
139attach	mainbus at root
140file	arch/i386/i386/mainbus.c	mainbus
141
142#
143# PCI-only drivers
144# XXX MUST BE INCLUDED BEFORE files.isa, as long as files.isa attaches
145# XXX devices to 'pci'.
146#
147include	"dev/pci/files.pci"
148include "dev/pci/files.agp"
149file	arch/i386/pci/pcibios.c		pcibios
150file	arch/i386/pci/pci_intr_fixup.c	pcibios & pci_intr_fixup
151file	arch/i386/pci/piix.c		pcibios & pci_intr_fixup
152file	arch/i386/pci/opti82c558.c	pcibios & pci_intr_fixup
153file	arch/i386/pci/opti82c700.c	pcibios & pci_intr_fixup
154file	arch/i386/pci/sis85c503.c	pcibios & pci_intr_fixup
155file	arch/i386/pci/via82c586.c	pcibios & pci_intr_fixup
156file	arch/i386/pci/via8231.c		pcibios & pci_intr_fixup
157file	arch/i386/pci/amd756.c		pcibios & pci_intr_fixup
158file	arch/i386/pci/ali1543.c		pcibios & pci_intr_fixup
159defparam		PCI_CONF_MODE
160file	arch/i386/pci/pcic_pci_machdep.c	pcic_pci
161
162# x86 specific PCI hardware
163include "arch/x86/pci/files.pci"
164
165# AMD Elan SC520 System Controller (PCI-Host bridge)
166define elanparbus { }
167define elanpexbus { }
168device	elansc: sysmon_wdog, gpiobus, elanparbus, elanpexbus, pcibus
169attach	elansc at pcibus
170
171file	arch/i386/pci/elan520.c		elansc
172
173device elanpar
174attach elanpar at elanparbus
175
176device elanpex
177attach elanpex at elanpexbus
178
179# AMD Geode CS5535 Companion IDE controller
180device	gcscide: ata, ata_dma, ata_udma, pciide_common, wdc_common
181attach	gcscide at pci
182file	arch/i386/pci/gcscide.c 	gcscide
183
184# AMD Geode CS5536 Companion EHCI
185device	gcscehci: usbus
186attach	gcscehci at pci
187file	arch/i386/pci/gcscehci.c	gcscehci
188
189# AMD Geode SC1100 GCB area
190device  geodegcb {}
191attach	geodegcb at pci
192file	arch/i386/pci/geode.c		geodegcb
193
194# AMD Geode SC1100 Watchdog Timer
195device	geodewdog: sysmon_wdog, geodegcb
196attach	geodewdog at geodegcb
197file	arch/i386/pci/geodewdg.c	geodewdog
198
199# AMD Geode SC1100 high resolution counter
200device	geodecntr: geodegcb
201attach  geodecntr at geodegcb
202file	arch/i386/pci/geodecntr.c	geodecntr
203
204# PCI-EISA bridges
205device	pceb: eisabus, isabus
206attach	pceb at pci
207file	arch/i386/pci/pceb.c		pceb
208
209# PCI-ISA bridges
210device	gscpcib: isabus, gpiobus
211attach	gscpcib at pci
212file	arch/i386/pci/gscpcib.c		gscpcib
213
214# AMD Geode CS5535/CS5536 PCI-ISA bridge
215device	gcscpcib: isabus, sysmon_wdog, gpiobus
216attach	gcscpcib at pci with gcscpcib_pci
217file	arch/i386/pci/gcscpcib_pci.c	gcscpcib_pci
218file	dev/ic/gcscpcib.c		gcscpcib
219
220device	piixpcib: isabus, bioscall
221attach	piixpcib at pci
222file	arch/i386/pci/piixpcib.c	piixpcib
223
224device	viapcib: isabus, i2cbus
225attach	viapcib at pci
226file	arch/i386/pci/viapcib.c		viapcib
227
228# PCI-MCA bridges
229device	pcmb: mcabus
230attach	pcmb at pci
231file	arch/i386/pci/pcmb.c		pcmb
232
233device	p64h2apic
234attach	p64h2apic at pci
235file	arch/i386/pci/p64h2apic.c	p64h2apic
236
237
238#
239# ISA and mixed ISA+EISA or ISA+PCI drivers
240#
241
242include	"dev/isa/files.isa"
243
244# Protech PS3100 cash drawer
245device	ptcd: gpiobus
246attach	ptcd at isa
247file	dev/isa/ptcd.c			ptcd
248
249# PC Mice: Logitech-style and Microsoft-style
250device	lms: wsmousedev
251attach	lms at isa
252file	arch/i386/isa/lms.c		lms
253device	mms: wsmousedev
254attach	mms at isa
255file	arch/i386/isa/mms.c		mms
256
257include	"dev/pckbport/files.pckbport"
258
259device	sysbeep
260attach	sysbeep at pcppi
261
262# Floppy disk controller
263device	fdc {drive = -1}: isadma
264file	dev/isa/fd.c			fdc needs-flag
265
266attach	fdc at isa with fdc_isa
267file	dev/isa/fdc_isa.c		fdc_isa
268
269device	fd: disk
270attach	fd at fdc
271
272# Adaptec AHA-284x VL SCSI controllers
273# device declaration in sys/conf/files
274attach	ahc at isa with ahc_isa: ahc_aic77xx, smc93cx6
275file	arch/i386/isa/ahc_isa.c		ahc_isa
276
277#
278# EISA-only drivers
279#
280
281include	"dev/eisa/files.eisa"
282file	arch/i386/eisa/eisa_machdep.c	eisa
283
284#
285# MCA-only drivers
286#
287
288device	mca {[slot = -1]} : bioscall
289include	"dev/mca/files.mca"
290file	arch/i386/mca/mca_machdep.c	mca
291
292# ISA Plug 'n Play devices
293file	arch/i386/isa/isapnp_machdep.c	isapnp
294
295#
296# VME support
297#
298include	"dev/vme/files.vme"
299
300#
301# GPIB support
302#
303include "dev/gpib/files.gpib"
304
305#
306# CMOS RAM
307#
308defpseudo cmos
309file	arch/i386/isa/cmos.c		cmos needs-flag
310
311#
312# Other mainbus-attached devices
313#
314
315include "dev/apm/files.apm"
316
317#
318# Compatibility modules
319#
320
321# VM86 mode
322file	arch/i386/i386/vm86.c			vm86
323
324# Binary compatibility with previous NetBSD releases (COMPAT_XX)
325file	arch/i386/i386/compat_13_machdep.c	compat_13
326file	arch/i386/i386/compat_16_machdep.c	compat_16 | compat_ibcs2
327
328# SVR4 binary compatibility (COMPAT_SVR4)
329include	"compat/svr4/files.svr4"
330
331# iBCS-2 binary compatibility (COMPAT_IBCS2)
332include	"compat/ibcs2/files.ibcs2"
333file	arch/i386/i386/ibcs2_machdep.c		compat_ibcs2
334file	arch/i386/i386/ibcs2_sigcode.S		compat_ibcs2
335file	arch/i386/i386/ibcs2_syscall.c		compat_ibcs2
336
337# Linux binary compatibility (COMPAT_LINUX)
338include	"compat/linux/files.linux"
339include	"compat/linux/arch/i386/files.linux_i386"
340file	arch/i386/i386/linux_sigcode.S		compat_linux
341file	arch/i386/i386/linux_syscall.c		compat_linux
342file	arch/x86/x86/linux_trap.c		compat_linux
343
344# FreeBSD binary compatibility (COMPAT_FREEBSD)
345include	"compat/freebsd/files.freebsd"
346file	arch/i386/i386/freebsd_machdep.c	compat_freebsd
347file	arch/i386/i386/freebsd_sigcode.S	compat_freebsd
348file	arch/i386/i386/freebsd_syscall.c	compat_freebsd
349
350# NDIS compatibilty (COMPAT_NDIS)
351include "compat/ndis/files.ndis"
352
353# OSS audio driver compatibility
354include	"compat/ossaudio/files.ossaudio"
355
356#
357# CARDBUS
358#
359include	"dev/cardbus/files.cardbus"
360file	arch/i386/i386/rbus_machdep.c	cardbus
361
362# XXXX pcic here because it needs to be late.  The catch: pcic needs
363# to be late, so devices which attach to it are attached late.  But it
364# needs to be before its isa and pci attachments.  This answer is
365# non-optimal, but I don't have a better answer right now.
366
367# PCIC pcmcia controller
368# XXX this needs to be done very late, so it's done here.  This feels
369# like a kludge, but it might be for the best.
370
371defparam		PCIC_ISA_ALLOC_IOBASE
372defparam		PCIC_ISA_ALLOC_IOSIZE
373defparam		PCIC_ISA_INTR_ALLOC_MASK
374
375device	pcic: pcmciabus
376file	dev/ic/i82365.c			pcic
377
378# PCIC pcmcia controller on ISA bus.
379attach	pcic at isa with pcic_isa
380file	dev/isa/i82365_isa.c		pcic_isa
381
382# PCIC pcmcia controller on PCI bus.
383attach	pcic at pci with pcic_pci
384file	dev/pci/i82365_pci.c		pcic_pci
385
386# PCIC pcmcia controller on PnP board
387attach	pcic at isapnp with pcic_isapnp
388file	dev/isapnp/i82365_isapnp.c	pcic_isapnp
389
390# Code common to ISA and ISAPnP attachments
391file	dev/isa/i82365_isasubr.c	pcic_isa | pcic_isapnp | pcic_pci
392
393# XXXX tcic here because it needs to be late.  The catch: tcic needs
394# to be late, so devices which attach to it are attached late.  But it
395# needs to be before its isa and pci attachments.  This answer is
396# non-optimal, but I don't have a better answer right now.
397
398# TCIC pcmcia controller
399# XXX this needs to be done very late, so it's done here.  This feels
400# like a kludge, but it might be for the best.
401
402defparam		TCIC_ISA_ALLOC_IOBASE
403defparam		TCIC_ISA_ALLOC_IOSIZE
404defparam		TCIC_ISA_INTR_ALLOC_MASK
405
406device	tcic: pcmciabus
407file	dev/ic/tcic2.c			tcic
408
409# TCIC pcmcia controller
410attach	tcic at isa with tcic_isa
411file	dev/isa/tcic2_isa.c		tcic_isa
412
413# this wants to be probed as late as possible.
414#
415# Machine-independent PCMCIA drivers
416#
417include	"dev/pcmcia/files.pcmcia"
418
419
420include	"dev/usb/files.usb"
421
422include	"dev/bluetooth/files.bluetooth"
423
424include	"dev/sdmmc/files.sdmmc"
425
426include	"dev/ieee1394/files.ieee1394"
427
428include	"arch/i386/pnpbios/files.pnpbios"
429
430include "dev/acpi/files.acpi"
431file	arch/i386/acpi/acpi_wakeup_low.S	acpi
432
433# Obsolete vesabios/vesafb flags
434obsolete	defflag	opt_vesabios.h	VESABIOSVERBOSE
435obsolete	defparam opt_vesafb.h	VESAFB_WIDTH VESAFB_HEIGHT VESAFB_DEPTH
436obsolete	defflag	opt_vesafb.h	VESAFB_PM
437
438# AMD Geode LX Security Block
439device	glxsb: opencrypto
440attach	glxsb at pci
441file	arch/i386/pci/glxsb.c		glxsb
442
443include "arch/i386/conf/majors.i386"
444endif #xen
445