#
# Mach Operating System
# Copyright (c) 1994-1989 Carnegie Mellon University
# All Rights Reserved.
# 
# Permission to use, copy, modify and distribute this software and its
# documentation is hereby granted, provided that both the copyright
# notice and this permission notice appear in all copies of the
# software, derivative works or modified versions, and any portions
# thereof, and that both notices appear in supporting documentation.
# 
# CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 
# CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
# ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
# 
# Carnegie Mellon requests users of this software to return to
# 
#  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
#  School of Computer Science
#  Carnegie Mellon University
#  Pittsburgh PA 15213-3890
# 
# any improvements or extensions that they make and grant Carnegie Mellon
# the rights to redistribute these changes.
#  
#
# HISTORY
# $Log:	MASTER,v $
# Revision 2.6  94/12/15  15:12:05  dbg
# 	Use standard device configuration lines for i386at
# 	and i386ps2.
# 	[94/03/19            dbg]
# 
# Revision 2.5  93/11/17  16:16:44  dbg
# 	Added 174x driver (dherity@cs.tcd.ie & ralf@chpc.org)
# 	[93/10/06            af]
# 
# Revision 2.4  93/10/20  15:55:06  dbg
# 	Added PS2 ethernet driver, from Zon Williamson.
# 	[93/09/13            dbg]
# 
# 	Added mc and pit clock devices for PS2.
# 	[93/09/08            dbg]
# 
# 	Added mc and pit clock devices for AT386 configurations, for
# 	real-time support.
# 	[93/06/04            dbg]
# 
# Revision 2.3  93/05/20  21:09:27  mrt
# 	Changed all comments to start with "# ". The BNR version
# 	of doconf needs to be able to recognize real comments from
# 	the pseudo ones it generates.
# 	[93/05/19            mrt]
# 
# Revision 2.2  93/02/04  14:46:01  mrt
# 	Flush blit and par; add dlink ethernet de device.
# 	lineno is now defined in MI MASTER
# 	Integrate PS2 code from IBM. - by prithvi, rvb
# 	[93/01/21            danner]
# 
# Revision 2.25  93/01/14  17:22:52  danner
# 	Added ipc_compat to all configs.
# 	[92/12/10            af]
# 
# Revision 2.24  92/02/19  16:29:12  elf
# 	Add lpr and par devices.  (taken from 2.5)
# 	[92/02/13            rvb]
# 
# Revision 2.23  92/02/19  15:06:20  elf
# 	Simplified, condensed history.
# 	[92/02/13            rpd]
# 
#
# Condensed history:
#	Sequent support (dbg).
#	iPSC support (jsb).
#	Created (af).

#  Master I386 configuration file (see the master machine independent
#  configuration file for a description of the file format).
#
#	
#	#####################################################################
#	
#	  I386 (PSEUDO-)DEVICES (select any combination)
#	
#	fpe	floating-point emulation support
#
#	  CPU TYPE (select exactly one)
#
#	AT	ISA/EISA bus
#       PS2     PS/2 w/ MCA bus
#	MBII	multibus II bus
#	iPSC	Intel Hypercube
#	SQT	Sequent Symmetry
#	
#	#####################################################################
#
#	I386 Devices
#
#	for an ISA bus:
#
#		hd		Hard Disk
#		fd		Floppy Disk
#		blit		Blit Screen
#		pc586		PC 586 Ethernet card
#		3c		3Com Ethernet card
#		com		Serial Lines 0 and 1 (DOS 1 and 2)
#		wt		Streamer Tape	<<< not supported >>>
# 		scsi		Adaptec and/or SCSI boards
#		de		Dlink pocket ethernet adapter
#		mc		MCxxx watch chip as real-time clock
#
#	for a PS/2 w/ MCA bus:
#
#		hd		Hard Disk
#		fd		Floppy Disk
#		kd		console
#		tr		Token Ring
#		en		Ethernet
#		mc		MCxxx watch chip as real-time clock
#
#	for an Intel Hypercube:
#
#		sd		Disk
#		usm
#		dcm
#		cnp
#
#	for a Sequent Symmetry:
#
#		mbad		Multibus devices:
#		    xy		Xylogics disk
#		    zt		Xylogics tape
#		    st		Systech terminal board
#		    sl		Systech line printer board
#
#		sec		SCSI/Ethernet devices:
#		    se		Ethernet
#		    sc		SCSI disk
#		    ts		SCSI streamer tape
#		    sm		SCSI shared memory (not needed on Symmetry)
#
#		zd		ZDC disk
#
#	#####################################################################
#	
#	  Standard Mach Research Configurations:
#	  -------- ---- -------- ---------------
#
#	  WS	   = [ ipc_compat 3c at com de fd fpe hd lpr pc586 scsi wd mc ]
#
#	  PS2      = [ ipc_compat ps2 ps2hd ps2fd ps2tr en abios mouse fpe ps2mc ]
#
#	  iPSC     = [ ipc_compat ipsc sd usm dcm cnp md ]
#
#	  SQT	   = [ ipc_compat sqt sec sc se zd timing multi32 host ]
#
#	#####################################################################
#

