files.i386 revision 1.120
11.120Smycroft#	$NetBSD: files.i386,v 1.120 1998/09/12 10:48:27 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.100Sthorpej
111.100Sthorpej# Processor type options.
121.100Sthorpejdefopt	opt_cputype.h I386_CPU I486_CPU I586_CPU I686_CPU
131.101Sthorpej
141.101Sthorpej# VM86 emulation
151.101Sthorpejdefopt	VM86
161.102Sthorpej
171.102Sthorpej# Floating point emulation
181.102Sthorpejdefopt	MATH_EMULATE
191.103Sthorpej
201.103Sthorpej# User-settable LDT (used by WINE)
211.103Sthorpejdefopt	USER_LDT
221.104Sthorpej
231.104Sthorpej# Speed hack; make NOPs dummies (might break on some machines)
241.104Sthorpejdefopt	DUMMY_NOPS
251.105Sthorpej
261.105Sthorpej# X server support in console drivers
271.118Srvbdefopt	opt_xserver.h XSERVER XSERVER_DDB
281.98Sthorpej
291.56Scgdfile	arch/i386/i386/autoconf.c
301.56Scgdfile	arch/i386/i386/conf.c
311.119Srvbfile	arch/i386/i386/db_dbgreg.s	ddb
321.56Scgdfile	arch/i386/i386/db_disasm.c	ddb
331.56Scgdfile	arch/i386/i386/db_interface.c	ddb
341.85Sthorpejfile	arch/i386/i386/db_memrw.c	ddb | kgdb
351.56Scgdfile	arch/i386/i386/db_trace.c	ddb
361.56Scgdfile	arch/i386/i386/disksubr.c	disk
371.60Smycroftfile	arch/i386/i386/gdt.c
381.74Smycroftfile	arch/i386/i386/in_cksum.s	inet
391.85Sthorpejfile	arch/i386/i386/kgdb_machdep.c	kgdb
401.56Scgdfile	arch/i386/i386/machdep.c
411.56Scgdfile	arch/i386/i386/math_emulate.c	math_emulate
421.56Scgdfile	arch/i386/i386/mem.c
431.56Scgdfile	arch/i386/i386/microtime.s
441.56Scgdfile	arch/i386/i386/ns_cksum.c	ns
451.106Smrgfile	arch/i386/i386/pmap.c		!pmap_new
461.106Smrgfile	arch/i386/i386/pmap.new.c	pmap_new
471.56Scgdfile	arch/i386/i386/process_machdep.c
481.56Scgdfile	arch/i386/i386/sys_machdep.c
491.56Scgdfile	arch/i386/i386/trap.c
501.56Scgdfile	arch/i386/i386/vm_machdep.c
511.56Scgdfile	dev/cons.c
521.56Scgdmajor	{vnd = 14}
531.56Scgd
541.56Scgd#
551.56Scgd# Machine-independent SCSI drivers
561.56Scgd#
571.56Scgd
581.98Sthorpejinclude "dev/scsipi/files.scsipi"
591.56Scgdmajor	{sd = 4}
601.56Scgdmajor	{st = 5}
611.56Scgdmajor	{cd = 6}
621.69Sperry
631.97Scgd#
641.97Scgd# Machine-independent ATA drivers
651.97Scgd#
661.97Scgd
671.98Sthorpejinclude "dev/ata/files.ata"
681.97Scgdmajor	{wd = 0}
691.97Scgd
701.79Spk# Memory Disk for install floppy
711.79Spkfile arch/i386/i386/md_root.c	memory_disk_hooks
721.79Spkmajor	{md = 17}
731.56Scgd
741.56Scgd#
751.56Scgd# System bus types
761.56Scgd#
771.65Scgd
781.77Sjtkdefine mainbus { }
791.108Sthorpejdevice	mainbus: isabus, eisabus, pcibus, mainbus
801.67Sthorpejattach	mainbus at root
811.65Scgdfile	arch/i386/i386/mainbus.c	mainbus
821.56Scgd
831.89Sjtk# attribute used to bring in BIOS trampoline code for real-mode probing
841.89Sjtk# of certain devices/BIOS features
851.89Sjtkdefine bioscall
861.89Sjtkfile	arch/i386/i386/bioscall.s	bioscall needs-flag
871.89Sjtk
881.56Scgd#device	mca at root {...}
891.56Scgd
901.55Smycroft#
911.64Scgd# PCI-only drivers
921.64Scgd# XXX MUST BE INCLUDED BEFORE files.isa, as long as files.isa attaches
931.64Scgd# XXX devices to 'pci'.
941.64Scgd#
951.64Scgd
961.98Sthorpejinclude "dev/pci/files.pci"
971.64Scgdfile	arch/i386/pci/pci_machdep.c	pci
981.110Scgdfile	arch/i386/pci/pciide_machdep.c	pciide
991.78Sthorpej
1001.78Sthorpej# PCI-Host bridge chipsets
1011.108Sthorpejdevice	pchb: pcibus
1021.78Sthorpejattach	pchb at pci
1031.78Sthorpejfile	arch/i386/pci/pchb.c		pchb
1041.107Sthorpej
1051.107Sthorpej# PCI-EISA bridges
1061.108Sthorpejdevice	pceb: eisabus, isabus
1071.107Sthorpejattach	pceb at pci
1081.107Sthorpejfile	arch/i386/pci/pceb.c		pceb
1091.78Sthorpej
1101.78Sthorpej# PCI-ISA bridges
1111.108Sthorpejdevice	pcib: isabus
1121.78Sthorpejattach	pcib at pci
1131.78Sthorpejfile	arch/i386/pci/pcib.c		pcib
1141.64Scgd
1151.64Scgd#
1161.55Smycroft# ISA and mixed ISA+EISA or ISA+PCI drivers
1171.55Smycroft#
1181.56Scgd
1191.98Sthorpejinclude "dev/isa/files.isa"
1201.56Scgdmajor	{mcd = 7}
1211.56Scgd#major	{scd = 15}
1221.56Scgdmajor	{wt = 3}
1231.115Scgd
1241.115Scgd# XXX THE FOLLOWING BLOCK SHOULD GO INTO dev/pci/files.pci, BUT CANNOT
1251.115Scgd# XXX BECAUSE NOT 'lpt' IS DEFINED IN files.isa, RATHER THAN files.
1261.115Scgd# XXX (when the conf/files and files.isa bogons are fixed, this can
1271.115Scgd# XXX be fixed as well.)
1281.115Scgd
1291.115Scgdattach	lpt at puc with lpt_puc
1301.115Scgdfile	dev/pci/lpt_puc.c	lpt_puc
1311.110Scgd
1321.110Scgd# XXX THE FOLLOWING BLOCK SHOULD GO INTO dev/pci/files.pci, BUT CANNOT
1331.110Scgd# XXX BECAUSE NOT ALL PORTS USE THE MI DRIVER YET.  (when the conf/files
1341.110Scgd# XXX and files.isa bogons are fixed, this can be fixed as well.)
1351.110Scgd
1361.110Scgd# PCI IDE controllers
1371.110Scgddevice	pciide {[channel = -1]}
1381.110Scgdattach	pciide at pci
1391.110Scgdfile	dev/pci/pciide.c		pciide
1401.110Scgdattach	wdc at pciide with wdc_pciide
1411.110Scgdfile	dev/pci/wdc_pciide.c		wdc_pciide
1421.56Scgd
1431.56Scgdfile	arch/i386/isa/isa_machdep.c	isa
1441.56Scgd
1451.56Scgd# PC clock
1461.56Scgdfile	arch/i386/isa/clock.c		isa
1471.56Scgd
1481.56Scgd# Numeric Processing Extension; Math Co-processor
1491.108Sthorpejdevice	npx
1501.67Sthorpejattach	npx at isa
1511.56Scgdfile	arch/i386/isa/npx.c		npx needs-flag
1521.56Scgd
1531.66Sthorpej# attribute used to represent the "keyboard controller"
1541.66Sthorpej# XXX should be a real device
1551.111Sdrochnerdefine pckbcport { [irq = -1], [port = -1] }
1561.66Sthorpej
1571.56Scgd# PC console support a la "pccons"
1581.111Sdrochnerdevice	pc: tty, pckbcport
1591.67Sthorpejattach	pc at isa
1601.111Sdrochnerdevice	pcconskbd
1611.111Sdrochnerattach	pcconskbd at pckbc
1621.111Sdrochnerfile	arch/i386/isa/pccons.c		pc | pcconskbd needs-flag
1631.56Scgd
1641.56Scgd# PC console support a la "pcvt"
1651.111Sdrochnerdevice	vt: tty, pckbcport
1661.67Sthorpejattach	vt at isa
1671.56Scgdfile	arch/i386/isa/pcvt/pcvt_drv.c	vt needs-flag
1681.56Scgdfile	arch/i386/isa/pcvt/pcvt_ext.c	vt needs-flag
1691.56Scgdfile	arch/i386/isa/pcvt/pcvt_kbd.c	vt needs-flag
1701.56Scgdfile	arch/i386/isa/pcvt/pcvt_out.c	vt needs-flag
1711.56Scgdfile	arch/i386/isa/pcvt/pcvt_sup.c	vt needs-flag
1721.56Scgdfile	arch/i386/isa/pcvt/pcvt_vtf.c	vt needs-flag
1731.56Scgd
1741.56Scgd# PC Mice; Logitech-style, Microsoft-style, and PS/2-style
1751.108Sthorpejdevice	lms
1761.67Sthorpejattach	lms at isa
1771.56Scgdfile	arch/i386/isa/lms.c		lms needs-flag
1781.108Sthorpejdevice	mms
1791.67Sthorpejattach	mms at isa
1801.56Scgdfile	arch/i386/isa/mms.c		mms needs-flag
1811.108Sthorpejdevice	pms
1821.111Sdrochnerattach	pms at pckbcport with pms_hack
1831.111Sdrochnerattach	pms at pckbc with pms_pckbc
1841.111Sdrochnerfile	arch/i386/isa/pms.c		pms | pms_hack | pms_pckbc needs-flag
1851.111Sdrochner
1861.111Sdrochnerinclude "dev/wscons/files.wscons"
1871.111Sdrochner
1881.111Sdrochnerinclude "dev/pckbc/files.pckbc"
1891.113Sdrochner
1901.113Sdrochnerdevice sysbeep
1911.113Sdrochnerattach sysbeep at pcppi
1921.111Sdrochner
1931.56Scgd# Floppy disk controller
1941.108Sthorpejdevice	fdc {drive = -1}
1951.67Sthorpejattach	fdc at isa
1961.108Sthorpejdevice	fd: disk, isadma
1971.67Sthorpejattach	fd at fdc
1981.56Scgdfile	arch/i386/isa/fd.c		fdc needs-flag
1991.56Scgdmajor	{fd = 2}
2001.71Sperry
2011.71Sperry# Game adapter (joystick)
2021.108Sthorpejdevice	joy
2031.71Sperryfile	arch/i386/isa/joy.c		joy needs-flag
2041.76Ssoda
2051.80Schristosattach	joy at isa with joy_isa
2061.80Schristosfile	arch/i386/isa/joy_isa.c		joy_isa
2071.80Schristos
2081.76Ssoda# Adaptec AHA-284x VL SCSI controllers
2091.76Ssoda# device declaration in sys/conf/files
2101.76Ssodaattach	ahc at isa with ahc_isa
2111.76Ssodafile	arch/i386/isa/ahc_isa.c		ahc_isa
2121.56Scgd
2131.55Smycroft#
2141.55Smycroft# EISA-only drivers
2151.55Smycroft#
2161.56Scgd
2171.98Sthorpejinclude "dev/eisa/files.eisa"
2181.72Scgdfile	arch/i386/eisa/eisa_machdep.c	eisa
2191.77Sjtk
2201.80Schristos# ISA Plug 'n Play devices
2211.80Schristosfile	arch/i386/isa/isapnp_machdep.c	isapnp
2221.80Schristos
2231.80Schristosattach	joy at isapnp with joy_isapnp
2241.80Schristosfile	arch/i386/isa/joy_isapnp.c	joy_isapnp
2251.77Sjtk
2261.77Sjtk#
2271.77Sjtk# Other mainbus-attached devices
2281.77Sjtk#
2291.77Sjtk
2301.77Sjtk# Advanced Power Management support (APM)
2311.108Sthorpejdevice apm: bioscall
2321.77Sjtkattach apm at mainbus
2331.77Sjtkfile	arch/i386/i386/apm.c		apm needs-count
2341.89Sjtkfile	arch/i386/i386/apmcall.s	apm
2351.56Scgd
2361.55Smycroft#
2371.55Smycroft# Compatibility modules
2381.55Smycroft#
2391.61Smycroft
2401.61Smycroft# VM86 mode
2411.61Smycroftfile	arch/i386/i386/vm86.c			vm86
2421.120Smycroft
2431.120Smycroft# Binary compatibility with previous NetBSD releases (COMPAT_XX)
2441.120Smycroftfile	arch/i386/i386/compat_13_machdep.c	compat_13
2451.56Scgd
2461.59Smycroft# SVR4 binary compatibility (COMPAT_SVR4)
2471.98Sthorpejinclude "compat/svr4/files.svr4"
2481.59Smycroftfile	arch/i386/i386/svr4_machdep.c		compat_svr4
2491.56Scgd
2501.59Smycroft# iBCS-2 binary compatibility (COMPAT_IBCS2)
2511.98Sthorpejinclude "compat/ibcs2/files.ibcs2"
2521.88Smycroftfile	arch/i386/i386/ibcs2_machdep.c		compat_ibcs2
2531.56Scgd
2541.59Smycroft# Linux binary compatibility (COMPAT_LINUX)
2551.98Sthorpejinclude "compat/linux/files.linux"
2561.59Smycroftfile	arch/i386/i386/linux_machdep.c		compat_linux
2571.58Smycroft
2581.59Smycroft# FreeBSD binary compatibility (COMPAT_FREEBSD)
2591.98Sthorpejinclude "compat/freebsd/files.freebsd"
2601.58Smycroftfile	arch/i386/i386/freebsd_machdep.c	compat_freebsd
2611.82Saugustss
2621.82Saugustss# OSS audio driver compatibility
2631.98Sthorpejinclude "compat/ossaudio/files.ossaudio"
2641.91Sbouyer
2651.91Sbouyer# network devices MII bus
2661.98Sthorpejinclude "dev/mii/files.mii"
2671.90Sthorpej
2681.90Sthorpej# XXXX pcic here because it needs to be late.  The catch: pcic needs
2691.90Sthorpej# to be late, so devices which attach to it are attached late.  But it
2701.90Sthorpej# needs to be before its isa and pci attachments.  This answer is
2711.90Sthorpej# non-optimal, but I don't have a better answer right now.
2721.90Sthorpej
2731.90Sthorpej# PCIC pcmcia contoller
2741.90Sthorpej# XXX this needs to be done very late, so it's done here.  This feels
2751.90Sthorpej# like a kludge, but it might be for the best.
2761.93Sthorpej
2771.93Sthorpejdefopt	PCIC_ISA_ALLOC_IOBASE
2781.93Sthorpejdefopt	PCIC_ISA_ALLOC_IOSIZE
2791.93Sthorpejdefopt	PCIC_ISA_INTR_ALLOC_MASK
2801.93Sthorpej
2811.108Sthorpejdevice	pcic {[controller = -1], [socket = -1]}
2821.92Sthorpejfile	dev/ic/i82365.c			pcic
2831.90Sthorpej
2841.114Ssommerfe# PCIC pcmcia controller on ISA bus.
2851.90Sthorpejattach	pcic at isa with pcic_isa
2861.90Sthorpejfile	dev/isa/i82365_isa.c		pcic_isa
2871.90Sthorpej
2881.114Ssommerfe# PCIC pcmcia controller on PCI bus.
2891.90Sthorpejattach	pcic at pci with pcic_pci
2901.90Sthorpejfile	dev/pci/i82365_pci.c		pcic_pci
2911.90Sthorpej
2921.114Ssommerfe# PCIC pcmcia controller on PnP board
2931.114Ssommerfeattach pcic at isapnp with pcic_isapnp
2941.114Ssommerfefile	dev/isapnp/i82365_isapnp.c	pcic_isapnp
2951.114Ssommerfe
2961.114Ssommerfe# Code common to ISA and ISAPnP attachments
2971.114Ssommerfefile	dev/isa/i82365_isasubr.c	pcic_isa | pcic_isapnp
2981.90Sthorpej
2991.90Sthorpej# this wants to be probed as late as possible.
3001.90Sthorpej#
3011.90Sthorpej# Machine-independent PCMCIA drivers
3021.90Sthorpej#
3031.90Sthorpejinclude "dev/pcmcia/files.pcmcia"
3041.90Sthorpej
3051.90Sthorpej
3061.116Saugustssinclude "dev/usb/files.usb"
307