NetBSD/sys/arch/i386/conf/files.i386

425 lines
10 KiB
Plaintext

# $NetBSD: files.i386,v 1.407 2020/10/21 13:31:51 christos Exp $
#
# new style config file for i386 architecture
#
# maxpartitions must be first item in files.${ARCH}.newconf
maxpartitions 8
maxusers 2 16 128
defparam opt_kernbase.h KERNBASE
# delay before cpu_reset() for reboot.
defparam CPURESET_DELAY
# Obsolete Xbox support
obsolete defflag XBOX
# User-settable LDT (used by WINE)
defflag USER_LDT
# X server support in console drivers
defflag opt_xserver.h XSERVER XSERVER_DDB
# The REAL{BASE,EXT}MEM options
defparam opt_realmem.h REALBASEMEM REALEXTMEM
# The PHYSMEM_MAX_{SIZE,ADDR} optionms
defparam opt_physmem.h PHYSMEM_MAX_ADDR PHYSMEM_MAX_SIZE
# PCI BIOS options
defflag opt_pcibios.h PCIBIOS PCIBIOSVERBOSE
PCIBIOS_INTR_GUESS PCIINTR_DEBUG
defparam opt_pcibios.h PCIBIOS_IRQS_HINT
# splraise()/spllower() debug
defflag opt_spldebug.h SPLDEBUG
# Enable GCC spectre V2 mitigation options
defflag opt_spectre.h SPECTRE_V2_GCC_MITIGATION
# Beep on halt
defflag opt_beep.h BEEP_ONHALT
defparam opt_beep.h BEEP_ONHALT_COUNT=3
defparam opt_beep.h BEEP_ONHALT_PITCH=1500
defparam opt_beep.h BEEP_ONHALT_PERIOD=250
# Multiboot support
defflag opt_multiboot.h MULTIBOOT
obsolete defparam MULTIBOOT_SYMTAB_SPACE
file arch/i386/i386/multiboot.c multiboot
file arch/x86/x86/multiboot2.c multiboot
file arch/i386/i386/autoconf.c !xenpv
file arch/i386/i386/aout_machdep.c exec_aout
file arch/i386/i386/busfunc.S
file arch/i386/i386/cpufunc.S
file arch/i386/i386/cpu_in_cksum.S (inet | inet6) & cpu_in_cksum
file arch/i386/i386/db_disasm.c ddb
file arch/i386/i386/db_interface.c ddb
file arch/i386/i386/db_machdep.c ddb
file arch/i386/i386/dumpsys.c
file kern/subr_disk_mbr.c disk
file kern/subr_spldebug.c spldebug
file arch/i386/i386/gdt.c
file arch/i386/i386/i386func.S !xenpv
file arch/i386/i386/kobj_machdep.c modular
file arch/i386/i386/machdep.c
file arch/i386/i386/longrun.c
file arch/i386/i386/mtrr_k6.c mtrr
file arch/i386/i386/process_machdep.c
file arch/x86/x86/convert_xmm_s87.c
file arch/i386/i386/trap.c
file dev/cons.c
file arch/x86/x86/fpu.c
file arch/x86/x86/dbregs.c
file arch/x86/x86/spectre.c
file arch/i386/i386/mptramp.S multiprocessor & ! xenpv
file crypto/des/arch/i386/des_enc.S des
file crypto/des/arch/i386/des_cbc.S des
file crypto/blowfish/arch/i386/bf_enc.S blowfish
file crypto/blowfish/arch/i386/bf_cbc.S blowfish & !i386_cpu
#
# Stack-less Just-In-Time compiler
#
include "external/bsd/sljit/conf/files.sljit"
#
# Machine-independent SCSI drivers
#
include "dev/scsipi/files.scsipi"
#
# Machine-independent ATA drivers
#
include "dev/ata/files.ata"
# Memory Disk for install floppy
file dev/md_root.c memory_disk_hooks & md
#
# Machine-independent I2O drivers
#
include "dev/i2o/files.i2o"
# attribute used to bring in BIOS trampoline code for real-mode probing
# of certain devices/BIOS features
define bioscall
file arch/i386/i386/bioscall.S bioscall needs-flag
# i386 specific mainbus attributes
define apmbus {}
define pnpbiosbus {}
#
# System bus types
#
# XXX BIOS32 only if something that uses it is configured!
device mainbus: isabus, eisabus, mcabus, pcibus, bios32, acpibus,
cpubus, ioapicbus, apmbus, pnpbiosbus, ipmibus,
bioscall, hypervisorbus
attach mainbus at root
file arch/i386/i386/i386_mainbus.c mainbus & !xenpv
file arch/x86/x86/mainbus.c mainbus
#
# PCI-only drivers
# XXX MUST BE INCLUDED BEFORE files.isa, as long as files.isa attaches
# XXX devices to 'pci'.
#
include "dev/pci/files.pci"
include "dev/pci/files.agp"
file arch/i386/pci/pcibios.c pcibios
file arch/i386/pci/pci_intr_fixup.c pcibios & pci_intr_fixup
file arch/i386/pci/piix.c pcibios & pci_intr_fixup
file arch/i386/pci/opti82c558.c pcibios & pci_intr_fixup
file arch/i386/pci/opti82c700.c pcibios & pci_intr_fixup
file arch/i386/pci/sis85c503.c pcibios & pci_intr_fixup
file arch/i386/pci/via82c586.c pcibios & pci_intr_fixup
file arch/i386/pci/via8231.c pcibios & pci_intr_fixup
file arch/i386/pci/amd756.c pcibios & pci_intr_fixup
file arch/i386/pci/ali1543.c pcibios & pci_intr_fixup
defparam PCI_CONF_MODE
file arch/i386/pci/pcic_pci_machdep.c pcic_pci
# x86 specific PCI hardware
include "arch/x86/pci/files.pci"
# AMD Elan SC520 System Controller (PCI-Host bridge)
define elanparbus { }
define elanpexbus { }
device elansc: sysmon_wdog, gpiobus, elanparbus, elanpexbus, pcibus
attach elansc at pcibus
file arch/i386/pci/elan520.c elansc
device elanpar
attach elanpar at elanparbus
device elanpex
attach elanpex at elanpexbus
# AMD Geode CS5535 Companion IDE controller
device gcscide: ata, ata_dma, ata_udma, pciide_common, wdc_common
attach gcscide at pci
file arch/i386/pci/gcscide.c gcscide
# AMD Geode CS5536 Companion EHCI
device gcscehci: usbus
attach gcscehci at pci
file arch/i386/pci/gcscehci.c gcscehci
# AMD Geode SC1100 GCB area
device geodegcb {}
attach geodegcb at pci
file arch/i386/pci/geode.c geodegcb
# AMD Geode SC1100 Watchdog Timer
device geodewdog: sysmon_wdog, geodegcb
attach geodewdog at geodegcb
file arch/i386/pci/geodewdg.c geodewdog
# AMD Geode SC1100 high resolution counter
device geodecntr: geodegcb
attach geodecntr at geodegcb
file arch/i386/pci/geodecntr.c geodecntr
# PCI-EISA bridges
device pceb: eisabus, isabus
attach pceb at pci
file arch/i386/pci/pceb.c pceb
# PCI-ISA bridges
device gscpcib: isabus, gpiobus
attach gscpcib at pci
file arch/i386/pci/gscpcib.c gscpcib
# AMD Geode CS5535/CS5536 PCI-ISA bridge
device gcscpcib: isabus, sysmon_wdog, gpiobus
attach gcscpcib at pci with gcscpcib_pci
file arch/i386/pci/gcscpcib_pci.c gcscpcib_pci
file dev/ic/gcscpcib.c gcscpcib
device piixpcib: isabus, bioscall
attach piixpcib at pci
file arch/i386/pci/piixpcib.c piixpcib
device viapcib: isabus, i2cbus
attach viapcib at pci
file arch/i386/pci/viapcib.c viapcib
# PCI-MCA bridges
device pcmb: mcabus
attach pcmb at pci
file arch/i386/pci/pcmb.c pcmb
device p64h2apic
attach p64h2apic at pci
file arch/i386/pci/p64h2apic.c p64h2apic
#
# ISA and mixed ISA+EISA or ISA+PCI drivers
#
include "dev/isa/files.isa"
# Protech PS3100 cash drawer
device ptcd: gpiobus
attach ptcd at isa
file dev/isa/ptcd.c ptcd
# PC Mice: Logitech-style and Microsoft-style
device lms: wsmousedev
attach lms at isa
file arch/i386/isa/lms.c lms
device mms: wsmousedev
attach mms at isa
file arch/i386/isa/mms.c mms
include "dev/pckbport/files.pckbport"
device sysbeep
attach sysbeep at pcppi
# Floppy disk controller
device fdc {drive = -1}: isadma
file dev/isa/fd.c fdc needs-flag
attach fdc at isa with fdc_isa
file dev/isa/fdc_isa.c fdc_isa
device fd: disk
attach fd at fdc
# Adaptec AHA-284x VL SCSI controllers
# device declaration in sys/conf/files
attach ahc at isa with ahc_isa: ahc_aic77xx, smc93cx6
file arch/i386/isa/ahc_isa.c ahc_isa
#
# EISA-only drivers
#
include "dev/eisa/files.eisa"
file arch/i386/eisa/eisa_machdep.c eisa
#
# MCA-only drivers
#
device mca {[slot = -1]} : bioscall
include "dev/mca/files.mca"
file arch/i386/mca/mca_machdep.c mca
# ISA Plug 'n Play devices
file arch/i386/isa/isapnp_machdep.c isapnp
#
# VME support
#
include "dev/vme/files.vme"
#
# GPIB support
#
include "dev/gpib/files.gpib"
#
# CMOS RAM
#
defpseudo cmos
file arch/i386/isa/cmos.c cmos needs-flag
#
# Other mainbus-attached devices
#
include "dev/apm/files.apm"
#
# Compatibility modules
#
# Binary compatibility with previous NetBSD releases (COMPAT_XX)
file arch/i386/i386/compat_13_machdep.c compat_13
file arch/i386/i386/compat_16_machdep.c compat_16
# Linux binary compatibility (COMPAT_LINUX)
include "compat/linux/files.linux"
include "compat/linux/arch/i386/files.linux_i386"
file arch/i386/i386/linux_sigcode.S compat_linux
file arch/i386/i386/linux_syscall.c compat_linux
file arch/x86/x86/linux_trap.c compat_linux
# FreeBSD binary compatibility (COMPAT_FREEBSD)
include "compat/freebsd/files.freebsd"
# OSS audio driver compatibility
include "compat/ossaudio/files.ossaudio"
#
# CARDBUS
#
include "dev/cardbus/files.cardbus"
file arch/i386/i386/rbus_machdep.c cardbus
# XXXX pcic here because it needs to be late. The catch: pcic needs
# to be late, so devices which attach to it are attached late. But it
# needs to be before its isa and pci attachments. This answer is
# non-optimal, but I don't have a better answer right now.
# PCIC pcmcia controller
# XXX this needs to be done very late, so it's done here. This feels
# like a kludge, but it might be for the best.
defparam PCIC_ISA_ALLOC_IOBASE
defparam PCIC_ISA_ALLOC_IOSIZE
defparam PCIC_ISA_INTR_ALLOC_MASK
device pcic: pcmciabus
file dev/ic/i82365.c pcic
# PCIC pcmcia controller on ISA bus.
attach pcic at isa with pcic_isa
file dev/isa/i82365_isa.c pcic_isa
# PCIC pcmcia controller on PCI bus.
attach pcic at pci with pcic_pci
file dev/pci/i82365_pci.c pcic_pci
# PCIC pcmcia controller on PnP board
attach pcic at isapnp with pcic_isapnp
file dev/isapnp/i82365_isapnp.c pcic_isapnp
# Code common to ISA and ISAPnP attachments
file dev/isa/i82365_isasubr.c pcic_isa | pcic_isapnp | pcic_pci
# XXXX tcic here because it needs to be late. The catch: tcic needs
# to be late, so devices which attach to it are attached late. But it
# needs to be before its isa and pci attachments. This answer is
# non-optimal, but I don't have a better answer right now.
# TCIC pcmcia controller
# XXX this needs to be done very late, so it's done here. This feels
# like a kludge, but it might be for the best.
defparam TCIC_ISA_ALLOC_IOBASE
defparam TCIC_ISA_ALLOC_IOSIZE
defparam TCIC_ISA_INTR_ALLOC_MASK
device tcic: pcmciabus
file dev/ic/tcic2.c tcic
# TCIC pcmcia controller
attach tcic at isa with tcic_isa
file dev/isa/tcic2_isa.c tcic_isa
# this wants to be probed as late as possible.
#
# Machine-independent PCMCIA drivers
#
include "dev/pcmcia/files.pcmcia"
include "dev/usb/files.usb"
include "dev/bluetooth/files.bluetooth"
include "dev/sdmmc/files.sdmmc"
include "dev/ieee1394/files.ieee1394"
include "arch/i386/pnpbios/files.pnpbios"
include "dev/acpi/files.acpi"
file arch/i386/acpi/acpi_wakeup_low.S acpi & !xenpv
# Microsoft Hyper-V
include "dev/hyperv/files.hyperv"
attach vmbus at acpinodebus with vmbus_acpi
file dev/acpi/vmbus_acpi.c vmbus_acpi
# Obsolete vesabios/vesafb flags
obsolete defflag opt_vesabios.h VESABIOSVERBOSE
obsolete defparam opt_vesafb.h VESAFB_WIDTH VESAFB_HEIGHT VESAFB_DEPTH
obsolete defflag opt_vesafb.h VESAFB_PM
# AMD Geode LX Security Block
device glxsb: opencrypto
attach glxsb at pci
file arch/i386/pci/glxsb.c glxsb
include "arch/i386/conf/majors.i386"