conftype	"i386"		# <at,ipsc,ps2>
conftype	"sqt"		# <sqt>

platform        "PS2"           # <ps2>
platform	"AT386"		# <at>
platform	"iPSC386"	# <ipsc>
platform	SYMMETRY	# <sqt>

config		mach_kernel

options		MACH_MACHINE_ROUTINES

options		"iPSC386"	# <ipsc>

options		FPE		# <fpe>

makevariables	TEXTORG="c0100000"				# <!sqt>
makevariables	TEXTORG="c0000000"				# <sqt>

#
#  Devices for PS/2 w/ MCA bus
#
controller	mca0	at nexus ?				# <ps2>

device		mc0	at mca0 csr 0x70			# <ps2mc>
			vector mc_intr 8 priority 7		# <ps2mc>

device		kd0	at mca0 csr 0x60			# <ps2>
			vector kdintr 1 priority 6		# <ps2>

controller	hdc0	at mca0 csr 0xffffffff			# <ps2hd>
			vector hdintr 14 priority 5		# <ps2hd>
disk            hd0     at hdc0 drive 0				# <ps2hd>
disk            hd1     at hdc0 drive 1				# <ps2hd>

controller	fdc0	at mca0 csr 0xffffffff			# <ps2fd>
			vector fdintr 6 priority 6		# <ps2fd>
device		fd0	at fdc0 drive 0				# <ps2fd>
device		fd1	at fdc0 drive 1				# <ps2fd>

device		un0	at mca0 csr 0x00001550			# <ps2un>
			vector unintr 3 priority 5		# <ps2un>

device		tr0	at mca0 csr 0x00000a20			# <ps2tr>
			vector trintr 9				# <ps2tr>
device		tr1	at mca0 csr 0x00000a24			# <ps2tr>
			vector trintr 10			# <ps2tr>

device		en0	at mca0 csr 0x000C0000			# <en>
			vector enintr 12			# <en>

pseudo-device	mouse		# <mouse>
options		IBM_CONSOLE	# <cons>
pseudo-device	cons		# <cons>
device		mouse0		# <cons>
device		xga0		# <cons>
device		vga0		# <cons>
device		ibmeff0		# <cons>
options		XEMUL		# <cons>

#
#  Devices for ISA bus
#
controller	isa0	at nexus ?				# <at>

controller	hdc0	at isa0	csr 0x1f0			# <hd>
			vector hdintr 14 priority 5		# <hd>
disk		hd0	at hdc0 drive 0	memory 0x104		# <hd>
disk		hd1	at hdc0 drive 1	memory 0x118		# <hd>

controller	hdc1	at isa0 csr 0x170			# <hd>
			vector hdintr 15 priority 5		# <hd>
disk		hd2	at hdc1 drive 0	memory 0x104		# <hd>
disk		hd3	at hdc1 drive 1	memory 0x118		# <hd>

