1 # $NetBSD: files.i386,v 1.352 2009/11/03 05:23:27 dyoung Exp $
3 # new style config file for i386 architecture
8 # maxpartitions must be first item in files.${ARCH}.newconf
13 defparam opt_kernbase.h KERNBASE
15 # delay before cpu_reset() for reboot.
16 defparam CPURESET_DELAY
25 # User-settable LDT (used by WINE)
28 # X server support in console drivers
29 defflag opt_xserver.h XSERVER XSERVER_DDB
31 # The REAL{BASE,EXT}MEM options
32 defparam opt_realmem.h REALBASEMEM REALEXTMEM
34 # The PHYSMEM_MAX_{SIZE,ADDR} optionms
35 defparam opt_physmem.h PHYSMEM_MAX_ADDR PHYSMEM_MAX_SIZE
37 # understand boot device passed by pre-1.3 bootblocks
38 defflag COMPAT_OLDBOOT
41 defflag opt_pcibios.h PCIBIOS PCIBIOSVERBOSE
42 PCIBIOS_INTR_GUESS PCIINTR_DEBUG
43 defparam opt_pcibios.h PCIBIOS_IRQS_HINT
46 defflag opt_kstack_dr0.h KSTACK_CHECK_DR0
48 # splraise()/spllower() debug
49 defflag opt_spldebug.h SPLDEBUG
52 defflag opt_beep.h BEEP_ONHALT
53 defparam opt_beep.h BEEP_ONHALT_COUNT=3
54 defparam opt_beep.h BEEP_ONHALT_PITCH=1500
55 defparam opt_beep.h BEEP_ONHALT_PERIOD=250
58 defflag opt_multiboot.h MULTIBOOT
59 obsolete defparam MULTIBOOT_SYMTAB_SPACE
60 file arch/i386/i386/multiboot.c multiboot
65 file arch/i386/i386/autoconf.c
66 file arch/i386/i386/aout_machdep.c exec_aout
67 file arch/i386/i386/busfunc.S
68 file arch/i386/i386/cpufunc.S
69 file arch/i386/i386/cpu_in_cksum.S (inet | inet6) & cpu_in_cksum
70 file arch/i386/i386/db_dbgreg.S ddb | kstack_check_dr0
71 file arch/i386/i386/db_disasm.c ddb
72 file arch/i386/i386/db_interface.c ddb
73 file arch/i386/i386/db_memrw.c ddb | kgdb
74 file arch/i386/i386/db_trace.c ddb
75 file arch/i386/i386/dumpsys.c
76 file kern/subr_disk_mbr.c disk
77 file kern/subr_spldebug.c spldebug
78 file arch/i386/i386/gdt.c
79 file arch/i386/i386/i386func.S
80 file arch/i386/i386/ipkdb_glue.c ipkdb
81 file arch/i386/i386/kgdb_machdep.c kgdb
82 file arch/i386/i386/kobj_machdep.c modular
83 file arch/i386/i386/machdep.c
84 file arch/i386/i386/longrun.c
85 file arch/i386/i386/mem.c
86 file arch/i386/i386/mtrr_k6.c mtrr
87 file arch/i386/i386/process_machdep.c
88 file arch/i386/i386/procfs_machdep.c procfs
89 file arch/i386/i386/trap.c
92 file arch/i386/i386/mptramp.S multiprocessor
94 file arch/i386/i386/pmc.c perfctrs
96 file crypto/des/arch/i386/des_enc.S des
97 file crypto/des/arch/i386/des_cbc.S des
99 file crypto/blowfish/arch/i386/bf_enc.S blowfish
100 file crypto/blowfish/arch/i386/bf_cbc.S blowfish & !i386_cpu
103 # Machine-independent SCSI drivers
106 include "dev/scsipi/files.scsipi"
109 # Machine-independent ATA drivers
112 include "dev/ata/files.ata"
114 # Memory Disk for install floppy
115 file dev/md_root.c memory_disk_hooks & md
118 # Machine-independent I2O drivers
121 include "dev/i2o/files.i2o"
123 # attribute used to bring in BIOS trampoline code for real-mode probing
124 # of certain devices/BIOS features
126 file arch/i386/i386/bioscall.S bioscall needs-flag
130 file arch/i386/i386/bios32.c bios32 needs-flag
132 # i386 specific mainbus attributes
140 # XXX BIOS32 only if something that uses it is configured!
141 device mainbus: isabus, eisabus, mcabus, pcibus, bios32, acpibus,
142 cpubus, ioapicbus, apmbus, pnpbiosbus, ipmibus,
144 attach mainbus at root
145 file arch/i386/i386/mainbus.c mainbus
149 # XXX MUST BE INCLUDED BEFORE files.isa, as long as files.isa attaches
150 # XXX devices to 'pci'.
152 include "dev/pci/files.pci"
153 include "dev/pci/files.agp"
154 file arch/i386/pci/pcibios.c pcibios
155 file arch/i386/pci/pci_intr_fixup.c pcibios & pci_intr_fixup
156 file arch/i386/pci/piix.c pcibios & pci_intr_fixup
157 file arch/i386/pci/opti82c558.c pcibios & pci_intr_fixup
158 file arch/i386/pci/opti82c700.c pcibios & pci_intr_fixup
159 file arch/i386/pci/sis85c503.c pcibios & pci_intr_fixup
160 file arch/i386/pci/via82c586.c pcibios & pci_intr_fixup
161 file arch/i386/pci/via8231.c pcibios & pci_intr_fixup
162 file arch/i386/pci/amd756.c pcibios & pci_intr_fixup
163 file arch/i386/pci/ali1543.c pcibios & pci_intr_fixup
164 defparam PCI_CONF_MODE
165 file arch/i386/pci/pcic_pci_machdep.c pcic_pci
167 # x86 specific PCI hardware
168 include "arch/x86/pci/files.pci"
170 # AMD Elan SC520 System Controller (PCI-Host bridge)
171 define elanparbus { }
172 define elanpexbus { }
173 device elansc: sysmon_wdog, gpiobus, elanparbus, elanpexbus, pcibus
174 attach elansc at pcibus
176 file arch/i386/pci/elan520.c elansc
179 attach elanpar at elanparbus
182 attach elanpex at elanpexbus
184 # AMD Geode CS5535 Companion IDE controller
185 device gcscide: ata, ata_dma, ata_udma, pciide_common, wdc_common
186 attach gcscide at pci
187 file arch/i386/pci/gcscide.c gcscide
189 # AMD Geode CS5536 Companion EHCI
190 device gcscehci: usbus
191 attach gcscehci at pci
192 file arch/i386/pci/gcscehci.c gcscehci
194 # AMD Geode SC1100 GCB area
196 attach geodegcb at pci
197 file arch/i386/pci/geode.c geodegcb
199 # AMD Geode SC1100 Watchdog Timer
200 device geodewdog: sysmon_wdog, geodegcb
201 attach geodewdog at geodegcb
202 file arch/i386/pci/geodewdg.c geodewdog
204 # AMD Geode SC1100 high resolution counter
205 device geodecntr: geodegcb
206 attach geodecntr at geodegcb
207 file arch/i386/pci/geodecntr.c geodecntr
210 device pceb: eisabus, isabus
212 file arch/i386/pci/pceb.c pceb
215 device gscpcib: isabus, gpiobus
216 attach gscpcib at pci
217 file arch/i386/pci/gscpcib.c gscpcib
219 # AMD Geode CS5535/CS5536 PCI-ISA bridge
220 device gcscpcib: isabus, sysmon_wdog, gpiobus
221 attach gcscpcib at pci
222 file arch/i386/pci/gcscpcib.c gcscpcib
224 device piixpcib: isabus, bioscall
225 attach piixpcib at pci
226 file arch/i386/pci/piixpcib.c piixpcib
228 device viapcib: isabus, i2cbus
229 attach viapcib at pci
230 file arch/i386/pci/viapcib.c viapcib
235 file arch/i386/pci/pcmb.c pcmb
238 attach p64h2apic at pci
239 file arch/i386/pci/p64h2apic.c p64h2apic
243 # ISA and mixed ISA+EISA or ISA+PCI drivers
246 include "dev/isa/files.isa"
249 file arch/x86/isa/clock.c isa
250 file arch/x86/isa/rtc.c isa
253 file arch/x86/x86/tsc.c
255 # Numeric Processing Extension; Math Co-processor
257 file arch/i386/isa/npx.c npx needs-flag
259 attach npx at isa with npx_isa
260 file arch/i386/isa/npx_isa.c npx_isa
262 # PC Mice: Logitech-style and Microsoft-style
263 device lms: wsmousedev
265 file arch/i386/isa/lms.c lms
266 device mms: wsmousedev
268 file arch/i386/isa/mms.c mms
270 include "dev/pckbport/files.pckbport"
273 attach sysbeep at pcppi
275 # Floppy disk controller
276 device fdc {drive = -1}: isadma
277 file dev/isa/fd.c fdc needs-flag
279 attach fdc at isa with fdc_isa
280 file dev/isa/fdc_isa.c fdc_isa
285 # Adaptec AHA-284x VL SCSI controllers
286 # device declaration in sys/conf/files
287 attach ahc at isa with ahc_isa: ahc_aic77xx, smc93cx6
288 file arch/i386/isa/ahc_isa.c ahc_isa
294 include "dev/eisa/files.eisa"
295 file arch/i386/eisa/eisa_machdep.c eisa
301 device mca {[slot = -1]} : bioscall
302 include "dev/mca/files.mca"
303 file arch/i386/mca/mca_machdep.c mca
305 # ISA Plug 'n Play devices
306 file arch/i386/isa/isapnp_machdep.c isapnp
311 include "dev/vme/files.vme"
316 include "dev/gpib/files.gpib"
322 file arch/i386/isa/cmos.c cmos needs-flag
325 # Other mainbus-attached devices
328 include "dev/apm/files.apm"
330 # Advanced Power Management support (APM)
331 attach apm at apmbus with apmbios: bioscall
332 file arch/i386/i386/apmbios.c apmbios needs-flag
333 file arch/i386/i386/apmcall.S apmbios
335 # XBox LED & system support
336 file arch/i386/xbox/xbox.c xbox
338 # XBox X3LCD support (*very* rudimentary)
339 file arch/i386/xbox/xboxlcd.c xbox
341 # XBox framebuffer support
342 device xboxfb: wsemuldisplaydev, rasops32, vcons
344 file arch/i386/xbox/xboxfb.c xboxfb needs-flag
347 # Compatibility modules
351 file arch/i386/i386/vm86.c vm86
354 file arch/i386/i386/kvm86.c kvm86
355 file arch/i386/i386/kvm86call.S kvm86
357 # Binary compatibility with previous NetBSD releases (COMPAT_XX)
358 file arch/i386/i386/compat_13_machdep.c compat_13
359 file arch/i386/i386/compat_16_machdep.c compat_16 | compat_ibcs2
361 # SVR4 binary compatibility (COMPAT_SVR4)
362 include "compat/svr4/files.svr4"
363 file arch/i386/i386/svr4_machdep.c compat_svr4
364 file arch/i386/i386/svr4_sigcode.S compat_svr4
365 file arch/i386/i386/svr4_syscall.c compat_svr4
367 # MACH binary compatibility (COMPAT_MACH)
368 include "compat/mach/files.mach"
369 file arch/i386/i386/mach_machdep.c compat_mach | compat_darwin
370 file arch/i386/i386/mach_sigcode.S compat_mach | compat_darwin
371 file arch/i386/i386/mach_syscall.c compat_mach | compat_darwin
372 file arch/i386/i386/darwin_commpage_machdep.S compat_darwin
373 file arch/i386/i386/macho_machdep.c exec_macho
375 # DARWIN binary compatibility (COMPAT_DARWIN)
376 include "compat/darwin/files.darwin"
377 file arch/i386/i386/darwin_machdep.c compat_darwin
379 # iBCS-2 binary compatibility (COMPAT_IBCS2)
380 include "compat/ibcs2/files.ibcs2"
381 file arch/i386/i386/ibcs2_machdep.c compat_ibcs2
382 file arch/i386/i386/ibcs2_sigcode.S compat_ibcs2
383 file arch/i386/i386/ibcs2_syscall.c compat_ibcs2
385 # Linux binary compatibility (COMPAT_LINUX)
386 include "compat/linux/files.linux"
387 include "compat/linux/arch/i386/files.linux_i386"
388 file arch/i386/i386/linux_sigcode.S compat_linux
389 file arch/i386/i386/linux_syscall.c compat_linux
390 file arch/x86/x86/linux_trap.c compat_linux
392 # FreeBSD binary compatibility (COMPAT_FREEBSD)
393 include "compat/freebsd/files.freebsd"
394 file arch/i386/i386/freebsd_machdep.c compat_freebsd
395 file arch/i386/i386/freebsd_sigcode.S compat_freebsd
396 file arch/i386/i386/freebsd_syscall.c compat_freebsd
398 # NDIS compatibilty (COMPAT_NDIS)
399 include "compat/ndis/files.ndis"
401 # Win32 binary compatibility (COMPAT_PECOFF)
402 include "compat/pecoff/files.pecoff"
404 # OSS audio driver compatibility
405 include "compat/ossaudio/files.ossaudio"
410 include "dev/cardbus/files.cardbus"
411 file arch/i386/i386/rbus_machdep.c cardbus
413 # XXXX pcic here because it needs to be late. The catch: pcic needs
414 # to be late, so devices which attach to it are attached late. But it
415 # needs to be before its isa and pci attachments. This answer is
416 # non-optimal, but I don't have a better answer right now.
418 # PCIC pcmcia controller
419 # XXX this needs to be done very late, so it's done here. This feels
420 # like a kludge, but it might be for the best.
422 defparam PCIC_ISA_ALLOC_IOBASE
423 defparam PCIC_ISA_ALLOC_IOSIZE
424 defparam PCIC_ISA_INTR_ALLOC_MASK
426 device pcic: pcmciabus
427 file dev/ic/i82365.c pcic
429 # PCIC pcmcia controller on ISA bus.
430 attach pcic at isa with pcic_isa
431 file dev/isa/i82365_isa.c pcic_isa
433 # PCIC pcmcia controller on PCI bus.
434 attach pcic at pci with pcic_pci
435 file dev/pci/i82365_pci.c pcic_pci
437 # PCIC pcmcia controller on PnP board
438 attach pcic at isapnp with pcic_isapnp
439 file dev/isapnp/i82365_isapnp.c pcic_isapnp
441 # Code common to ISA and ISAPnP attachments
442 file dev/isa/i82365_isasubr.c pcic_isa | pcic_isapnp | pcic_pci
444 # XXXX tcic here because it needs to be late. The catch: tcic needs
445 # to be late, so devices which attach to it are attached late. But it
446 # needs to be before its isa and pci attachments. This answer is
447 # non-optimal, but I don't have a better answer right now.
449 # TCIC pcmcia controller
450 # XXX this needs to be done very late, so it's done here. This feels
451 # like a kludge, but it might be for the best.
453 defparam TCIC_ISA_ALLOC_IOBASE
454 defparam TCIC_ISA_ALLOC_IOSIZE
455 defparam TCIC_ISA_INTR_ALLOC_MASK
457 device tcic: pcmciabus
458 file dev/ic/tcic2.c tcic
460 # TCIC pcmcia controller
461 attach tcic at isa with tcic_isa
462 file dev/isa/tcic2_isa.c tcic_isa
464 # this wants to be probed as late as possible.
466 # Machine-independent PCMCIA drivers
468 include "dev/pcmcia/files.pcmcia"
471 include "dev/usb/files.usb"
473 include "dev/bluetooth/files.bluetooth"
475 include "dev/sdmmc/files.sdmmc"
477 include "dev/ieee1394/files.ieee1394"
479 include "arch/i386/pnpbios/files.pnpbios"
481 include "dev/acpi/files.acpi"
482 file arch/i386/acpi/acpi_wakeup_low.S acpi
486 attach vald at acpinodebus with vald_acpi
487 file arch/i386/acpi/vald_acpi.c vald_acpi
489 # Numeric Processing Extension; Math Co-processor
490 attach npx at acpinodebus with npx_acpi
491 file arch/i386/acpi/npx_acpi.c npx_acpi
493 # Obsolete vesabios/vesafb flags
494 obsolete defflag opt_vesabios.h VESABIOSVERBOSE
495 obsolete defparam opt_vesafb.h VESAFB_WIDTH VESAFB_HEIGHT VESAFB_DEPTH
496 obsolete defflag opt_vesafb.h VESAFB_PM
499 file arch/i386/i386/powernow_k7.c powernow_k7
501 # AMD Geode LX Security Block
502 device glxsb: opencrypto
504 file arch/i386/pci/glxsb.c glxsb
506 include "arch/i386/conf/majors.i386"