files.i386 revision 1.189
11.189Schristos#	$NetBSD: files.i386,v 1.189 2001/07/14 02:18:02 christos Exp $
21.2Scgd#
31.56Scgd# new style config file for i386 architecture
41.56Scgd#
51.56Scgd
61.56Scgd# maxpartitions must be first item in files.${ARCH}.newconf
71.56Scgdmaxpartitions 8
81.94Sthorpej
91.56Scgdmaxusers 2 16 64
101.125Sthorpej
111.125Sthorpej# APM options
121.182Slukemdefopt	opt_apm.h	APM_DISABLE APM_FORCE_64K_SEGMENTS APM_NO_IDLE
131.182Slukem			APM_NO_STANDBY APM_V10_ONLY APM_NO_V12 APMDEBUG
141.182Slukem			APMDEBUG_VALUE APM_POWER_PRINT APM_DISABLE_INTERRUPTS
151.182Slukem			APM_ALLOW_BOGUS_SEGMENTS
161.100Sthorpej
171.100Sthorpej# Processor type options.
181.182Slukemdefopt	opt_cputype.h	I386_CPU I486_CPU I586_CPU I686_CPU
191.124Sbouyer
201.124Sbouyer# delay before cpu_reset() for reboot.
211.182Slukemdefopt	CPURESET_DELAY
221.101Sthorpej
231.101Sthorpej# VM86 emulation
241.101Sthorpejdefopt	VM86
251.102Sthorpej
261.102Sthorpej# Floating point emulation
271.102Sthorpejdefopt	MATH_EMULATE
281.103Sthorpej
291.103Sthorpej# User-settable LDT (used by WINE)
301.103Sthorpejdefopt	USER_LDT
311.104Sthorpej
321.104Sthorpej# Speed hack; make NOPs dummies (might break on some machines)
331.104Sthorpejdefopt	DUMMY_NOPS
341.105Sthorpej
351.167Sthorpej# Performance counter support
361.167Sthorpejdefopt	PERFCTRS
371.167Sthorpej
381.105Sthorpej# X server support in console drivers
391.182Slukemdefopt	opt_xserver.h	XSERVER XSERVER_DDB
401.181Schs
411.181Schs# The REAL{BASE,EXT}MEM options
421.182Slukemdefopt	opt_realmem.h	REALBASEMEM REALEXTMEM
431.140Sdrochner
441.140Sdrochner# understand boot device passed by pre-1.3 bootblocks
451.140Sdrochnerdefopt	COMPAT_OLDBOOT
461.98Sthorpej
471.142Sthorpej# PCI BIOS options
481.182Slukemdefopt	opt_pcibios.h	PCIBIOS PCIBIOSVERBOSE
491.164Ssoda	PCIBIOS_ADDR_FIXUP PCIBIOS_BUS_FIXUP
501.164Ssoda	PCIBIOS_INTR_FIXUP PCIBIOS_INTR_FIXUP_FORCE
511.164Ssoda	PCIBIOS_INTR_GUESS PCIBIOS_IRQS_HINT PCIINTR_DEBUG
521.166Sthorpej
531.166Sthorpej# Large page size
541.166Sthorpejdefopt	LARGEPAGES
551.142Sthorpej
561.56Scgdfile	arch/i386/i386/autoconf.c
571.146Sdrochnerfile	arch/i386/i386/bus_machdep.c
581.56Scgdfile	arch/i386/i386/conf.c
591.145Sdrochnerfile	arch/i386/i386/consinit.c
601.119Srvbfile	arch/i386/i386/db_dbgreg.s	ddb
611.56Scgdfile	arch/i386/i386/db_disasm.c	ddb
621.56Scgdfile	arch/i386/i386/db_interface.c	ddb
631.85Sthorpejfile	arch/i386/i386/db_memrw.c	ddb | kgdb
641.56Scgdfile	arch/i386/i386/db_trace.c	ddb
651.56Scgdfile	arch/i386/i386/disksubr.c	disk
661.60Smycroftfile	arch/i386/i386/gdt.c
671.74Smycroftfile	arch/i386/i386/in_cksum.s	inet
681.152Swsfile	arch/i386/i386/ipkdb_glue.c	ipkdb
691.85Sthorpejfile	arch/i386/i386/kgdb_machdep.c	kgdb
701.56Scgdfile	arch/i386/i386/machdep.c
711.56Scgdfile	arch/i386/i386/math_emulate.c	math_emulate
721.56Scgdfile	arch/i386/i386/mem.c
731.56Scgdfile	arch/i386/i386/microtime.s
741.154Sjdolecekfile	netns/ns_cksum.c		ns
751.134Sthorpejfile	arch/i386/i386/pmap.c
761.56Scgdfile	arch/i386/i386/process_machdep.c
771.180Sfvdlfile	arch/i386/i386/procfs_machdep.c	procfs
781.185Sthorpejfile	arch/i386/i386/softintr.c
791.56Scgdfile	arch/i386/i386/sys_machdep.c
801.178Smycroftfile	arch/i386/i386/syscall.c
811.56Scgdfile	arch/i386/i386/trap.c
821.56Scgdfile	arch/i386/i386/vm_machdep.c
831.56Scgdfile	dev/cons.c
841.167Sthorpej
851.167Sthorpejfile	arch/i386/i386/pmc.c		perfctrs
861.56Scgd
871.56Scgd#
881.56Scgd# Machine-independent SCSI drivers
891.56Scgd#
901.56Scgd
911.182Slukeminclude	"dev/scsipi/files.scsipi"
921.56Scgdmajor	{sd = 4}
931.56Scgdmajor	{cd = 6}
941.69Sperry
951.97Scgd#
961.97Scgd# Machine-independent ATA drivers
971.97Scgd#
981.97Scgd
991.182Slukeminclude	"dev/ata/files.ata"
1001.97Scgdmajor	{wd = 0}
1011.97Scgd
1021.79Spk# Memory Disk for install floppy
1031.182Slukemfile	arch/i386/i386/md_root.c	memory_disk_hooks
1041.79Spkmajor	{md = 17}
1051.149Soster
1061.149Soster# RAIDframe
1071.149Sostermajor	{raid = 18}
1081.151Sad
1091.174Sad# Logical disk
1101.174Sadmajor	{ld = 19}
1111.171Sad
1121.171Sad#
1131.171Sad# Machine-independent I2O drivers
1141.171Sad#
1151.171Sad
1161.182Slukeminclude	"dev/i2o/files.i2o"
1171.56Scgd
1181.142Sthorpej# attribute used to bring in BIOS trampoline code for real-mode probing
1191.142Sthorpej# of certain devices/BIOS features
1201.182Slukemdefine	bioscall
1211.142Sthorpejfile	arch/i386/i386/bioscall.s	bioscall needs-flag
1221.142Sthorpej
1231.142Sthorpej# BIOS32 routines
1241.142Sthorpejdefine	bios32
1251.142Sthorpejfile	arch/i386/i386/bios32.c		bios32 needs-flag
1261.142Sthorpej
1271.56Scgd#
1281.56Scgd# System bus types
1291.56Scgd#
1301.65Scgd
1311.182Slukemdefine	mainbus { }
1321.142Sthorpej# XXX BIOS32 only if something that uses it is configured!
1331.159Sjdolecekdevice	mainbus: isabus, eisabus, mcabus, pcibus, mainbus, bios32
1341.67Sthorpejattach	mainbus at root
1351.65Scgdfile	arch/i386/i386/mainbus.c	mainbus
1361.56Scgd
1371.55Smycroft#
1381.64Scgd# PCI-only drivers
1391.64Scgd# XXX MUST BE INCLUDED BEFORE files.isa, as long as files.isa attaches
1401.64Scgd# XXX devices to 'pci'.
1411.64Scgd#
1421.64Scgd
1431.182Slukeminclude	"dev/pci/files.pci"
1441.64Scgdfile	arch/i386/pci/pci_machdep.c	pci
1451.142Sthorpejfile	arch/i386/pci/pcibios.c		pcibios
1461.142Sthorpejfile	arch/i386/pci/pci_intr_fixup.c	pcibios & pcibios_intr_fixup
1471.142Sthorpejfile	arch/i386/pci/piix.c		pcibios & pcibios_intr_fixup
1481.142Sthorpejfile	arch/i386/pci/opti82c558.c	pcibios & pcibios_intr_fixup
1491.142Sthorpejfile	arch/i386/pci/opti82c700.c	pcibios & pcibios_intr_fixup
1501.142Sthorpejfile	arch/i386/pci/sis85c503.c	pcibios & pcibios_intr_fixup
1511.142Sthorpejfile	arch/i386/pci/via82c586.c	pcibios & pcibios_intr_fixup
1521.186Suchfile	arch/i386/pci/amd756.c		pcibios & pcibios_intr_fixup
1531.143Sthorpejfile	arch/i386/pci/pci_bus_fixup.c	pcibios & pcibios_bus_fixup
1541.158Suchfile	arch/i386/pci/pci_addr_fixup.c	pcibios & pcibios_addr_fixup
1551.182Slukemdefopt	PCI_CONF_MODE
1561.110Scgdfile	arch/i386/pci/pciide_machdep.c	pciide
1571.127Snathanwfile	arch/i386/pci/pcic_pci_machdep.c	pcic_pci
1581.78Sthorpej
1591.78Sthorpej# PCI-Host bridge chipsets
1601.108Sthorpejdevice	pchb: pcibus
1611.78Sthorpejattach	pchb at pci
1621.78Sthorpejfile	arch/i386/pci/pchb.c		pchb
1631.169Sthorpejfile	arch/i386/pci/pchb_rnd.c	pchb & rnd
1641.107Sthorpej
1651.107Sthorpej# PCI-EISA bridges
1661.108Sthorpejdevice	pceb: eisabus, isabus
1671.107Sthorpejattach	pceb at pci
1681.107Sthorpejfile	arch/i386/pci/pceb.c		pceb
1691.78Sthorpej
1701.78Sthorpej# PCI-ISA bridges
1711.108Sthorpejdevice	pcib: isabus
1721.78Sthorpejattach	pcib at pci
1731.78Sthorpejfile	arch/i386/pci/pcib.c		pcib
1741.184Sjdolecek
1751.184Sjdolecek# PCI-MCA bridges
1761.184Sjdolecekdevice	pcmb: mcabus
1771.184Sjdolecekattach	pcmb at pci
1781.184Sjdolecekfile	arch/i386/pci/pcmb.c		pcmb
1791.64Scgd
1801.153Smartin# Game adapter (joystick)
1811.153Smartindevice	joy
1821.153Smartinfile	arch/i386/isa/joy.c		joy needs-flag
1831.153Smartin
1841.153Smartin# PCI joysticks
1851.182Slukemattach	joy at pci with pci_joy
1861.153Smartinfile	arch/i386/pci/joy_pci.c		pci_joy
1871.153Smartin
1881.64Scgd#
1891.55Smycroft# ISA and mixed ISA+EISA or ISA+PCI drivers
1901.55Smycroft#
1911.56Scgd
1921.182Slukeminclude	"dev/isa/files.isa"
1931.56Scgdmajor	{mcd = 7}
1941.56Scgd#major	{scd = 15}
1951.115Scgd
1961.115Scgd# XXX THE FOLLOWING BLOCK SHOULD GO INTO dev/pci/files.pci, BUT CANNOT
1971.115Scgd# XXX BECAUSE NOT 'lpt' IS DEFINED IN files.isa, RATHER THAN files.
1981.115Scgd# XXX (when the conf/files and files.isa bogons are fixed, this can
1991.115Scgd# XXX be fixed as well.)
2001.115Scgd
2011.115Scgdattach	lpt at puc with lpt_puc
2021.115Scgdfile	dev/pci/lpt_puc.c	lpt_puc
2031.56Scgd
2041.56Scgdfile	arch/i386/isa/isa_machdep.c	isa
2051.56Scgd
2061.56Scgd# PC clock
2071.56Scgdfile	arch/i386/isa/clock.c		isa
2081.130Sdrochnerfile	dev/clock_subr.c		isa
2091.56Scgd
2101.56Scgd# Numeric Processing Extension; Math Co-processor
2111.108Sthorpejdevice	npx
2121.56Scgdfile	arch/i386/isa/npx.c		npx needs-flag
2131.163Sthorpej
2141.163Sthorpejattach	npx at isa with npx_isa
2151.163Sthorpejfile	arch/i386/isa/npx_isa.c		npx_isa
2161.56Scgd
2171.66Sthorpej# attribute used to represent the "keyboard controller"
2181.66Sthorpej# XXX should be a real device
2191.182Slukemdefine	pckbcport { [irq = -1], [port = -1] }
2201.66Sthorpej
2211.56Scgd# PC console support a la "pccons"
2221.111Sdrochnerdevice	pc: tty, pckbcport
2231.67Sthorpejattach	pc at isa
2241.111Sdrochnerdevice	pcconskbd
2251.111Sdrochnerattach	pcconskbd at pckbc
2261.111Sdrochnerfile	arch/i386/isa/pccons.c		pc | pcconskbd needs-flag
2271.56Scgd
2281.56Scgd# PC Mice; Logitech-style, Microsoft-style, and PS/2-style
2291.128Sdrochnerdevice	olms
2301.128Sdrochnerattach	olms at isa
2311.128Sdrochnerfile	arch/i386/isa/olms.c		olms needs-flag
2321.128Sdrochnerdevice	lms: wsmousedev
2331.67Sthorpejattach	lms at isa
2341.128Sdrochnerfile	arch/i386/isa/lms.c		lms
2351.128Sdrochnerdevice	omms
2361.128Sdrochnerattach	omms at isa
2371.128Sdrochnerfile	arch/i386/isa/omms.c		omms needs-flag
2381.128Sdrochnerdevice	mms: wsmousedev
2391.67Sthorpejattach	mms at isa
2401.128Sdrochnerfile	arch/i386/isa/mms.c		mms
2411.128Sdrochnerdevice	opms
2421.128Sdrochnerattach	opms at pckbcport with opms_hack
2431.128Sdrochnerattach	opms at pckbc with opms_pckbc
2441.128Sdrochnerfile	arch/i386/isa/pms.c		opms | opms_hack | opms_pckbc needs-flag
2451.111Sdrochner
2461.182Slukeminclude	"dev/wscons/files.wscons"
2471.111Sdrochner
2481.182Slukeminclude	"dev/pckbc/files.pckbc"
2491.113Sdrochner
2501.182Slukemdevice	sysbeep
2511.182Slukemattach	sysbeep at pcppi
2521.111Sdrochner
2531.56Scgd# Floppy disk controller
2541.157Sthorpejdevice	fdc {drive = -1}: isadma
2551.157Sthorpejfile	dev/isa/fd.c			fdc needs-flag
2561.157Sthorpej
2571.157Sthorpejattach	fdc at isa with fdc_isa
2581.157Sthorpejfile	dev/isa/fdc_isa.c		fdc_isa
2591.157Sthorpej
2601.157Sthorpejdevice	fd: disk
2611.67Sthorpejattach	fd at fdc
2621.56Scgdmajor	{fd = 2}
2631.76Ssoda
2641.80Schristosattach	joy at isa with joy_isa
2651.80Schristosfile	arch/i386/isa/joy_isa.c		joy_isa
2661.80Schristos
2671.76Ssoda# Adaptec AHA-284x VL SCSI controllers
2681.76Ssoda# device declaration in sys/conf/files
2691.150Sfvdlattach	ahc at isa with ahc_isa: ahc_aic77xx, smc93cx6
2701.76Ssodafile	arch/i386/isa/ahc_isa.c		ahc_isa
2711.56Scgd
2721.55Smycroft#
2731.55Smycroft# EISA-only drivers
2741.55Smycroft#
2751.56Scgd
2761.182Slukeminclude	"dev/eisa/files.eisa"
2771.72Scgdfile	arch/i386/eisa/eisa_machdep.c	eisa
2781.154Sjdolecek
2791.154Sjdolecek#
2801.154Sjdolecek# MCA-only drivers
2811.154Sjdolecek#
2821.154Sjdolecek
2831.182Slukemdevice	mca {[slot = -1]} : bioscall
2841.182Slukeminclude	"dev/mca/files.mca"
2851.159Sjdolecekfile	arch/i386/mca/mca_machdep.c	mca
2861.187Sjdolecek
2871.187Sjdolecekmajor	{ ed = 20 }
2881.77Sjtk
2891.80Schristos# ISA Plug 'n Play devices
2901.80Schristosfile	arch/i386/isa/isapnp_machdep.c	isapnp
2911.80Schristos
2921.80Schristosattach	joy at isapnp with joy_isapnp
2931.80Schristosfile	arch/i386/isa/joy_isapnp.c	joy_isapnp
2941.130Sdrochner
2951.130Sdrochner#
2961.130Sdrochner# VME support
2971.130Sdrochner#
2981.182Slukeminclude	"dev/vme/files.vme"
2991.77Sjtk
3001.77Sjtk#
3011.77Sjtk# Other mainbus-attached devices
3021.77Sjtk#
3031.77Sjtk
3041.77Sjtk# Advanced Power Management support (APM)
3051.182Slukemdevice	apm: bioscall
3061.182Slukemattach	apm at mainbus
3071.77Sjtkfile	arch/i386/i386/apm.c		apm needs-count
3081.89Sjtkfile	arch/i386/i386/apmcall.s	apm
3091.56Scgd
3101.55Smycroft#
3111.55Smycroft# Compatibility modules
3121.55Smycroft#
3131.61Smycroft
3141.61Smycroft# VM86 mode
3151.61Smycroftfile	arch/i386/i386/vm86.c			vm86
3161.120Smycroft
3171.120Smycroft# Binary compatibility with previous NetBSD releases (COMPAT_XX)
3181.135Smellonfile	arch/i386/i386/compat_13_machdep.c	compat_13 | compat_aout
3191.56Scgd
3201.59Smycroft# SVR4 binary compatibility (COMPAT_SVR4)
3211.182Slukeminclude	"compat/svr4/files.svr4"
3221.59Smycroftfile	arch/i386/i386/svr4_machdep.c		compat_svr4
3231.173Sjdolecekfile	arch/i386/i386/svr4_sigcode.s		compat_svr4
3241.177Smycroftfile	arch/i386/i386/svr4_syscall.c		compat_svr4
3251.189Schristos
3261.189Schristos# MACH binary compatibility (COMPAT_MACH)
3271.189Schristosinclude	"compat/mach/files.mach"
3281.189Schristosfile	arch/i386/i386/mach_machdep.c		compat_mach
3291.189Schristosfile	arch/i386/i386/mach_sigcode.s		compat_mach
3301.189Schristosfile	arch/i386/i386/mach_syscall.c		compat_mach
3311.189Schristosfile	arch/i386/i386/macho_machdep.c		exec_macho
3321.56Scgd
3331.59Smycroft# iBCS-2 binary compatibility (COMPAT_IBCS2)
3341.182Slukeminclude	"compat/ibcs2/files.ibcs2"
3351.88Smycroftfile	arch/i386/i386/ibcs2_machdep.c		compat_ibcs2
3361.173Sjdolecekfile	arch/i386/i386/ibcs2_sigcode.s		compat_ibcs2
3371.176Sjdolecekfile	arch/i386/i386/ibcs2_syscall.c		compat_ibcs2
3381.56Scgd
3391.59Smycroft# Linux binary compatibility (COMPAT_LINUX)
3401.182Slukeminclude	"compat/linux/files.linux"
3411.182Slukeminclude	"compat/linux/arch/i386/files.linux_i386"
3421.173Sjdolecekfile	arch/i386/i386/linux_sigcode.s		compat_linux
3431.176Sjdolecekfile	arch/i386/i386/linux_syscall.c		compat_linux
3441.188Schristosfile	arch/i386/i386/linux_trap.c		compat_linux
3451.58Smycroft
3461.59Smycroft# FreeBSD binary compatibility (COMPAT_FREEBSD)
3471.182Slukeminclude	"compat/freebsd/files.freebsd"
3481.58Smycroftfile	arch/i386/i386/freebsd_machdep.c	compat_freebsd
3491.173Sjdolecekfile	arch/i386/i386/freebsd_sigcode.s	compat_freebsd
3501.179Sjdolecekfile	arch/i386/i386/freebsd_syscall.c	compat_freebsd
3511.131Schristos
3521.131Schristos# a.out binary compatibility (COMPAT_AOUT)
3531.182Slukeminclude	"compat/aout/files.aout"
3541.160Smycroft
3551.160Smycroft# Win32 binary compatibility (COMPAT_PECOFF)
3561.182Slukeminclude	"compat/pecoff/files.pecoff"
3571.82Saugustss
3581.82Saugustss# OSS audio driver compatibility
3591.182Slukeminclude	"compat/ossaudio/files.ossaudio"
3601.91Sbouyer
3611.91Sbouyer# network devices MII bus
3621.182Slukeminclude	"dev/mii/files.mii"
3631.139Shaya
3641.139Shaya#
3651.139Shaya# CARDBUS
3661.139Shaya#
3671.182Slukeminclude	"dev/cardbus/files.cardbus"
3681.139Shayafile	arch/i386/i386/rbus_machdep.c	cardbus
3691.90Sthorpej
3701.90Sthorpej# XXXX pcic here because it needs to be late.  The catch: pcic needs
3711.90Sthorpej# to be late, so devices which attach to it are attached late.  But it
3721.90Sthorpej# needs to be before its isa and pci attachments.  This answer is
3731.90Sthorpej# non-optimal, but I don't have a better answer right now.
3741.90Sthorpej
3751.165Sitohy# PCIC pcmcia controller
3761.90Sthorpej# XXX this needs to be done very late, so it's done here.  This feels
3771.90Sthorpej# like a kludge, but it might be for the best.
3781.93Sthorpej
3791.93Sthorpejdefopt	PCIC_ISA_ALLOC_IOBASE
3801.93Sthorpejdefopt	PCIC_ISA_ALLOC_IOSIZE
3811.93Sthorpejdefopt	PCIC_ISA_INTR_ALLOC_MASK
3821.93Sthorpej
3831.126Spkdevice	pcic: pcmciabus
3841.92Sthorpejfile	dev/ic/i82365.c			pcic
3851.90Sthorpej
3861.114Ssommerfe# PCIC pcmcia controller on ISA bus.
3871.90Sthorpejattach	pcic at isa with pcic_isa
3881.90Sthorpejfile	dev/isa/i82365_isa.c		pcic_isa
3891.90Sthorpej
3901.114Ssommerfe# PCIC pcmcia controller on PCI bus.
3911.90Sthorpejattach	pcic at pci with pcic_pci
3921.90Sthorpejfile	dev/pci/i82365_pci.c		pcic_pci
3931.90Sthorpej
3941.114Ssommerfe# PCIC pcmcia controller on PnP board
3951.182Slukemattach	pcic at isapnp with pcic_isapnp
3961.114Ssommerfefile	dev/isapnp/i82365_isapnp.c	pcic_isapnp
3971.114Ssommerfe
3981.114Ssommerfe# Code common to ISA and ISAPnP attachments
3991.127Snathanwfile	dev/isa/i82365_isasubr.c	pcic_isa | pcic_isapnp | pcic_pci
4001.132Sbad
4011.132Sbad# XXXX tcic here because it needs to be late.  The catch: tcic needs
4021.132Sbad# to be late, so devices which attach to it are attached late.  But it
4031.132Sbad# needs to be before its isa and pci attachments.  This answer is
4041.132Sbad# non-optimal, but I don't have a better answer right now.
4051.132Sbad
4061.165Sitohy# TCIC pcmcia controller
4071.132Sbad# XXX this needs to be done very late, so it's done here.  This feels
4081.132Sbad# like a kludge, but it might be for the best.
4091.132Sbad
4101.132Sbaddefopt	TCIC_ISA_ALLOC_IOBASE
4111.132Sbaddefopt	TCIC_ISA_ALLOC_IOSIZE
4121.132Sbaddefopt	TCIC_ISA_INTR_ALLOC_MASK
4131.132Sbad
4141.132Sbaddevice	tcic: pcmciabus
4151.132Sbadfile	dev/ic/tcic2.c			tcic
4161.132Sbad
4171.165Sitohy# TCIC pcmcia controller
4181.132Sbadattach	tcic at isa with tcic_isa
4191.132Sbadfile	dev/isa/tcic2_isa.c		tcic_isa
4201.90Sthorpej
4211.90Sthorpej# this wants to be probed as late as possible.
4221.90Sthorpej#
4231.90Sthorpej# Machine-independent PCMCIA drivers
4241.90Sthorpej#
4251.182Slukeminclude	"dev/pcmcia/files.pcmcia"
4261.90Sthorpej
4271.90Sthorpej
4281.182Slukeminclude	"dev/usb/files.usb"
4291.170Sonoe
4301.182Slukeminclude	"dev/ieee1394/files.ieee1394"
4311.141Sdrochner
4321.182Slukeminclude	"arch/i386/pnpbios/files.pnpbios"
433