controller	fdc0	at isa0 csr 0x3f2			# <fd>
			vector fdintr 6 priority 5		# <fd>
disk		fd0	at fdc0 drive 0				# <fd>
disk		fd1	at fdc0 drive 1				# <fd>

controller	fdc1	at isa0 csr 0x372			# <fd>
			vector fdintr 10 priority 5		# <fd>
disk		fd2	at fdc1 drive 0				# <fd>
disk		fd3	at fdc1 drive 1				# <fd>

device		mc0	at isa0 csr 0x70			# <mc>
			vector mc_intr 8 priority 7		# <mc>

device		clockpit0   at isa0 csr 0x40			# <pit>
			vector clockpitintr 0 priority 7	# <pit>

device		clockstat0  at isa0 csr 0x250			# <stat>
			vector clockstatintr 5 priority 7	# <stat>
device		clockstat1  at isa0 csr 0x254			# <stat2>
			vector clockstatintr 3 priority  7	# <stat2>

device		kd0	at isa0 csr 0x60			# <at>
			vector kdintr 1 priority 6		# <at>

device		"pc586" 0   at isa0 csr 0xd0000			# <pc586>
			    vector "pc586intr" 9 priority 5	# <pc586>
device		"pc586" 0   at isa0 csr 0xc0000			# <pc586>
			    vector "pc586intr" 5 priority 5	# <pc586>
device		"pc586" 0   at isa0 csr 0xf00000		# <pc586>
			    vector "pc586intr" 12 priority 5	# <pc586>

device		"at3c501" 0 at isa0 csr 0x300			# <3c,eli>
			    vector "at3c501intr" 9 priority 6	# <3c,eli>

device		"ns8390" 0  at isa0 csr 0x280 memory 0xd0000	# <wd,elii>
			    vector "ns8390intr" 9 priority 6	# <wd,elii>
device		"ns8390" 0  at isa0 csr 0x2a0 memory 0xd0000	# <wd,elii>
			    vector "ns8390intr" 9 priority 6	# <wd,elii>
device		"ns8390" 0  at isa0 csr 0x2e0 memory 0xd0000	# <wd,elii>
			    vector "ns8390intr" 5 priority 6	# <wd,elii>
device		"ns8390" 0  at isa0 csr 0x300 memory 0xd0000	# <wd,elii>
			    vector "ns8390intr" 5 priority 6	# <wd,elii>
device		"ns8390" 0  at isa0 csr 0x250 memory 0xd0000	# <wd,elii>
			    vector "ns8390intr" 5 priority 6	# <wd,elii>
device		"ns8390" 0  at isa0 csr 0x350 memory 0xd0000	# <wd,elii>
			    vector "ns8390intr" 5 priority 6	# <wd,elii>
device		"ns8390" 0  at isa0 csr 0x240 memory 0xd0000	# <wd,elii>
			    vector "ns8390intr" 11 priority 6	# <wd,elii>
device		"ns8390" 0  at isa0 csr 0x340 memory 0xd0000	# <wd,elii>
			    vector "ns8390intr" 15 priority 6	# <wd,elii>

device		com0	at isa0 csr 0x3f8			# <com>
			vector comintr 4 priority 5		# <com>
device		com1	at isa0 csr 0x2f8			# <com>
			vector comintr 3 priority 5		# <com>
device		com2	at isa0 csr 0x3e8			# <com>
			vector comintr 5 priority 5		# <com>

device		lpr0	at isa0 csr 0x378			# <lpr>
			vector lprintr 7 priority 5		# <lpr>
device		lpr0	at isa0 csr 0x278			# <lpr>
			vector lprintr 7 priority 5		# <lpr>
device		lpr0	at isa0 csr 0x3bc			# <lpr>
			vector lprintr 7 priority 5		# <lpr>

# SCSI driver: total HBAs
pseudo-device	scsi	2	# <scsi>

