files.i386 revision 1.178
11.178Smycroft#	$NetBSD: files.i386,v 1.178 2000/12/11 05:28:59 mycroft 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.125Sthorpejdefopt	opt_apm.h APM_DISABLE APM_FORCE_64K_SEGMENTS APM_NO_IDLE
131.136Sdrochner	APM_NO_STANDBY APM_V10_ONLY APM_NO_V12 APMDEBUG APMDEBUG_VALUE
141.161Sgmcgarry	APM_POWER_PRINT APM_DISABLE_INTERRUPTS APM_ALLOW_BOGUS_SEGMENTS
151.100Sthorpej
161.100Sthorpej# Processor type options.
171.100Sthorpejdefopt	opt_cputype.h I386_CPU I486_CPU I586_CPU I686_CPU
181.124Sbouyer
191.124Sbouyer# delay before cpu_reset() for reboot.
201.124Sbouyerdefopt CPURESET_DELAY
211.101Sthorpej
221.101Sthorpej# VM86 emulation
231.101Sthorpejdefopt	VM86
241.102Sthorpej
251.102Sthorpej# Floating point emulation
261.102Sthorpejdefopt	MATH_EMULATE
271.103Sthorpej
281.103Sthorpej# User-settable LDT (used by WINE)
291.103Sthorpejdefopt	USER_LDT
301.104Sthorpej
311.104Sthorpej# Speed hack; make NOPs dummies (might break on some machines)
321.104Sthorpejdefopt	DUMMY_NOPS
331.105Sthorpej
341.167Sthorpej# Performance counter support
351.167Sthorpejdefopt	PERFCTRS
361.167Sthorpej
371.105Sthorpej# X server support in console drivers
381.118Srvbdefopt	opt_xserver.h XSERVER XSERVER_DDB
391.140Sdrochner
401.140Sdrochner# understand boot device passed by pre-1.3 bootblocks
411.140Sdrochnerdefopt	COMPAT_OLDBOOT
421.98Sthorpej
431.142Sthorpej# PCI BIOS options
441.164Ssodadefopt	opt_pcibios.h PCIBIOS PCIBIOSVERBOSE
451.164Ssoda	PCIBIOS_ADDR_FIXUP PCIBIOS_BUS_FIXUP
461.164Ssoda	PCIBIOS_INTR_FIXUP PCIBIOS_INTR_FIXUP_FORCE
471.164Ssoda	PCIBIOS_INTR_GUESS PCIBIOS_IRQS_HINT PCIINTR_DEBUG
481.166Sthorpej
491.166Sthorpej# Large page size
501.166Sthorpejdefopt	LARGEPAGES
511.142Sthorpej
521.56Scgdfile	arch/i386/i386/autoconf.c
531.146Sdrochnerfile	arch/i386/i386/bus_machdep.c
541.56Scgdfile	arch/i386/i386/conf.c
551.145Sdrochnerfile	arch/i386/i386/consinit.c
561.119Srvbfile	arch/i386/i386/db_dbgreg.s	ddb
571.56Scgdfile	arch/i386/i386/db_disasm.c	ddb
581.56Scgdfile	arch/i386/i386/db_interface.c	ddb
591.85Sthorpejfile	arch/i386/i386/db_memrw.c	ddb | kgdb
601.56Scgdfile	arch/i386/i386/db_trace.c	ddb
611.56Scgdfile	arch/i386/i386/disksubr.c	disk
621.60Smycroftfile	arch/i386/i386/gdt.c
631.74Smycroftfile	arch/i386/i386/in_cksum.s	inet
641.147Sthorpejfile	netinet/in4_cksum.c		inet
651.152Swsfile	arch/i386/i386/ipkdb_glue.c	ipkdb
661.85Sthorpejfile	arch/i386/i386/kgdb_machdep.c	kgdb
671.56Scgdfile	arch/i386/i386/machdep.c
681.56Scgdfile	arch/i386/i386/math_emulate.c	math_emulate
691.56Scgdfile	arch/i386/i386/mem.c
701.56Scgdfile	arch/i386/i386/microtime.s
711.154Sjdolecekfile	netns/ns_cksum.c		ns
721.134Sthorpejfile	arch/i386/i386/pmap.c
731.56Scgdfile	arch/i386/i386/process_machdep.c
741.56Scgdfile	arch/i386/i386/sys_machdep.c
751.178Smycroftfile	arch/i386/i386/syscall.c
761.56Scgdfile	arch/i386/i386/trap.c
771.56Scgdfile	arch/i386/i386/vm_machdep.c
781.56Scgdfile	dev/cons.c
791.167Sthorpej
801.167Sthorpejfile	arch/i386/i386/pmc.c		perfctrs
811.56Scgd
821.56Scgd#
831.56Scgd# Machine-independent SCSI drivers
841.56Scgd#
851.56Scgd
861.98Sthorpejinclude "dev/scsipi/files.scsipi"
871.56Scgdmajor	{sd = 4}
881.56Scgdmajor	{cd = 6}
891.69Sperry
901.97Scgd#
911.97Scgd# Machine-independent ATA drivers
921.97Scgd#
931.97Scgd
941.98Sthorpejinclude "dev/ata/files.ata"
951.97Scgdmajor	{wd = 0}
961.97Scgd
971.79Spk# Memory Disk for install floppy
981.79Spkfile arch/i386/i386/md_root.c	memory_disk_hooks
991.79Spkmajor	{md = 17}
1001.149Soster
1011.149Soster# RAIDframe
1021.149Sostermajor	{raid = 18}
1031.151Sad
1041.174Sad# Logical disk
1051.174Sadmajor	{ld = 19}
1061.171Sad
1071.171Sad#
1081.171Sad# Machine-independent I2O drivers
1091.171Sad#
1101.171Sad
1111.171Sadinclude "dev/i2o/files.i2o"
1121.56Scgd
1131.142Sthorpej# attribute used to bring in BIOS trampoline code for real-mode probing
1141.142Sthorpej# of certain devices/BIOS features
1151.142Sthorpejdefine bioscall
1161.142Sthorpejfile	arch/i386/i386/bioscall.s	bioscall needs-flag
1171.142Sthorpej
1181.142Sthorpej# BIOS32 routines
1191.142Sthorpejdefine	bios32
1201.142Sthorpejfile	arch/i386/i386/bios32.c		bios32 needs-flag
1211.142Sthorpej
1221.56Scgd#
1231.56Scgd# System bus types
1241.56Scgd#
1251.65Scgd
1261.77Sjtkdefine mainbus { }
1271.142Sthorpej# XXX BIOS32 only if something that uses it is configured!
1281.159Sjdolecekdevice	mainbus: isabus, eisabus, mcabus, pcibus, mainbus, bios32
1291.67Sthorpejattach	mainbus at root
1301.65Scgdfile	arch/i386/i386/mainbus.c	mainbus
1311.56Scgd
1321.55Smycroft#
1331.64Scgd# PCI-only drivers
1341.64Scgd# XXX MUST BE INCLUDED BEFORE files.isa, as long as files.isa attaches
1351.64Scgd# XXX devices to 'pci'.
1361.64Scgd#
1371.64Scgd
1381.98Sthorpejinclude "dev/pci/files.pci"
1391.64Scgdfile	arch/i386/pci/pci_machdep.c	pci
1401.142Sthorpejfile	arch/i386/pci/pcibios.c		pcibios
1411.142Sthorpejfile	arch/i386/pci/pci_intr_fixup.c	pcibios & pcibios_intr_fixup
1421.142Sthorpejfile	arch/i386/pci/piix.c		pcibios & pcibios_intr_fixup
1431.142Sthorpejfile	arch/i386/pci/opti82c558.c	pcibios & pcibios_intr_fixup
1441.142Sthorpejfile	arch/i386/pci/opti82c700.c	pcibios & pcibios_intr_fixup
1451.142Sthorpejfile	arch/i386/pci/sis85c503.c	pcibios & pcibios_intr_fixup
1461.142Sthorpejfile	arch/i386/pci/via82c586.c	pcibios & pcibios_intr_fixup
1471.143Sthorpejfile	arch/i386/pci/pci_bus_fixup.c	pcibios & pcibios_bus_fixup
1481.158Suchfile	arch/i386/pci/pci_addr_fixup.c	pcibios & pcibios_addr_fixup
1491.129Sdrochnerdefopt PCI_CONF_MODE
1501.110Scgdfile	arch/i386/pci/pciide_machdep.c	pciide
1511.127Snathanwfile	arch/i386/pci/pcic_pci_machdep.c	pcic_pci
1521.78Sthorpej
1531.78Sthorpej# PCI-Host bridge chipsets
1541.108Sthorpejdevice	pchb: pcibus
1551.78Sthorpejattach	pchb at pci
1561.78Sthorpejfile	arch/i386/pci/pchb.c		pchb
1571.169Sthorpejfile	arch/i386/pci/pchb_rnd.c	pchb & rnd
1581.107Sthorpej
1591.107Sthorpej# PCI-EISA bridges
1601.108Sthorpejdevice	pceb: eisabus, isabus
1611.107Sthorpejattach	pceb at pci
1621.107Sthorpejfile	arch/i386/pci/pceb.c		pceb
1631.78Sthorpej
1641.78Sthorpej# PCI-ISA bridges
1651.108Sthorpejdevice	pcib: isabus
1661.78Sthorpejattach	pcib at pci
1671.78Sthorpejfile	arch/i386/pci/pcib.c		pcib
1681.64Scgd
1691.153Smartin# Game adapter (joystick)
1701.153Smartindevice	joy
1711.153Smartinfile	arch/i386/isa/joy.c		joy needs-flag
1721.153Smartin
1731.153Smartin# PCI joysticks
1741.153Smartinattach joy at pci with pci_joy
1751.153Smartinfile	arch/i386/pci/joy_pci.c		pci_joy
1761.153Smartin
1771.64Scgd#
1781.55Smycroft# ISA and mixed ISA+EISA or ISA+PCI drivers
1791.55Smycroft#
1801.56Scgd
1811.98Sthorpejinclude "dev/isa/files.isa"
1821.56Scgdmajor	{mcd = 7}
1831.56Scgd#major	{scd = 15}
1841.115Scgd
1851.115Scgd# XXX THE FOLLOWING BLOCK SHOULD GO INTO dev/pci/files.pci, BUT CANNOT
1861.115Scgd# XXX BECAUSE NOT 'lpt' IS DEFINED IN files.isa, RATHER THAN files.
1871.115Scgd# XXX (when the conf/files and files.isa bogons are fixed, this can
1881.115Scgd# XXX be fixed as well.)
1891.115Scgd
1901.115Scgdattach	lpt at puc with lpt_puc
1911.115Scgdfile	dev/pci/lpt_puc.c	lpt_puc
1921.56Scgd
1931.56Scgdfile	arch/i386/isa/isa_machdep.c	isa
1941.56Scgd
1951.56Scgd# PC clock
1961.56Scgdfile	arch/i386/isa/clock.c		isa
1971.130Sdrochnerfile	dev/clock_subr.c		isa
1981.56Scgd
1991.56Scgd# Numeric Processing Extension; Math Co-processor
2001.108Sthorpejdevice	npx
2011.56Scgdfile	arch/i386/isa/npx.c		npx needs-flag
2021.163Sthorpej
2031.163Sthorpejattach	npx at isa with npx_isa
2041.163Sthorpejfile	arch/i386/isa/npx_isa.c		npx_isa
2051.56Scgd
2061.66Sthorpej# attribute used to represent the "keyboard controller"
2071.66Sthorpej# XXX should be a real device
2081.111Sdrochnerdefine pckbcport { [irq = -1], [port = -1] }
2091.66Sthorpej
2101.56Scgd# PC console support a la "pccons"
2111.111Sdrochnerdevice	pc: tty, pckbcport
2121.67Sthorpejattach	pc at isa
2131.111Sdrochnerdevice	pcconskbd
2141.111Sdrochnerattach	pcconskbd at pckbc
2151.111Sdrochnerfile	arch/i386/isa/pccons.c		pc | pcconskbd needs-flag
2161.56Scgd
2171.56Scgd# PC Mice; Logitech-style, Microsoft-style, and PS/2-style
2181.128Sdrochnerdevice	olms
2191.128Sdrochnerattach	olms at isa
2201.128Sdrochnerfile	arch/i386/isa/olms.c		olms needs-flag
2211.128Sdrochnerdevice	lms: wsmousedev
2221.67Sthorpejattach	lms at isa
2231.128Sdrochnerfile	arch/i386/isa/lms.c		lms
2241.128Sdrochnerdevice	omms
2251.128Sdrochnerattach	omms at isa
2261.128Sdrochnerfile	arch/i386/isa/omms.c		omms needs-flag
2271.128Sdrochnerdevice	mms: wsmousedev
2281.67Sthorpejattach	mms at isa
2291.128Sdrochnerfile	arch/i386/isa/mms.c		mms
2301.128Sdrochnerdevice	opms
2311.128Sdrochnerattach	opms at pckbcport with opms_hack
2321.128Sdrochnerattach	opms at pckbc with opms_pckbc
2331.128Sdrochnerfile	arch/i386/isa/pms.c		opms | opms_hack | opms_pckbc needs-flag
2341.111Sdrochner
2351.111Sdrochnerinclude "dev/wscons/files.wscons"
2361.111Sdrochner
2371.111Sdrochnerinclude "dev/pckbc/files.pckbc"
2381.113Sdrochner
2391.113Sdrochnerdevice sysbeep
2401.113Sdrochnerattach sysbeep at pcppi
2411.111Sdrochner
2421.56Scgd# Floppy disk controller
2431.157Sthorpejdevice	fdc {drive = -1}: isadma
2441.157Sthorpejfile	dev/isa/fd.c			fdc needs-flag
2451.157Sthorpej
2461.157Sthorpejattach	fdc at isa with fdc_isa
2471.157Sthorpejfile	dev/isa/fdc_isa.c		fdc_isa
2481.157Sthorpej
2491.157Sthorpejdevice	fd: disk
2501.67Sthorpejattach	fd at fdc
2511.56Scgdmajor	{fd = 2}
2521.76Ssoda
2531.80Schristosattach	joy at isa with joy_isa
2541.80Schristosfile	arch/i386/isa/joy_isa.c		joy_isa
2551.80Schristos
2561.76Ssoda# Adaptec AHA-284x VL SCSI controllers
2571.76Ssoda# device declaration in sys/conf/files
2581.150Sfvdlattach	ahc at isa with ahc_isa: ahc_aic77xx, smc93cx6
2591.76Ssodafile	arch/i386/isa/ahc_isa.c		ahc_isa
2601.56Scgd
2611.55Smycroft#
2621.55Smycroft# EISA-only drivers
2631.55Smycroft#
2641.56Scgd
2651.98Sthorpejinclude "dev/eisa/files.eisa"
2661.72Scgdfile	arch/i386/eisa/eisa_machdep.c	eisa
2671.154Sjdolecek
2681.154Sjdolecek#
2691.154Sjdolecek# MCA-only drivers
2701.154Sjdolecek#
2711.154Sjdolecek
2721.159Sjdolecekdevice mca {[slot = -1]} : bioscall
2731.159Sjdolecekinclude "dev/mca/files.mca"
2741.159Sjdolecekfile	arch/i386/mca/mca_machdep.c	mca
2751.77Sjtk
2761.80Schristos# ISA Plug 'n Play devices
2771.80Schristosfile	arch/i386/isa/isapnp_machdep.c	isapnp
2781.80Schristos
2791.80Schristosattach	joy at isapnp with joy_isapnp
2801.80Schristosfile	arch/i386/isa/joy_isapnp.c	joy_isapnp
2811.130Sdrochner
2821.130Sdrochner#
2831.130Sdrochner# VME support
2841.130Sdrochner#
2851.130Sdrochnerinclude "dev/vme/files.vme"
2861.77Sjtk
2871.77Sjtk#
2881.77Sjtk# Other mainbus-attached devices
2891.77Sjtk#
2901.77Sjtk
2911.77Sjtk# Advanced Power Management support (APM)
2921.108Sthorpejdevice apm: bioscall
2931.77Sjtkattach apm at mainbus
2941.77Sjtkfile	arch/i386/i386/apm.c		apm needs-count
2951.89Sjtkfile	arch/i386/i386/apmcall.s	apm
2961.56Scgd
2971.55Smycroft#
2981.55Smycroft# Compatibility modules
2991.55Smycroft#
3001.61Smycroft
3011.61Smycroft# VM86 mode
3021.61Smycroftfile	arch/i386/i386/vm86.c			vm86
3031.120Smycroft
3041.120Smycroft# Binary compatibility with previous NetBSD releases (COMPAT_XX)
3051.135Smellonfile	arch/i386/i386/compat_13_machdep.c	compat_13 | compat_aout
3061.56Scgd
3071.59Smycroft# SVR4 binary compatibility (COMPAT_SVR4)
3081.98Sthorpejinclude "compat/svr4/files.svr4"
3091.59Smycroftfile	arch/i386/i386/svr4_machdep.c		compat_svr4
3101.173Sjdolecekfile	arch/i386/i386/svr4_sigcode.s		compat_svr4
3111.177Smycroftfile	arch/i386/i386/svr4_syscall.c		compat_svr4
3121.56Scgd
3131.59Smycroft# iBCS-2 binary compatibility (COMPAT_IBCS2)
3141.98Sthorpejinclude "compat/ibcs2/files.ibcs2"
3151.88Smycroftfile	arch/i386/i386/ibcs2_machdep.c		compat_ibcs2
3161.173Sjdolecekfile	arch/i386/i386/ibcs2_sigcode.s		compat_ibcs2
3171.176Sjdolecekfile	arch/i386/i386/ibcs2_syscall.c		compat_ibcs2
3181.56Scgd
3191.59Smycroft# Linux binary compatibility (COMPAT_LINUX)
3201.98Sthorpejinclude "compat/linux/files.linux"
3211.122Sfvdlinclude "compat/linux/arch/i386/files.linux_i386"
3221.173Sjdolecekfile	arch/i386/i386/linux_sigcode.s		compat_linux
3231.176Sjdolecekfile	arch/i386/i386/linux_syscall.c		compat_linux
3241.58Smycroft
3251.59Smycroft# FreeBSD binary compatibility (COMPAT_FREEBSD)
3261.98Sthorpejinclude "compat/freebsd/files.freebsd"
3271.58Smycroftfile	arch/i386/i386/freebsd_machdep.c	compat_freebsd
3281.173Sjdolecekfile	arch/i386/i386/freebsd_sigcode.s	compat_freebsd
3291.131Schristos
3301.131Schristos# a.out binary compatibility (COMPAT_AOUT)
3311.131Schristosinclude "compat/aout/files.aout"
3321.160Smycroft
3331.160Smycroft# Win32 binary compatibility (COMPAT_PECOFF)
3341.160Smycroftinclude "compat/pecoff/files.pecoff"
3351.82Saugustss
3361.82Saugustss# OSS audio driver compatibility
3371.98Sthorpejinclude "compat/ossaudio/files.ossaudio"
3381.91Sbouyer
3391.91Sbouyer# network devices MII bus
3401.98Sthorpejinclude "dev/mii/files.mii"
3411.139Shaya
3421.139Shaya#
3431.139Shaya# CARDBUS
3441.139Shaya#
3451.139Shayainclude "dev/cardbus/files.cardbus"
3461.139Shayafile	arch/i386/i386/rbus_machdep.c	cardbus
3471.90Sthorpej
3481.90Sthorpej# XXXX pcic here because it needs to be late.  The catch: pcic needs
3491.90Sthorpej# to be late, so devices which attach to it are attached late.  But it
3501.90Sthorpej# needs to be before its isa and pci attachments.  This answer is
3511.90Sthorpej# non-optimal, but I don't have a better answer right now.
3521.90Sthorpej
3531.165Sitohy# PCIC pcmcia controller
3541.90Sthorpej# XXX this needs to be done very late, so it's done here.  This feels
3551.90Sthorpej# like a kludge, but it might be for the best.
3561.93Sthorpej
3571.93Sthorpejdefopt	PCIC_ISA_ALLOC_IOBASE
3581.93Sthorpejdefopt	PCIC_ISA_ALLOC_IOSIZE
3591.93Sthorpejdefopt	PCIC_ISA_INTR_ALLOC_MASK
3601.93Sthorpej
3611.126Spkdevice	pcic: pcmciabus
3621.92Sthorpejfile	dev/ic/i82365.c			pcic
3631.90Sthorpej
3641.114Ssommerfe# PCIC pcmcia controller on ISA bus.
3651.90Sthorpejattach	pcic at isa with pcic_isa
3661.90Sthorpejfile	dev/isa/i82365_isa.c		pcic_isa
3671.90Sthorpej
3681.114Ssommerfe# PCIC pcmcia controller on PCI bus.
3691.90Sthorpejattach	pcic at pci with pcic_pci
3701.90Sthorpejfile	dev/pci/i82365_pci.c		pcic_pci
3711.90Sthorpej
3721.114Ssommerfe# PCIC pcmcia controller on PnP board
3731.114Ssommerfeattach pcic at isapnp with pcic_isapnp
3741.114Ssommerfefile	dev/isapnp/i82365_isapnp.c	pcic_isapnp
3751.114Ssommerfe
3761.114Ssommerfe# Code common to ISA and ISAPnP attachments
3771.127Snathanwfile	dev/isa/i82365_isasubr.c	pcic_isa | pcic_isapnp | pcic_pci
3781.132Sbad
3791.132Sbad# XXXX tcic here because it needs to be late.  The catch: tcic needs
3801.132Sbad# to be late, so devices which attach to it are attached late.  But it
3811.132Sbad# needs to be before its isa and pci attachments.  This answer is
3821.132Sbad# non-optimal, but I don't have a better answer right now.
3831.132Sbad
3841.165Sitohy# TCIC pcmcia controller
3851.132Sbad# XXX this needs to be done very late, so it's done here.  This feels
3861.132Sbad# like a kludge, but it might be for the best.
3871.132Sbad
3881.132Sbaddefopt	TCIC_ISA_ALLOC_IOBASE
3891.132Sbaddefopt	TCIC_ISA_ALLOC_IOSIZE
3901.132Sbaddefopt	TCIC_ISA_INTR_ALLOC_MASK
3911.132Sbad
3921.132Sbaddevice	tcic: pcmciabus
3931.132Sbadfile	dev/ic/tcic2.c			tcic
3941.132Sbad
3951.165Sitohy# TCIC pcmcia controller
3961.132Sbadattach	tcic at isa with tcic_isa
3971.132Sbadfile	dev/isa/tcic2_isa.c		tcic_isa
3981.90Sthorpej
3991.90Sthorpej# this wants to be probed as late as possible.
4001.90Sthorpej#
4011.90Sthorpej# Machine-independent PCMCIA drivers
4021.90Sthorpej#
4031.90Sthorpejinclude "dev/pcmcia/files.pcmcia"
4041.90Sthorpej
4051.90Sthorpej
4061.116Saugustssinclude "dev/usb/files.usb"
4071.170Sonoe
4081.170Sonoeinclude "dev/ieee1394/files.ieee1394"
4091.141Sdrochner
4101.141Sdrochnerinclude "arch/i386/pnpbios/files.pnpbios"
411