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