# Adaptec
controller	aha0	at isa0 csr 0x330			# <scsi>
			vector aha_intr 11 priority 5		# <scsi>
controller	aha1	at isa0 csr 0x234			# <scsi>
			vector aha_intr 12 priority 5		# <scsi>

controller	eaha0	at isa0 csr 0x1000			# <scsi>
			vector eaha_intr 12 priority 5		# <scsi>

disk		rz0	at aha0 drive 0				# <scsi>
disk		rz1	at aha0 drive 1				# <scsi>
disk		rz2	at aha0 drive 2				# <scsi>
disk		rz3	at aha0 drive 3				# <scsi>
disk		rz4	at aha0 drive 4				# <scsi>
disk		rz5	at aha0 drive 5				# <scsi>
disk		rz6	at aha0 drive 6				# <scsi>
disk		rz7	at aha0 drive 7				# <scsi>
disk		rz8	at aha1 drive 0				# <scsi>
disk		rz9	at aha1 drive 1				# <scsi>
disk		rz10	at aha1 drive 2				# <scsi>
disk		rz11	at aha1 drive 3				# <scsi>
disk		rz12	at aha1 drive 4				# <scsi>
disk		rz13	at aha1 drive 5				# <scsi>
disk		rz14	at aha1 drive 6				# <scsi>
disk		rz15	at aha1 drive 7				# <scsi>

device		tz0	at aha0 drive 0				# <scsi>
device		tz1	at aha0 drive 1				# <scsi>
device		tz2	at aha0 drive 2				# <scsi>
device		tz3	at aha0 drive 3				# <scsi>
device		tz4	at aha0 drive 4				# <scsi>
device		tz5	at aha0 drive 5				# <scsi>
device		tz6	at aha0 drive 6				# <scsi>
device		tz7	at aha0 drive 7				# <scsi>
device		tz8	at aha1 drive 0				# <scsi>
device		tz9	at aha1 drive 1				# <scsi>
device		tz10	at aha1 drive 2				# <scsi>
device		tz11	at aha1 drive 3				# <scsi>
device		tz12	at aha1 drive 4				# <scsi>
device		tz13	at aha1 drive 5				# <scsi>
device		tz14	at aha1 drive 6				# <scsi>
device		tz15	at aha1 drive 7				# <scsi>

disk		rz0	at eaha0 drive 0			# <scsi>
disk		rz1	at eaha0 drive 1			# <scsi>
disk		rz2	at eaha0 drive 2			# <scsi>
disk		rz3	at eaha0 drive 3			# <scsi>
disk		rz4	at eaha0 drive 4			# <scsi>
disk		rz5	at eaha0 drive 5			# <scsi>
disk		rz6	at eaha0 drive 6			# <scsi>
disk		rz7	at eaha0 drive 7			# <scsi>
device		tz0	at eaha0 drive 0			# <scsi>
device		tz1	at eaha0 drive 1			# <scsi>
device		tz2	at eaha0 drive 2			# <scsi>
device		tz3	at eaha0 drive 3			# <scsi>
device		tz4	at eaha0 drive 4			# <scsi>
device		tz5	at eaha0 drive 5			# <scsi>
device		tz6	at eaha0 drive 6			# <scsi>
device		tz7	at eaha0 drive 7			# <scsi>

# scsi-special
pseudo-device	cendata 0	# <scsi>

pseudo-device	fp		# <fp>
pseudo-device	"de6c"		# <de>
pseudo-device	par		# <par>

pseudo-device	blit		# <blit>


#
#	Devices for iPSC
#
device		sd0		# <sd>
device		usm0		# <usm>
device		dcm0		# <dcm>
device		cnp0		# <cnp>
device		md0		# <md>

#
#	Devices for Sequent Symmetry
#

