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