files.i386 revision 1.198
11.13Sperry# $NetBSD: files.i386,v 1.198 2001/09/28 02:06:55 thorpej Exp $ 21.7Schristos# 31.1Scgd# new style config file for i386 architecture 41.8Sperry# 51.8Sperry 61.1Scgd# maxpartitions must be first item in files.${ARCH}.newconf 71.1Scgdmaxpartitions 8 81.1Scgd 91.1Scgdmaxusers 2 16 128 101.1Scgd 111.1Scgd# APM options 121.1Scgddefopt opt_apm.h APM_DISABLE APM_FORCE_64K_SEGMENTS APM_NO_IDLE 131.1Scgd APM_NO_STANDBY APM_V10_ONLY APM_NO_V12 APMDEBUG 141.1Scgd APMDEBUG_VALUE APM_POWER_PRINT APM_DISABLE_INTERRUPTS 151.11Sagc APM_ALLOW_BOGUS_SEGMENTS 161.1Scgd 171.1Scgd# Processor type options. 181.1Scgddefopt opt_cputype.h I386_CPU I486_CPU I586_CPU I686_CPU 191.1Scgd 201.1Scgd# delay before cpu_reset() for reboot. 211.1Scgddefopt CPURESET_DELAY 221.1Scgd 231.1Scgd# VM86 emulation 241.1Scgddefopt VM86 251.1Scgd 261.1Scgd# Floating point emulation 271.1Scgddefopt MATH_EMULATE 281.1Scgd 291.1Scgd# User-settable LDT (used by WINE) 301.1Scgddefopt USER_LDT 311.1Scgd 321.7Schristos# Speed hack; make NOPs dummies (might break on some machines) 331.1Scgddefopt DUMMY_NOPS 341.7Schristos 351.8Sperry# Performance counter support 361.7Schristosdefopt PERFCTRS 371.13Sperry 381.7Schristos# MTRR support 391.1Scgddefopt MTRR 401.1Scgd 411.1Scgd# X server support in console drivers 421.1Scgddefopt opt_xserver.h XSERVER XSERVER_DDB 431.12Schristos 441.1Scgd# The REAL{BASE,EXT}MEM options 451.13Sperrydefopt opt_realmem.h REALBASEMEM REALEXTMEM 461.13Sperry 471.10Schristos# understand boot device passed by pre-1.3 bootblocks 481.13Sperrydefopt COMPAT_OLDBOOT 491.12Schristos 501.10Schristos# PCI BIOS options 511.10Schristosdefopt opt_pcibios.h PCIBIOS PCIBIOSVERBOSE 521.10Schristos PCIBIOS_ADDR_FIXUP PCIBIOS_BUS_FIXUP 531.10Schristos PCIBIOS_INTR_FIXUP PCIBIOS_INTR_FIXUP_FORCE 541.10Schristos PCIBIOS_INTR_GUESS PCIBIOS_IRQS_HINT PCIINTR_DEBUG 551.10Schristos 561.10Schristos# Large page size 571.13Sperrydefopt LARGEPAGES 581.12Schristos 591.10Schristosfile arch/i386/i386/autoconf.c 601.10Schristosfile arch/i386/i386/bus_machdep.c 611.10Schristosfile arch/i386/i386/conf.c 621.10Schristosfile arch/i386/i386/consinit.c 631.10Schristosfile arch/i386/i386/db_dbgreg.s ddb 641.10Schristosfile arch/i386/i386/db_disasm.c ddb 651.4Sjtcfile arch/i386/i386/db_interface.c ddb 661.12Schristosfile arch/i386/i386/db_memrw.c ddb | kgdb 671.1Scgdfile arch/i386/i386/db_trace.c ddb 681.1Scgdfile arch/i386/i386/disksubr.c disk 691.10Schristosfile arch/i386/i386/gdt.c 701.10Schristosfile arch/i386/i386/in_cksum.s inet 711.10Schristosfile arch/i386/i386/ipkdb_glue.c ipkdb 721.10Schristosfile arch/i386/i386/kgdb_machdep.c kgdb 731.10Schristosfile arch/i386/i386/machdep.c 741.10Schristosfile arch/i386/i386/math_emulate.c math_emulate 751.1Scgdfile arch/i386/i386/mem.c 761.1Scgdfile arch/i386/i386/microtime.s 771.10Schristosfile arch/i386/i386/mtrr_i686.c mtrr 781.10Schristosfile arch/i386/i386/mtrr_k6.c mtrr 791.1Scgdfile netns/ns_cksum.c ns 801.1Scgdfile arch/i386/i386/pmap.c 811.1Scgdfile arch/i386/i386/process_machdep.c 821.4Sjtcfile arch/i386/i386/procfs_machdep.c procfs 831.12Schristosfile arch/i386/i386/softintr.c 841.1Scgdfile arch/i386/i386/sys_machdep.c 851.9Schristosfile arch/i386/i386/syscall.c 861.9Schristosfile arch/i386/i386/trap.c 871.1Scgdfile arch/i386/i386/vm_machdep.c 881.9Schristosfile dev/cons.c 891.9Schristos 901.9Schristosfile arch/i386/i386/pmc.c perfctrs 911.9Schristos 921.1Scgdfile crypto/des/arch/i386/des_enc.S ipsec & ipsec_esp 931.1Scgd#file crypto/des/arch/i386/des_cbc.S ipsec & ipsec_esp 941.9Schristosfile crypto/blowfish/arch/i386/bf_enc.S ipsec & ipsec_esp 951.1Scgd#file crypto/blowfish/arch/i386/bf_cbc.S ipsec & ipsec_esp 961.1Scgd 971.4Sjtc# 981.12Schristos# Machine-independent SCSI drivers 991.1Scgd# 1001.9Schristos 1011.9Schristosinclude "dev/scsipi/files.scsipi" 1021.9Schristosmajor {sd = 4} 1031.9Schristosmajor {cd = 6} 1041.9Schristos 1051.1Scgd# 1061.9Schristos# Machine-independent ATA drivers 1071.1Scgd# 1081.1Scgd 1091.9Schristosinclude "dev/ata/files.ata" 1101.1Scgdmajor {wd = 0} 1111.1Scgd 1121.4Sjtc# Memory Disk for install floppy 1131.12Schristosfile arch/i386/i386/md_root.c memory_disk_hooks 1141.1Scgdmajor {md = 17} 1151.9Schristos 1161.9Schristos# RAIDframe 1171.9Schristosmajor {raid = 18} 1181.9Schristos 1191.9Schristos# Logical disk 1201.1Scgdmajor {ld = 19} 121 122# 123# Machine-independent I2O drivers 124# 125 126include "dev/i2o/files.i2o" 127 128# attribute used to bring in BIOS trampoline code for real-mode probing 129# of certain devices/BIOS features 130define bioscall 131file arch/i386/i386/bioscall.s bioscall needs-flag 132 133# BIOS32 routines 134define bios32 135file arch/i386/i386/bios32.c bios32 needs-flag 136 137# 138# System bus types 139# 140 141define mainbus { } 142# XXX BIOS32 only if something that uses it is configured! 143device mainbus: isabus, eisabus, mcabus, pcibus, mainbus, bios32, acpibus 144attach mainbus at root 145file arch/i386/i386/mainbus.c mainbus 146 147# 148# PCI-only drivers 149# XXX MUST BE INCLUDED BEFORE files.isa, as long as files.isa attaches 150# XXX devices to 'pci'. 151# 152 153include "dev/pci/files.pci" 154include "dev/pci/files.agp" 155file arch/i386/pci/pci_machdep.c pci 156file arch/i386/pci/agp_machdep.c agp 157file arch/i386/pci/pcibios.c pcibios 158file arch/i386/pci/pci_intr_fixup.c pcibios & pcibios_intr_fixup 159file arch/i386/pci/piix.c pcibios & pcibios_intr_fixup 160file arch/i386/pci/opti82c558.c pcibios & pcibios_intr_fixup 161file arch/i386/pci/opti82c700.c pcibios & pcibios_intr_fixup 162file arch/i386/pci/sis85c503.c pcibios & pcibios_intr_fixup 163file arch/i386/pci/via82c586.c pcibios & pcibios_intr_fixup 164file arch/i386/pci/amd756.c pcibios & pcibios_intr_fixup 165file arch/i386/pci/ali1543.c pcibios & pcibios_intr_fixup 166file arch/i386/pci/pci_bus_fixup.c pcibios & pcibios_bus_fixup 167file arch/i386/pci/pci_addr_fixup.c pcibios & pcibios_addr_fixup 168defopt PCI_CONF_MODE 169file arch/i386/pci/pciide_machdep.c pciide 170file arch/i386/pci/pcic_pci_machdep.c pcic_pci 171 172# PCI-Host bridge chipsets 173device pchb: pcibus, agpbus, agp_ali, agp_amd, agp_i810, agp_intel, agp_sis, 174 agp_via 175attach pchb at pci 176file arch/i386/pci/pchb.c pchb needs-flag 177file arch/i386/pci/pchb_rnd.c pchb & rnd 178 179# PCI-EISA bridges 180device pceb: eisabus, isabus 181attach pceb at pci 182file arch/i386/pci/pceb.c pceb 183 184# PCI-ISA bridges 185device pcib: isabus 186attach pcib at pci 187file arch/i386/pci/pcib.c pcib 188 189# PCI-MCA bridges 190device pcmb: mcabus 191attach pcmb at pci 192file arch/i386/pci/pcmb.c pcmb 193 194# Game adapter (joystick) 195device joy 196file arch/i386/isa/joy.c joy needs-flag 197 198# PCI joysticks 199attach joy at pci with pci_joy 200file arch/i386/pci/joy_pci.c pci_joy 201 202# 203# ISA and mixed ISA+EISA or ISA+PCI drivers 204# 205 206include "dev/isa/files.isa" 207major {mcd = 7} 208#major {scd = 15} 209 210# XXX THE FOLLOWING BLOCK SHOULD GO INTO dev/pci/files.pci, BUT CANNOT 211# XXX BECAUSE NOT 'lpt' IS DEFINED IN files.isa, RATHER THAN files. 212# XXX (when the conf/files and files.isa bogons are fixed, this can 213# XXX be fixed as well.) 214 215attach lpt at puc with lpt_puc 216file dev/pci/lpt_puc.c lpt_puc 217 218file arch/i386/isa/isa_machdep.c isa 219 220# PC clock 221file arch/i386/isa/clock.c isa 222file dev/clock_subr.c isa 223 224# Numeric Processing Extension; Math Co-processor 225device npx 226file arch/i386/isa/npx.c npx needs-flag 227 228attach npx at isa with npx_isa 229file arch/i386/isa/npx_isa.c npx_isa 230 231# attribute used to represent the "keyboard controller" 232# XXX should be a real device 233define pckbcport { [irq = -1], [port = -1] } 234 235# PC console support a la "pccons" 236device pc: tty, pckbcport 237attach pc at isa 238device pcconskbd 239attach pcconskbd at pckbc 240file arch/i386/isa/pccons.c pc | pcconskbd needs-flag 241 242# PC Mice; Logitech-style, Microsoft-style, and PS/2-style 243device olms 244attach olms at isa 245file arch/i386/isa/olms.c olms needs-flag 246device lms: wsmousedev 247attach lms at isa 248file arch/i386/isa/lms.c lms 249device omms 250attach omms at isa 251file arch/i386/isa/omms.c omms needs-flag 252device mms: wsmousedev 253attach mms at isa 254file arch/i386/isa/mms.c mms 255device opms 256attach opms at pckbcport with opms_hack 257attach opms at pckbc with opms_pckbc 258file arch/i386/isa/pms.c opms | opms_hack | opms_pckbc needs-flag 259 260include "dev/wscons/files.wscons" 261include "dev/wsfont/files.wsfont" 262 263include "dev/pckbc/files.pckbc" 264 265device sysbeep 266attach sysbeep at pcppi 267 268# Floppy disk controller 269device fdc {drive = -1}: isadma 270file dev/isa/fd.c fdc needs-flag 271 272attach fdc at isa with fdc_isa 273file dev/isa/fdc_isa.c fdc_isa 274 275device fd: disk 276attach fd at fdc 277major {fd = 2} 278 279attach joy at isa with joy_isa 280file arch/i386/isa/joy_isa.c joy_isa 281 282# Adaptec AHA-284x VL SCSI controllers 283# device declaration in sys/conf/files 284attach ahc at isa with ahc_isa: ahc_aic77xx, smc93cx6 285file arch/i386/isa/ahc_isa.c ahc_isa 286 287# 288# EISA-only drivers 289# 290 291include "dev/eisa/files.eisa" 292file arch/i386/eisa/eisa_machdep.c eisa 293 294# 295# MCA-only drivers 296# 297 298device mca {[slot = -1]} : bioscall 299include "dev/mca/files.mca" 300file arch/i386/mca/mca_machdep.c mca 301 302major { ed = 20 } 303 304# ISA Plug 'n Play devices 305file arch/i386/isa/isapnp_machdep.c isapnp 306 307attach joy at isapnp with joy_isapnp 308file arch/i386/isa/joy_isapnp.c joy_isapnp 309 310# 311# VME support 312# 313include "dev/vme/files.vme" 314 315# 316# Other mainbus-attached devices 317# 318 319# Advanced Power Management support (APM) 320device apm: bioscall 321attach apm at mainbus 322file arch/i386/i386/apm.c apm needs-count 323file arch/i386/i386/apmcall.s apm 324 325# 326# Compatibility modules 327# 328 329# VM86 mode 330file arch/i386/i386/vm86.c vm86 331 332# Binary compatibility with previous NetBSD releases (COMPAT_XX) 333file arch/i386/i386/compat_13_machdep.c compat_13 | compat_aout 334 335# SVR4 binary compatibility (COMPAT_SVR4) 336include "compat/svr4/files.svr4" 337file arch/i386/i386/svr4_machdep.c compat_svr4 338file arch/i386/i386/svr4_sigcode.s compat_svr4 339file arch/i386/i386/svr4_syscall.c compat_svr4 340 341# MACH binary compatibility (COMPAT_MACH) 342include "compat/mach/files.mach" 343file arch/i386/i386/mach_machdep.c compat_mach 344file arch/i386/i386/mach_sigcode.s compat_mach 345file arch/i386/i386/mach_syscall.c compat_mach 346file arch/i386/i386/macho_machdep.c exec_macho 347 348# iBCS-2 binary compatibility (COMPAT_IBCS2) 349include "compat/ibcs2/files.ibcs2" 350file arch/i386/i386/ibcs2_machdep.c compat_ibcs2 351file arch/i386/i386/ibcs2_sigcode.s compat_ibcs2 352file arch/i386/i386/ibcs2_syscall.c compat_ibcs2 353 354# Linux binary compatibility (COMPAT_LINUX) 355include "compat/linux/files.linux" 356include "compat/linux/arch/i386/files.linux_i386" 357file arch/i386/i386/linux_sigcode.s compat_linux 358file arch/i386/i386/linux_syscall.c compat_linux 359file arch/i386/i386/linux_trap.c compat_linux 360 361# FreeBSD binary compatibility (COMPAT_FREEBSD) 362include "compat/freebsd/files.freebsd" 363file arch/i386/i386/freebsd_machdep.c compat_freebsd 364file arch/i386/i386/freebsd_sigcode.s compat_freebsd 365file arch/i386/i386/freebsd_syscall.c compat_freebsd 366 367# a.out binary compatibility (COMPAT_AOUT) 368include "compat/aout/files.aout" 369 370# Win32 binary compatibility (COMPAT_PECOFF) 371include "compat/pecoff/files.pecoff" 372 373# OSS audio driver compatibility 374include "compat/ossaudio/files.ossaudio" 375 376# network devices MII bus 377include "dev/mii/files.mii" 378 379# 380# CARDBUS 381# 382include "dev/cardbus/files.cardbus" 383file arch/i386/i386/rbus_machdep.c cardbus 384 385# XXXX pcic here because it needs to be late. The catch: pcic needs 386# to be late, so devices which attach to it are attached late. But it 387# needs to be before its isa and pci attachments. This answer is 388# non-optimal, but I don't have a better answer right now. 389 390# PCIC pcmcia controller 391# XXX this needs to be done very late, so it's done here. This feels 392# like a kludge, but it might be for the best. 393 394defopt PCIC_ISA_ALLOC_IOBASE 395defopt PCIC_ISA_ALLOC_IOSIZE 396defopt PCIC_ISA_INTR_ALLOC_MASK 397 398device pcic: pcmciabus 399file dev/ic/i82365.c pcic 400 401# PCIC pcmcia controller on ISA bus. 402attach pcic at isa with pcic_isa 403file dev/isa/i82365_isa.c pcic_isa 404 405# PCIC pcmcia controller on PCI bus. 406attach pcic at pci with pcic_pci 407file dev/pci/i82365_pci.c pcic_pci 408 409# PCIC pcmcia controller on PnP board 410attach pcic at isapnp with pcic_isapnp 411file dev/isapnp/i82365_isapnp.c pcic_isapnp 412 413# Code common to ISA and ISAPnP attachments 414file dev/isa/i82365_isasubr.c pcic_isa | pcic_isapnp | pcic_pci 415 416# XXXX tcic here because it needs to be late. The catch: tcic needs 417# to be late, so devices which attach to it are attached late. But it 418# needs to be before its isa and pci attachments. This answer is 419# non-optimal, but I don't have a better answer right now. 420 421# TCIC pcmcia controller 422# XXX this needs to be done very late, so it's done here. This feels 423# like a kludge, but it might be for the best. 424 425defopt TCIC_ISA_ALLOC_IOBASE 426defopt TCIC_ISA_ALLOC_IOSIZE 427defopt TCIC_ISA_INTR_ALLOC_MASK 428 429device tcic: pcmciabus 430file dev/ic/tcic2.c tcic 431 432# TCIC pcmcia controller 433attach tcic at isa with tcic_isa 434file dev/isa/tcic2_isa.c tcic_isa 435 436# this wants to be probed as late as possible. 437# 438# Machine-independent PCMCIA drivers 439# 440include "dev/pcmcia/files.pcmcia" 441 442 443include "dev/usb/files.usb" 444 445include "dev/ieee1394/files.ieee1394" 446 447include "arch/i386/pnpbios/files.pnpbios" 448 449include "dev/acpi/files.acpi" 450file arch/i386/i386/acpi_machdep.c acpi 451