#
# Multibus Adapters
#
controller	mbad0	at slot ?		# <mbad>
# controller	mbad1	at slot ?		# <mbad>
#
# SCSI/Ether Controllers
#
controller	sec0	at slot ?		# <sec>
controller	sec1	at slot ?		# <sec>
#
# ZDC Controllers
#
controller	zdc0	at slot ?		# <zd>
# controller	zdc1	at slot ?		# <zd>
#
# Multibus Xylogics 450 Disk Controllers
#
# device	xy0	at mbad? csr 0x100 maps 34 bin 5 intr 0	    # <xy>
# device	xy1	at mbad? csr 0x110 maps 34 bin 5 intr 1     # <xy>
# device	xy2	at mbad? csr 0x120 maps 34 bin 5 intr 2	    # <xy>
#
# Systech multibus terminal boards
#
device		st0	at mbad? csr 0x200 maps  0 bin 4 intr 3	    # <st>
device		st1	at mbad? csr 0x210 maps  0 bin 4 intr 4	    # <st>
# device	st2	at mbad? csr 0x220 maps  0 bin 4 intr 5	    # <st>
# device	st3	at mbad? csr 0x230 maps  0 bin 4 intr 3	    # <st>
# device	st4	at mbad? csr 0x240 maps  0 bin 4 intr 4	    # <st>
# device	st5	at mbad? csr 0x250 maps  0 bin 4 intr 5	    # <st>
#
# Multibus Xylogics 472 Tape Controllers
#
# device	zt0	at mbad? csr 0x300 maps 34 bin 5 intr 7	    # <zt>
#
# Systech multibus line printer boards
#
# device	sl0	at mbad? csr 0x400 maps  8 bin 5 intr 6	    # <sl>
#
# Console devices on SEC
#
device		co0	at sec0 req 4 doneq 4 bin 4 unit 0	    # <sec>
device		co0	at sec0 req 4 doneq 4 bin 4 unit 1	    # <sec>
device		co1	at sec0 req 4 doneq 4 bin 4 unit 2	    # <sec>
device		co1	at sec0 req 4 doneq 4 bin 4 unit 3	    # <sec>
# device	co2	at sec1 req 4 doneq 4 bin 4 unit 0	    # <sec>
# device	co2	at sec1 req 4 doneq 4 bin 4 unit 1	    # <sec>
# device	co3	at sec1 req 4 doneq 4 bin 4 unit 2	    # <sec>
# device	co3	at sec1 req 4 doneq 4 bin 4 unit 3	    # <sec>
#
# Ether devices on SEC
#
# device	se0	at sec0 req 200 doneq 200 bin 6 unit 0	    # <se>
device		se0	at sec0 req  20 doneq  20 bin 6 unit 0	    # <se>
device		se0	at sec0 req  10 doneq  10 bin 6 unit 1	    # <se>
# device	se1	at sec1 req 200 doneq 200 bin 6 unit 0	    # <se>
# device	se1	at sec1 req  10 doneq  10 bin 6 unit 1	    # <se>
#
# SCSI disk on SEC
#
device		sd0	at sec? req 4 doneq 4 bin 5 unit ? targsec ? # <sc>
device		sd1	at sec? req 4 doneq 4 bin 5 unit ? targsec ? # <sc>
#
# SCSI streamer tape on SEC
#
device		ts0	at sec? req 4 doneq 4 bin 5 unit ? targsec 4 # <ts>
#
# SCSI memory driver on SEC
#
device		sm0	at sec0 req 3 doneq 3 bin 4 unit 0	    # <sm>
# device	sm1	at sec1 req 3 doneq 3 bin 4 unit 0	    # <sm>
#
# ZDC Drives
#
device		zd0	at zdc? drive ? drive_type ?		# <zd>
device		zd1	at zdc? drive ? drive_type ?		# <zd>
device		zd2	at zdc? drive ? drive_type ?		# <zd>
device		zd3	at zdc? drive ? drive_type ?		# <zd>
# device	zd4	at zdc? drive ? drive_type ?		# <zd>
# device	zd5	at zdc? drive ? drive_type ?		# <zd>
# device	zd6	at zdc? drive ? drive_type ?		# <zd>
# device	zd7	at zdc? drive ? drive_type ?		# <zd>
