files.i386 revision 1.164
11.164Ssoda#	$NetBSD: files.i386,v 1.164 2000/08/10 21:21:02 soda 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.105Sthorpej# X server support in console drivers
351.118Srvbdefopt	opt_xserver.h XSERVER XSERVER_DDB
361.140Sdrochner
371.140Sdrochner# understand boot device passed by pre-1.3 bootblocks
381.140Sdrochnerdefopt	COMPAT_OLDBOOT
391.98Sthorpej
401.142Sthorpej# PCI BIOS options
411.164Ssodadefopt	opt_pcibios.h PCIBIOS PCIBIOSVERBOSE
421.164Ssoda	PCIBIOS_ADDR_FIXUP PCIBIOS_BUS_FIXUP
431.164Ssoda	PCIBIOS_INTR_FIXUP PCIBIOS_INTR_FIXUP_FORCE
441.164Ssoda	PCIBIOS_INTR_GUESS PCIBIOS_IRQS_HINT PCIINTR_DEBUG
451.142Sthorpej
461.56Scgdfile	arch/i386/i386/autoconf.c
471.146Sdrochnerfile	arch/i386/i386/bus_machdep.c
481.56Scgdfile	arch/i386/i386/conf.c
491.145Sdrochnerfile	arch/i386/i386/consinit.c
501.119Srvbfile	arch/i386/i386/db_dbgreg.s	ddb
511.56Scgdfile	arch/i386/i386/db_disasm.c	ddb
521.56Scgdfile	arch/i386/i386/db_interface.c	ddb
531.85Sthorpejfile	arch/i386/i386/db_memrw.c	ddb | kgdb
541.56Scgdfile	arch/i386/i386/db_trace.c	ddb
551.56Scgdfile	arch/i386/i386/disksubr.c	disk
561.60Smycroftfile	arch/i386/i386/gdt.c
571.74Smycroftfile	arch/i386/i386/in_cksum.s	inet
581.147Sthorpejfile	netinet/in4_cksum.c		inet
591.152Swsfile	arch/i386/i386/ipkdb_glue.c	ipkdb
601.85Sthorpejfile	arch/i386/i386/kgdb_machdep.c	kgdb
611.56Scgdfile	arch/i386/i386/machdep.c
621.56Scgdfile	arch/i386/i386/math_emulate.c	math_emulate
631.56Scgdfile	arch/i386/i386/mem.c
641.56Scgdfile	arch/i386/i386/microtime.s
651.154Sjdolecekfile	netns/ns_cksum.c		ns
661.134Sthorpejfile	arch/i386/i386/pmap.c
671.56Scgdfile	arch/i386/i386/process_machdep.c
681.56Scgdfile	arch/i386/i386/sys_machdep.c
691.56Scgdfile	arch/i386/i386/trap.c
701.56Scgdfile	arch/i386/i386/vm_machdep.c
711.56Scgdfile	dev/cons.c
721.56Scgd
731.56Scgd#
741.56Scgd# Machine-independent SCSI drivers
751.56Scgd#
761.56Scgd
771.98Sthorpejinclude "dev/scsipi/files.scsipi"
781.56Scgdmajor	{sd = 4}
791.56Scgdmajor	{cd = 6}
801.69Sperry
811.97Scgd#
821.97Scgd# Machine-independent ATA drivers
831.97Scgd#
841.97Scgd
851.98Sthorpejinclude "dev/ata/files.ata"
861.97Scgdmajor	{wd = 0}
871.97Scgd
881.79Spk# Memory Disk for install floppy
891.79Spkfile arch/i386/i386/md_root.c	memory_disk_hooks
901.79Spkmajor	{md = 17}
911.149Soster
921.149Soster# RAIDframe
931.149Sostermajor	{raid = 18}
941.151Sad
951.151Sad# Compaq arrays
961.151Sadmajor	{ca = 19}
971.56Scgd
981.142Sthorpej# attribute used to bring in BIOS trampoline code for real-mode probing
991.142Sthorpej# of certain devices/BIOS features
1001.142Sthorpejdefine bioscall
1011.142Sthorpejfile	arch/i386/i386/bioscall.s	bioscall needs-flag
1021.142Sthorpej
1031.142Sthorpej# BIOS32 routines
1041.142Sthorpejdefine	bios32
1051.142Sthorpejfile	arch/i386/i386/bios32.c		bios32 needs-flag
1061.142Sthorpej
1071.56Scgd#
1081.56Scgd# System bus types
1091.56Scgd#
1101.65Scgd
1111.77Sjtkdefine mainbus { }
1121.142Sthorpej# XXX BIOS32 only if something that uses it is configured!
1131.159Sjdolecekdevice	mainbus: isabus, eisabus, mcabus, pcibus, mainbus, bios32
1141.67Sthorpejattach	mainbus at root
1151.65Scgdfile	arch/i386/i386/mainbus.c	mainbus
1161.56Scgd
1171.55Smycroft#
1181.64Scgd# PCI-only drivers
1191.64Scgd# XXX MUST BE INCLUDED BEFORE files.isa, as long as files.isa attaches
1201.64Scgd# XXX devices to 'pci'.
1211.64Scgd#
1221.64Scgd
1231.98Sthorpejinclude "dev/pci/files.pci"
1241.64Scgdfile	arch/i386/pci/pci_machdep.c	pci
1251.142Sthorpejfile	arch/i386/pci/pcibios.c		pcibios
1261.142Sthorpejfile	arch/i386/pci/pci_intr_fixup.c	pcibios & pcibios_intr_fixup
1271.142Sthorpejfile	arch/i386/pci/piix.c		pcibios & pcibios_intr_fixup
1281.142Sthorpejfile	arch/i386/pci/opti82c558.c	pcibios & pcibios_intr_fixup
1291.142Sthorpejfile	arch/i386/pci/opti82c700.c	pcibios & pcibios_intr_fixup
1301.142Sthorpejfile	arch/i386/pci/sis85c503.c	pcibios & pcibios_intr_fixup
1311.142Sthorpejfile	arch/i386/pci/via82c586.c	pcibios & pcibios_intr_fixup
1321.143Sthorpejfile	arch/i386/pci/pci_bus_fixup.c	pcibios & pcibios_bus_fixup
1331.158Suchfile	arch/i386/pci/pci_addr_fixup.c	pcibios & pcibios_addr_fixup
1341.129Sdrochnerdefopt PCI_CONF_MODE
1351.110Scgdfile	arch/i386/pci/pciide_machdep.c	pciide
1361.127Snathanwfile	arch/i386/pci/pcic_pci_machdep.c	pcic_pci
1371.78Sthorpej
1381.78Sthorpej# PCI-Host bridge chipsets
1391.108Sthorpejdevice	pchb: pcibus
1401.78Sthorpejattach	pchb at pci
1411.78Sthorpejfile	arch/i386/pci/pchb.c		pchb
1421.107Sthorpej
1431.107Sthorpej# PCI-EISA bridges
1441.108Sthorpejdevice	pceb: eisabus, isabus
1451.107Sthorpejattach	pceb at pci
1461.107Sthorpejfile	arch/i386/pci/pceb.c		pceb
1471.78Sthorpej
1481.78Sthorpej# PCI-ISA bridges
1491.108Sthorpejdevice	pcib: isabus
1501.78Sthorpejattach	pcib at pci
1511.78Sthorpejfile	arch/i386/pci/pcib.c		pcib
1521.64Scgd
1531.153Smartin# Game adapter (joystick)
1541.153Smartindevice	joy
1551.153Smartinfile	arch/i386/isa/joy.c		joy needs-flag
1561.153Smartin
1571.153Smartin# PCI joysticks
1581.153Smartinattach joy at pci with pci_joy
1591.153Smartinfile	arch/i386/pci/joy_pci.c		pci_joy
1601.153Smartin
1611.64Scgd#
1621.55Smycroft# ISA and mixed ISA+EISA or ISA+PCI drivers
1631.55Smycroft#
1641.56Scgd
1651.98Sthorpejinclude "dev/isa/files.isa"
1661.56Scgdmajor	{mcd = 7}
1671.56Scgd#major	{scd = 15}
1681.115Scgd
1691.115Scgd# XXX THE FOLLOWING BLOCK SHOULD GO INTO dev/pci/files.pci, BUT CANNOT
1701.115Scgd# XXX BECAUSE NOT 'lpt' IS DEFINED IN files.isa, RATHER THAN files.
1711.115Scgd# XXX (when the conf/files and files.isa bogons are fixed, this can
1721.115Scgd# XXX be fixed as well.)
1731.115Scgd
1741.115Scgdattach	lpt at puc with lpt_puc
1751.115Scgdfile	dev/pci/lpt_puc.c	lpt_puc
1761.56Scgd
1771.56Scgdfile	arch/i386/isa/isa_machdep.c	isa
1781.56Scgd
1791.56Scgd# PC clock
1801.56Scgdfile	arch/i386/isa/clock.c		isa
1811.130Sdrochnerfile	dev/clock_subr.c		isa
1821.56Scgd
1831.56Scgd# Numeric Processing Extension; Math Co-processor
1841.108Sthorpejdevice	npx
1851.56Scgdfile	arch/i386/isa/npx.c		npx needs-flag
1861.163Sthorpej
1871.163Sthorpejattach	npx at isa with npx_isa
1881.163Sthorpejfile	arch/i386/isa/npx_isa.c		npx_isa
1891.56Scgd
1901.66Sthorpej# attribute used to represent the "keyboard controller"
1911.66Sthorpej# XXX should be a real device
1921.111Sdrochnerdefine pckbcport { [irq = -1], [port = -1] }
1931.66Sthorpej
1941.56Scgd# PC console support a la "pccons"
1951.111Sdrochnerdevice	pc: tty, pckbcport
1961.67Sthorpejattach	pc at isa
1971.111Sdrochnerdevice	pcconskbd
1981.111Sdrochnerattach	pcconskbd at pckbc
1991.111Sdrochnerfile	arch/i386/isa/pccons.c		pc | pcconskbd needs-flag
2001.56Scgd
2011.56Scgd# PC Mice; Logitech-style, Microsoft-style, and PS/2-style
2021.128Sdrochnerdevice	olms
2031.128Sdrochnerattach	olms at isa
2041.128Sdrochnerfile	arch/i386/isa/olms.c		olms needs-flag
2051.128Sdrochnerdevice	lms: wsmousedev
2061.67Sthorpejattach	lms at isa
2071.128Sdrochnerfile	arch/i386/isa/lms.c		lms
2081.128Sdrochnerdevice	omms
2091.128Sdrochnerattach	omms at isa
2101.128Sdrochnerfile	arch/i386/isa/omms.c		omms needs-flag
2111.128Sdrochnerdevice	mms: wsmousedev
2121.67Sthorpejattach	mms at isa
2131.128Sdrochnerfile	arch/i386/isa/mms.c		mms
2141.128Sdrochnerdevice	opms
2151.128Sdrochnerattach	opms at pckbcport with opms_hack
2161.128Sdrochnerattach	opms at pckbc with opms_pckbc
2171.128Sdrochnerfile	arch/i386/isa/pms.c		opms | opms_hack | opms_pckbc needs-flag
2181.111Sdrochner
2191.111Sdrochnerinclude "dev/wscons/files.wscons"
2201.111Sdrochner
2211.111Sdrochnerinclude "dev/pckbc/files.pckbc"
2221.113Sdrochner
2231.113Sdrochnerdevice sysbeep
2241.113Sdrochnerattach sysbeep at pcppi
2251.111Sdrochner
2261.56Scgd# Floppy disk controller
2271.157Sthorpejdevice	fdc {drive = -1}: isadma
2281.157Sthorpejfile	dev/isa/fd.c			fdc needs-flag
2291.157Sthorpej
2301.157Sthorpejattach	fdc at isa with fdc_isa
2311.157Sthorpejfile	dev/isa/fdc_isa.c		fdc_isa
2321.157Sthorpej
2331.157Sthorpejdevice	fd: disk
2341.67Sthorpejattach	fd at fdc
2351.56Scgdmajor	{fd = 2}
2361.76Ssoda
2371.80Schristosattach	joy at isa with joy_isa
2381.80Schristosfile	arch/i386/isa/joy_isa.c		joy_isa
2391.80Schristos
2401.76Ssoda# Adaptec AHA-284x VL SCSI controllers
2411.76Ssoda# device declaration in sys/conf/files
2421.150Sfvdlattach	ahc at isa with ahc_isa: ahc_aic77xx, smc93cx6
2431.76Ssodafile	arch/i386/isa/ahc_isa.c		ahc_isa
2441.56Scgd
2451.55Smycroft#
2461.55Smycroft# EISA-only drivers
2471.55Smycroft#
2481.56Scgd
2491.98Sthorpejinclude "dev/eisa/files.eisa"
2501.72Scgdfile	arch/i386/eisa/eisa_machdep.c	eisa
2511.154Sjdolecek
2521.154Sjdolecek#
2531.154Sjdolecek# MCA-only drivers
2541.154Sjdolecek#
2551.154Sjdolecek
2561.159Sjdolecekdevice mca {[slot = -1]} : bioscall
2571.159Sjdolecekinclude "dev/mca/files.mca"
2581.159Sjdolecekfile	arch/i386/mca/mca_machdep.c	mca
2591.77Sjtk
2601.80Schristos# ISA Plug 'n Play devices
2611.80Schristosfile	arch/i386/isa/isapnp_machdep.c	isapnp
2621.80Schristos
2631.80Schristosattach	joy at isapnp with joy_isapnp
2641.80Schristosfile	arch/i386/isa/joy_isapnp.c	joy_isapnp
2651.130Sdrochner
2661.130Sdrochner#
2671.130Sdrochner# VME support
2681.130Sdrochner#
2691.130Sdrochnerinclude "dev/vme/files.vme"
2701.77Sjtk
2711.77Sjtk#
2721.77Sjtk# Other mainbus-attached devices
2731.77Sjtk#
2741.77Sjtk
2751.77Sjtk# Advanced Power Management support (APM)
2761.108Sthorpejdevice apm: bioscall
2771.77Sjtkattach apm at mainbus
2781.77Sjtkfile	arch/i386/i386/apm.c		apm needs-count
2791.89Sjtkfile	arch/i386/i386/apmcall.s	apm
2801.56Scgd
2811.55Smycroft#
2821.55Smycroft# Compatibility modules
2831.55Smycroft#
2841.61Smycroft
2851.61Smycroft# VM86 mode
2861.61Smycroftfile	arch/i386/i386/vm86.c			vm86
2871.120Smycroft
2881.120Smycroft# Binary compatibility with previous NetBSD releases (COMPAT_XX)
2891.135Smellonfile	arch/i386/i386/compat_13_machdep.c	compat_13 | compat_aout
2901.56Scgd
2911.59Smycroft# SVR4 binary compatibility (COMPAT_SVR4)
2921.98Sthorpejinclude "compat/svr4/files.svr4"
2931.59Smycroftfile	arch/i386/i386/svr4_machdep.c		compat_svr4
2941.56Scgd
2951.59Smycroft# iBCS-2 binary compatibility (COMPAT_IBCS2)
2961.98Sthorpejinclude "compat/ibcs2/files.ibcs2"
2971.88Smycroftfile	arch/i386/i386/ibcs2_machdep.c		compat_ibcs2
2981.56Scgd
2991.59Smycroft# Linux binary compatibility (COMPAT_LINUX)
3001.98Sthorpejinclude "compat/linux/files.linux"
3011.122Sfvdlinclude "compat/linux/arch/i386/files.linux_i386"
3021.58Smycroft
3031.59Smycroft# FreeBSD binary compatibility (COMPAT_FREEBSD)
3041.98Sthorpejinclude "compat/freebsd/files.freebsd"
3051.58Smycroftfile	arch/i386/i386/freebsd_machdep.c	compat_freebsd
3061.131Schristos
3071.131Schristos# a.out binary compatibility (COMPAT_AOUT)
3081.131Schristosinclude "compat/aout/files.aout"
3091.160Smycroft
3101.160Smycroft# Win32 binary compatibility (COMPAT_PECOFF)
3111.160Smycroftinclude "compat/pecoff/files.pecoff"
3121.82Saugustss
3131.82Saugustss# OSS audio driver compatibility
3141.98Sthorpejinclude "compat/ossaudio/files.ossaudio"
3151.91Sbouyer
3161.91Sbouyer# network devices MII bus
3171.98Sthorpejinclude "dev/mii/files.mii"
3181.139Shaya
3191.139Shaya#
3201.139Shaya# CARDBUS
3211.139Shaya#
3221.139Shayainclude "dev/cardbus/files.cardbus"
3231.139Shayafile	arch/i386/i386/rbus_machdep.c	cardbus
3241.90Sthorpej
3251.90Sthorpej# XXXX pcic here because it needs to be late.  The catch: pcic needs
3261.90Sthorpej# to be late, so devices which attach to it are attached late.  But it
3271.90Sthorpej# needs to be before its isa and pci attachments.  This answer is
3281.90Sthorpej# non-optimal, but I don't have a better answer right now.
3291.90Sthorpej
3301.90Sthorpej# PCIC pcmcia contoller
3311.90Sthorpej# XXX this needs to be done very late, so it's done here.  This feels
3321.90Sthorpej# like a kludge, but it might be for the best.
3331.93Sthorpej
3341.93Sthorpejdefopt	PCIC_ISA_ALLOC_IOBASE
3351.93Sthorpejdefopt	PCIC_ISA_ALLOC_IOSIZE
3361.93Sthorpejdefopt	PCIC_ISA_INTR_ALLOC_MASK
3371.93Sthorpej
3381.126Spkdevice	pcic: pcmciabus
3391.92Sthorpejfile	dev/ic/i82365.c			pcic
3401.90Sthorpej
3411.114Ssommerfe# PCIC pcmcia controller on ISA bus.
3421.90Sthorpejattach	pcic at isa with pcic_isa
3431.90Sthorpejfile	dev/isa/i82365_isa.c		pcic_isa
3441.90Sthorpej
3451.114Ssommerfe# PCIC pcmcia controller on PCI bus.
3461.90Sthorpejattach	pcic at pci with pcic_pci
3471.90Sthorpejfile	dev/pci/i82365_pci.c		pcic_pci
3481.90Sthorpej
3491.114Ssommerfe# PCIC pcmcia controller on PnP board
3501.114Ssommerfeattach pcic at isapnp with pcic_isapnp
3511.114Ssommerfefile	dev/isapnp/i82365_isapnp.c	pcic_isapnp
3521.114Ssommerfe
3531.114Ssommerfe# Code common to ISA and ISAPnP attachments
3541.127Snathanwfile	dev/isa/i82365_isasubr.c	pcic_isa | pcic_isapnp | pcic_pci
3551.132Sbad
3561.132Sbad# XXXX tcic here because it needs to be late.  The catch: tcic needs
3571.132Sbad# to be late, so devices which attach to it are attached late.  But it
3581.132Sbad# needs to be before its isa and pci attachments.  This answer is
3591.132Sbad# non-optimal, but I don't have a better answer right now.
3601.132Sbad
3611.132Sbad# TCIC pcmcia contoller
3621.132Sbad# XXX this needs to be done very late, so it's done here.  This feels
3631.132Sbad# like a kludge, but it might be for the best.
3641.132Sbad
3651.132Sbaddefopt	TCIC_ISA_ALLOC_IOBASE
3661.132Sbaddefopt	TCIC_ISA_ALLOC_IOSIZE
3671.132Sbaddefopt	TCIC_ISA_INTR_ALLOC_MASK
3681.132Sbad
3691.132Sbaddevice	tcic: pcmciabus
3701.132Sbadfile	dev/ic/tcic2.c			tcic
3711.132Sbad
3721.132Sbad# TCIC pcmcia contoller
3731.132Sbadattach	tcic at isa with tcic_isa
3741.132Sbadfile	dev/isa/tcic2_isa.c		tcic_isa
3751.90Sthorpej
3761.90Sthorpej# this wants to be probed as late as possible.
3771.90Sthorpej#
3781.90Sthorpej# Machine-independent PCMCIA drivers
3791.90Sthorpej#
3801.90Sthorpejinclude "dev/pcmcia/files.pcmcia"
3811.90Sthorpej
3821.90Sthorpej
3831.116Saugustssinclude "dev/usb/files.usb"
3841.141Sdrochner
3851.141Sdrochnerinclude "arch/i386/pnpbios/files.pnpbios"
386