files.i386 revision 1.172
1# $NetBSD: files.i386,v 1.172 2000/11/21 21:13:24 jdolecek Exp $ 2# 3# new style config file for i386 architecture 4# 5 6# maxpartitions must be first item in files.${ARCH}.newconf 7maxpartitions 8 8 9maxusers 2 16 64 10 11# APM options 12defopt opt_apm.h APM_DISABLE APM_FORCE_64K_SEGMENTS APM_NO_IDLE 13 APM_NO_STANDBY APM_V10_ONLY APM_NO_V12 APMDEBUG APMDEBUG_VALUE 14 APM_POWER_PRINT APM_DISABLE_INTERRUPTS APM_ALLOW_BOGUS_SEGMENTS 15 16# Processor type options. 17defopt opt_cputype.h I386_CPU I486_CPU I586_CPU I686_CPU 18 19# delay before cpu_reset() for reboot. 20defopt CPURESET_DELAY 21 22# VM86 emulation 23defopt VM86 24 25# Floating point emulation 26defopt MATH_EMULATE 27 28# User-settable LDT (used by WINE) 29defopt USER_LDT 30 31# Speed hack; make NOPs dummies (might break on some machines) 32defopt DUMMY_NOPS 33 34# Performance counter support 35defopt PERFCTRS 36 37# X server support in console drivers 38defopt opt_xserver.h XSERVER XSERVER_DDB 39 40# understand boot device passed by pre-1.3 bootblocks 41defopt COMPAT_OLDBOOT 42 43# PCI BIOS options 44defopt opt_pcibios.h PCIBIOS PCIBIOSVERBOSE 45 PCIBIOS_ADDR_FIXUP PCIBIOS_BUS_FIXUP 46 PCIBIOS_INTR_FIXUP PCIBIOS_INTR_FIXUP_FORCE 47 PCIBIOS_INTR_GUESS PCIBIOS_IRQS_HINT PCIINTR_DEBUG 48 49# Large page size 50defopt LARGEPAGES 51 52file arch/i386/i386/autoconf.c 53file arch/i386/i386/bus_machdep.c 54file arch/i386/i386/conf.c 55file arch/i386/i386/consinit.c 56file arch/i386/i386/db_dbgreg.s ddb 57file arch/i386/i386/db_disasm.c ddb 58file arch/i386/i386/db_interface.c ddb 59file arch/i386/i386/db_memrw.c ddb | kgdb 60file arch/i386/i386/db_trace.c ddb 61file arch/i386/i386/disksubr.c disk 62file arch/i386/i386/gdt.c 63file arch/i386/i386/in_cksum.s inet 64file netinet/in4_cksum.c inet 65file arch/i386/i386/ipkdb_glue.c ipkdb 66file arch/i386/i386/kgdb_machdep.c kgdb 67file arch/i386/i386/machdep.c 68file arch/i386/i386/math_emulate.c math_emulate 69file arch/i386/i386/mem.c 70file arch/i386/i386/microtime.s 71file netns/ns_cksum.c ns 72file arch/i386/i386/pmap.c 73file arch/i386/i386/process_machdep.c 74file arch/i386/i386/sys_machdep.c 75file arch/i386/i386/trap.c 76file arch/i386/i386/vm_machdep.c 77file dev/cons.c 78 79file arch/i386/i386/pmc.c perfctrs 80 81# 82# Machine-independent SCSI drivers 83# 84 85include "dev/scsipi/files.scsipi" 86major {sd = 4} 87major {cd = 6} 88 89# 90# Machine-independent ATA drivers 91# 92 93include "dev/ata/files.ata" 94major {wd = 0} 95 96# Memory Disk for install floppy 97file arch/i386/i386/md_root.c memory_disk_hooks 98major {md = 17} 99 100# RAIDframe 101major {raid = 18} 102 103# Logical storage units 104major {lsu = 19} 105 106# 107# Machine-independent I2O drivers 108# 109 110include "dev/i2o/files.i2o" 111 112# attribute used to bring in BIOS trampoline code for real-mode probing 113# of certain devices/BIOS features 114define bioscall 115file arch/i386/i386/bioscall.s bioscall needs-flag 116 117# BIOS32 routines 118define bios32 119file arch/i386/i386/bios32.c bios32 needs-flag 120 121# 122# System bus types 123# 124 125define mainbus { } 126# XXX BIOS32 only if something that uses it is configured! 127device mainbus: isabus, eisabus, mcabus, pcibus, mainbus, bios32 128attach mainbus at root 129file arch/i386/i386/mainbus.c mainbus 130 131# 132# PCI-only drivers 133# XXX MUST BE INCLUDED BEFORE files.isa, as long as files.isa attaches 134# XXX devices to 'pci'. 135# 136 137include "dev/pci/files.pci" 138file arch/i386/pci/pci_machdep.c pci 139file arch/i386/pci/pcibios.c pcibios 140file arch/i386/pci/pci_intr_fixup.c pcibios & pcibios_intr_fixup 141file arch/i386/pci/piix.c pcibios & pcibios_intr_fixup 142file arch/i386/pci/opti82c558.c pcibios & pcibios_intr_fixup 143file arch/i386/pci/opti82c700.c pcibios & pcibios_intr_fixup 144file arch/i386/pci/sis85c503.c pcibios & pcibios_intr_fixup 145file arch/i386/pci/via82c586.c pcibios & pcibios_intr_fixup 146file arch/i386/pci/pci_bus_fixup.c pcibios & pcibios_bus_fixup 147file arch/i386/pci/pci_addr_fixup.c pcibios & pcibios_addr_fixup 148defopt PCI_CONF_MODE 149file arch/i386/pci/pciide_machdep.c pciide 150file arch/i386/pci/pcic_pci_machdep.c pcic_pci 151 152# PCI-Host bridge chipsets 153device pchb: pcibus 154attach pchb at pci 155file arch/i386/pci/pchb.c pchb 156file arch/i386/pci/pchb_rnd.c pchb & rnd 157 158# PCI-EISA bridges 159device pceb: eisabus, isabus 160attach pceb at pci 161file arch/i386/pci/pceb.c pceb 162 163# PCI-ISA bridges 164device pcib: isabus 165attach pcib at pci 166file arch/i386/pci/pcib.c pcib 167 168# Game adapter (joystick) 169device joy 170file arch/i386/isa/joy.c joy needs-flag 171 172# PCI joysticks 173attach joy at pci with pci_joy 174file arch/i386/pci/joy_pci.c pci_joy 175 176# 177# ISA and mixed ISA+EISA or ISA+PCI drivers 178# 179 180include "dev/isa/files.isa" 181major {mcd = 7} 182#major {scd = 15} 183 184# XXX THE FOLLOWING BLOCK SHOULD GO INTO dev/pci/files.pci, BUT CANNOT 185# XXX BECAUSE NOT 'lpt' IS DEFINED IN files.isa, RATHER THAN files. 186# XXX (when the conf/files and files.isa bogons are fixed, this can 187# XXX be fixed as well.) 188 189attach lpt at puc with lpt_puc 190file dev/pci/lpt_puc.c lpt_puc 191 192file arch/i386/isa/isa_machdep.c isa 193 194# PC clock 195file arch/i386/isa/clock.c isa 196file dev/clock_subr.c isa 197 198# Numeric Processing Extension; Math Co-processor 199device npx 200file arch/i386/isa/npx.c npx needs-flag 201 202attach npx at isa with npx_isa 203file arch/i386/isa/npx_isa.c npx_isa 204 205# attribute used to represent the "keyboard controller" 206# XXX should be a real device 207define pckbcport { [irq = -1], [port = -1] } 208 209# PC console support a la "pccons" 210device pc: tty, pckbcport 211attach pc at isa 212device pcconskbd 213attach pcconskbd at pckbc 214file arch/i386/isa/pccons.c pc | pcconskbd needs-flag 215 216# PC Mice; Logitech-style, Microsoft-style, and PS/2-style 217device olms 218attach olms at isa 219file arch/i386/isa/olms.c olms needs-flag 220device lms: wsmousedev 221attach lms at isa 222file arch/i386/isa/lms.c lms 223device omms 224attach omms at isa 225file arch/i386/isa/omms.c omms needs-flag 226device mms: wsmousedev 227attach mms at isa 228file arch/i386/isa/mms.c mms 229device opms 230attach opms at pckbcport with opms_hack 231attach opms at pckbc with opms_pckbc 232file arch/i386/isa/pms.c opms | opms_hack | opms_pckbc needs-flag 233 234include "dev/wscons/files.wscons" 235 236include "dev/pckbc/files.pckbc" 237 238device sysbeep 239attach sysbeep at pcppi 240 241# Floppy disk controller 242device fdc {drive = -1}: isadma 243file dev/isa/fd.c fdc needs-flag 244 245attach fdc at isa with fdc_isa 246file dev/isa/fdc_isa.c fdc_isa 247 248device fd: disk 249attach fd at fdc 250major {fd = 2} 251 252attach joy at isa with joy_isa 253file arch/i386/isa/joy_isa.c joy_isa 254 255# Adaptec AHA-284x VL SCSI controllers 256# device declaration in sys/conf/files 257attach ahc at isa with ahc_isa: ahc_aic77xx, smc93cx6 258file arch/i386/isa/ahc_isa.c ahc_isa 259 260# 261# EISA-only drivers 262# 263 264include "dev/eisa/files.eisa" 265file arch/i386/eisa/eisa_machdep.c eisa 266 267# 268# MCA-only drivers 269# 270 271device mca {[slot = -1]} : bioscall 272include "dev/mca/files.mca" 273file arch/i386/mca/mca_machdep.c mca 274 275# ISA Plug 'n Play devices 276file arch/i386/isa/isapnp_machdep.c isapnp 277 278attach joy at isapnp with joy_isapnp 279file arch/i386/isa/joy_isapnp.c joy_isapnp 280 281# 282# VME support 283# 284include "dev/vme/files.vme" 285 286# 287# Other mainbus-attached devices 288# 289 290# Advanced Power Management support (APM) 291device apm: bioscall 292attach apm at mainbus 293file arch/i386/i386/apm.c apm needs-count 294file arch/i386/i386/apmcall.s apm 295 296# 297# Compatibility modules 298# 299 300# VM86 mode 301file arch/i386/i386/vm86.c vm86 302 303# Binary compatibility with previous NetBSD releases (COMPAT_XX) 304file arch/i386/i386/compat_13_machdep.c compat_13 | compat_aout 305 306# SVR4 binary compatibility (COMPAT_SVR4) 307include "compat/svr4/files.svr4" 308file arch/i386/i386/svr4_machdep.c compat_svr4 309file arch/i386/i386/svr4_locore.s compat_svr4 310 311# iBCS-2 binary compatibility (COMPAT_IBCS2) 312include "compat/ibcs2/files.ibcs2" 313file arch/i386/i386/ibcs2_machdep.c compat_ibcs2 314file arch/i386/i386/ibcs2_locore.s compat_ibcs2 315 316# Linux binary compatibility (COMPAT_LINUX) 317include "compat/linux/files.linux" 318include "compat/linux/arch/i386/files.linux_i386" 319file arch/i386/i386/linux_locore.s compat_linux 320 321# FreeBSD binary compatibility (COMPAT_FREEBSD) 322include "compat/freebsd/files.freebsd" 323file arch/i386/i386/freebsd_machdep.c compat_freebsd 324file arch/i386/i386/freebsd_locore.s compat_freebsd 325 326# a.out binary compatibility (COMPAT_AOUT) 327include "compat/aout/files.aout" 328 329# Win32 binary compatibility (COMPAT_PECOFF) 330include "compat/pecoff/files.pecoff" 331 332# OSS audio driver compatibility 333include "compat/ossaudio/files.ossaudio" 334 335# network devices MII bus 336include "dev/mii/files.mii" 337 338# 339# CARDBUS 340# 341include "dev/cardbus/files.cardbus" 342file arch/i386/i386/rbus_machdep.c cardbus 343 344# XXXX pcic here because it needs to be late. The catch: pcic needs 345# to be late, so devices which attach to it are attached late. But it 346# needs to be before its isa and pci attachments. This answer is 347# non-optimal, but I don't have a better answer right now. 348 349# PCIC pcmcia controller 350# XXX this needs to be done very late, so it's done here. This feels 351# like a kludge, but it might be for the best. 352 353defopt PCIC_ISA_ALLOC_IOBASE 354defopt PCIC_ISA_ALLOC_IOSIZE 355defopt PCIC_ISA_INTR_ALLOC_MASK 356 357device pcic: pcmciabus 358file dev/ic/i82365.c pcic 359 360# PCIC pcmcia controller on ISA bus. 361attach pcic at isa with pcic_isa 362file dev/isa/i82365_isa.c pcic_isa 363 364# PCIC pcmcia controller on PCI bus. 365attach pcic at pci with pcic_pci 366file dev/pci/i82365_pci.c pcic_pci 367 368# PCIC pcmcia controller on PnP board 369attach pcic at isapnp with pcic_isapnp 370file dev/isapnp/i82365_isapnp.c pcic_isapnp 371 372# Code common to ISA and ISAPnP attachments 373file dev/isa/i82365_isasubr.c pcic_isa | pcic_isapnp | pcic_pci 374 375# XXXX tcic here because it needs to be late. The catch: tcic needs 376# to be late, so devices which attach to it are attached late. But it 377# needs to be before its isa and pci attachments. This answer is 378# non-optimal, but I don't have a better answer right now. 379 380# TCIC pcmcia controller 381# XXX this needs to be done very late, so it's done here. This feels 382# like a kludge, but it might be for the best. 383 384defopt TCIC_ISA_ALLOC_IOBASE 385defopt TCIC_ISA_ALLOC_IOSIZE 386defopt TCIC_ISA_INTR_ALLOC_MASK 387 388device tcic: pcmciabus 389file dev/ic/tcic2.c tcic 390 391# TCIC pcmcia controller 392attach tcic at isa with tcic_isa 393file dev/isa/tcic2_isa.c tcic_isa 394 395# this wants to be probed as late as possible. 396# 397# Machine-independent PCMCIA drivers 398# 399include "dev/pcmcia/files.pcmcia" 400 401 402include "dev/usb/files.usb" 403 404include "dev/ieee1394/files.ieee1394" 405 406include "arch/i386/pnpbios/files.pnpbios" 407