# $OpenBSD: files.i386,v 1.164 2007/07/04 08:16:13 mpf Exp $
#
# new style config file for i386 architecture
#
# maxpartitions must be first item in files.${ARCH}
maxpartitions 16
maxusers 2 16 64
major {ccd = 16}
file arch/i386/i386/autoconf.c
file arch/i386/i386/conf.c
file arch/i386/i386/db_disasm.c ddb
file arch/i386/i386/db_interface.c ddb
file arch/i386/i386/db_memrw.c ddb | kgdb
file arch/i386/i386/db_trace.c ddb
file arch/i386/i386/db_magic.s ddb
file arch/i386/i386/disksubr.c disk
file arch/i386/i386/est.c !small_kernel & i686_cpu
file arch/i386/i386/gdt.c
file arch/i386/i386/in_cksum.s inet
file arch/i386/i386/machdep.c
file arch/i386/i386/via.c i686_cpu
file arch/i386/i386/amd64errata.c i686_cpu
file arch/i386/i386/kgdb_machdep.c kgdb
file arch/i386/i386/longrun.c !small_kernel & i586_cpu
file arch/i386/i386/mem.c
file arch/i386/i386/i686_mem.c mtrr
file arch/i386/i386/k6_mem.c mtrr
file arch/i386/i386/p4tcc.c !small_kernel & i686_cpu
file arch/i386/i386/pmap.c
file arch/i386/i386/powernow.c !small_kernel & i586_cpu
file arch/i386/i386/powernow-k7.c !small_kernel & i686_cpu
file arch/i386/i386/powernow-k8.c !small_kernel & i686_cpu
file arch/i386/i386/process_machdep.c
file arch/i386/i386/procfs_machdep.c procfs
file arch/i386/i386/random.s
file arch/i386/i386/sys_machdep.c
file arch/i386/i386/trap.c
file arch/i386/i386/vm_machdep.c
file arch/i386/i386/dkcsum.c bios
file lib/libz/adler32.c !ppp_deflate & !ipsec & !crypto
file dev/cninit.c
file arch/i386/i386/mptramp.s multiprocessor
file arch/i386/i386/mp_setperf.c multiprocessor
file arch/i386/i386/lock_machdep.c
file arch/i386/i386/ipifuncs.c multiprocessor
file arch/i386/i386/db_mp.c multiprocessor & ddb
file arch/i386/i386/wscons_machdep.c wsdisplay
major {vnd = 14}
#
# Media Independent Interface (mii)
#
include "../../../dev/mii/files.mii"
#
# Machine-independent SCSI drivers
#
include "../../../scsi/files.scsi"
major {sd = 4}
major {st = 5}
major {cd = 6}
major {rd = 17}
#
# I2O
#
include "dev/i2o/files.i2o"
#
# Machine-independent ATAPI drivers
#
include "../../../dev/atapiscsi/files.atapiscsi"
include "../../../dev/ata/files.ata"
#
# System bus types
#
define mainbus {[apid = -1]}
device mainbus: isabus, eisabus, pcibus, mainbus
attach mainbus at root
file arch/i386/i386/mainbus.c mainbus
#device mca at root {...}
#
# 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"
file arch/i386/pci/pci_machdep.c pci
file arch/i386/pci/agp_machdep.c pciagp
file dev/pci/agp_ali.c pciagp
file dev/pci/agp_amd.c pciagp
file dev/pci/agp_i810.c pciagp
file dev/pci/agp_intel.c pciagp
file dev/pci/agp_sis.c pciagp
file dev/pci/agp_via.c pciagp
file arch/i386/pci/pciide_machdep.c pciide
file arch/i386/pci/pcic_pci_machdep.c pcic_pci
# PCI-Host bridge chipsets
device pchb: pcibus
attach pchb at pci
file arch/i386/pci/pchb.c pchb
# AMD Elan SC520 System Controller (PCI-Host bridge)
device elansc: gpiobus
attach elansc at pci
file arch/i386/pci/elan520.c elansc
# Geode SC1100
device geodesc
attach geodesc at pci
file arch/i386/pci/geodesc.c geodesc
# AMD Geode LX series processor security block
device glxsb
attach glxsb at pci
file arch/i386/pci/glxsb.c glxsb
# National Semiconductor Geode SC1100 SMI/ACPI module
device gscpm
attach gscpm at pci
file arch/i386/pci/gscpm.c gscpm
# PCI-ISA bridge chipsets
device pcib: isabus
attach pcib at pci
file arch/i386/pci/pcib.c pcib | ichpcib | gscpcib | piixpcib
# Intel ICHx/ICHx-M LPC bridges
device ichpcib: isabus
attach ichpcib at pci
file arch/i386/pci/ichpcib.c ichpcib
# Intel PIIX4 PCI-ISA bridge
device piixpcib: isabus
attach piixpcib at pci
file arch/i386/pci/piixpcib.c piixpcib
# National Semiconductor Geode SC1100 PCI-ISA bridge
device gscpcib: isabus, gpiobus
attach gscpcib at pci
file arch/i386/pci/gscpcib.c gscpcib
device hme: ether, ifnet, mii, ifmedia
file dev/ic/hme.c hme
attach hme at pci with hme_pci
file dev/pci/if_hme_pci.c hme_pci
#
# ISA and mixed ISA+EISA or ISA+PCI or ISA+PCMCIA drivers
#
major {mcd = 7}
major {wd = 0}
include "../../../dev/isa/files.isa"
file arch/i386/isa/isa_machdep.c isabus
# PC clock
file arch/i386/isa/clock.c isabus
# Numeric Processing Extension; Math Co-processor
device npx
attach npx at isa
file arch/i386/isa/npx.c npx needs-flag
# attribute used to represent the "keyboard controller"
# XXX should be a real device
define pckbcport {[irq = -1], [port = -1]}
# 8250/16[45]50-based "com" ports, optimized for the i386 interrupt system
#device pccom: tty
attach pccom at isa with pccom_isa
attach pccom at commulti with pccom_commulti
file arch/i386/isa/pccom.c pccom & (pccom_isa | pccom_isapnp | pccom_commulti | pccom_pcmcia | pccom_cardbus | pccom_puc) needs-flag
# PC Mice; Logitech-style, Microsoft-style, and PS/2-style
device lms: wsmousedev
attach lms at isa
file arch/i386/isa/lms.c lms needs-flag
device mms: wsmousedev
attach mms at isa
file arch/i386/isa/mms.c mms needs-flag
include "dev/wscons/files.wscons"
include "dev/pckbc/files.pckbc"
# Floppy disk controller
# XXX temporarily conflicts with arc, will soon move to files.isa
device fdc {[drive = -1]}
attach fdc at isa
file dev/isa/fdc.c fdc needs-flag
device fd: disk, isa_dma
attach fd at fdc
file dev/isa/fd.c fd needs-flag
major {fd = 2}
# Adaptec AHA-284x VL SCSI controllers
# device declaration in sys/conf/files
attach ahc at isa with ahc_isa
file arch/i386/isa/ahc_isa.c ahc_isa
# Pentium performance counters
pseudo-device pctr
file arch/i386/i386/pctr.c pctr needs-flag
pseudo-device mtrr
file arch/i386/i386/mtrr.c mtrr needs-flag
pseudo-device nvram
file arch/i386/i386/nvram.c nvram needs-flag
#
# EISA-only drivers
#
include "../../../dev/eisa/files.eisa"
file arch/i386/eisa/eisa_machdep.c eisa
#
# ISA PnP
#
include "../../../dev/isa/files.isapnp"
file arch/i386/isa/isapnp_machdep.c isapnp
attach pccom at isapnp with pccom_isapnp
# Game adapter (joystick)
device joy
file arch/i386/isa/joy.c joy needs-flag
attach joy at isa with joy_isa
file arch/i386/isa/joy_isa.c joy_isa
attach joy at isapnp with joy_isapnp
file arch/i386/isa/joy_isapnp.c joy_isapnp
#
# Compatibility modules
#
# VM86 mode
file arch/i386/i386/vm86.c vm86
# VM86 in kernel
file arch/i386/i386/kvm86.c kvm86
file arch/i386/i386/kvm86call.S kvm86
# a.out binary compatibility (COMPAT_AOUT)
include "../../../compat/aout/files.aout"
# SVR4 binary compatibility (COMPAT_SVR4)
include "../../../compat/svr4/files.svr4"
file arch/i386/i386/svr4_machdep.c compat_svr4
# iBCS-2 binary compatibility (COMPAT_IBCS2)
include "../../../compat/ibcs2/files.ibcs2"
# Linux binary compatibility (COMPAT_LINUX)
include "../../../compat/linux/files.linux"
file arch/i386/i386/linux_machdep.c compat_linux
# BSD/OS binary compatibility (COMPAT_BSDOS)
include "../../../compat/bsdos/files.bsdos"
# FreeBSD binary compatibility (COMPAT_FREEBSD)
include "../../../compat/freebsd/files.freebsd"
file arch/i386/i386/freebsd_machdep.c compat_freebsd
# OSS audio driver compatibility
include "../../../compat/ossaudio/files.ossaudio"
device bios {}
attach bios at mainbus
file arch/i386/i386/bios.c bios needs-count
device apm
attach apm at bios
file arch/i386/i386/apm.c apm needs-count
file arch/i386/i386/apmcall.S apm
# Intel SMP specification 1.4
define mpbios
file arch/i386/i386/mpbios.c mpbios needs-flag
file arch/i386/i386/mpbios_intr_fixup.c mpbios & pci
# CPUS
define cpu {[apid = -1]}
device cpu
attach cpu at mainbus
file arch/i386/i386/cpu.c cpu
# Common APIC support routines
file arch/i386/i386/apic.c ioapic | lapic
# Local APIC (required for multiprocessor)
define lapic
file arch/i386/i386/lapic.c lapic needs-flag
# I/O APICs
device ioapic: mpbios, lapic
attach ioapic at mainbus
file arch/i386/i386/ioapic.c ioapic needs-flag
device pcibios
attach pcibios at bios
file arch/i386/pci/pcibios.c pcibios needs-count
file arch/i386/pci/pci_intr_fixup.c pcibios
file arch/i386/pci/pci_bus_fixup.c pcibios
file arch/i386/pci/pci_addr_fixup.c pcibios
file arch/i386/pci/opti82c558.c pcibios
file arch/i386/pci/opti82c700.c pcibios
file arch/i386/pci/piix.c pcibios
file arch/i386/pci/rccosb4.c pcibios
file arch/i386/pci/sis85c503.c pcibios
file arch/i386/pci/via82c586.c pcibios
file arch/i386/pci/via8231.c pcibios
file arch/i386/pci/amd756.c pcibios
file arch/i386/pci/ali1543.c pcibios
#
# 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 contoller
# 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.
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/isa/i82365_isapnp.c pcic_isapnp
# Code common to ISA and ISAPnP attachments
file dev/isa/i82365_isasubr.c pcic_isa | pcic_isapnp | pcic_pci
# Databook TCIC/2 pcmcia/isa bridge
device tcic: pcmciabus
file dev/ic/tcic2.c tcic
attach tcic at isa with tcic_isa
file dev/isa/tcic2_isa.c tcic_isa
#
# Machine-independent PUC drivers
#
include "dev/puc/files.puc"
# i386-specific PUC drivers
attach pccom at puc with pccom_puc
# PCMCIA wants to be probed as late as possible.
#
# Machine-independent PCMCIA drivers
#
include "dev/pcmcia/files.pcmcia"
# i386-specific PCMCIA drivers
attach pccom at pcmcia with pccom_pcmcia
# i386-specific Cardbus drivers
attach pccom at cardbus with pccom_cardbus
#
# Machine-independent USB drivers
#
include "dev/usb/files.usb"
#
# Machine-independent I2C drivers
#
include "dev/i2c/files.i2c"
#
# Machine-independent GPIO drivers
#
include "dev/gpio/files.gpio"
#
# Machine-independent 1-Wire drivers
#
include "dev/onewire/files.onewire"
#
# Machine-independent SD/MMC drivers
#
include "dev/sdmmc/files.sdmmc"
#
# Machine-independent Bluetooth drivers
#
include "dev/bluetooth/files.bluetooth"
include "../../../dev/acpi/files.acpi"
file arch/i386/i386/acpi_machdep.c acpi
#
# IPMI
#
attach ipmi at mainbus
# Dell Embedded Systems Management
device esm
attach esm at mainbus
file arch/i386/i386/esm.c esm needs-flag
#
# VESA
#
include "dev/vesa/files.vesa"
#include "dev/rasops/files.rasops"