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