Ultrix-3.1/src/cmd/mkconf/mkc_table.c


/**********************************************************************
 *   Copyright (c) Digital Equipment Corporation 1984, 1985, 1986.    *
 *   All Rights Reserved. 					      *
 *   Reference "/usr/src/COPYRIGHT" for applicable restrictions.      *
 **********************************************************************/

static char Sccsid[] = "@(#)mkc_table.c	3.0	4/21/86";
#include "mkconf.h"

/*
 * MSCP disk controller information table,
 * used to create the dds.h header file for dds.c.
 */
struct	mscptab	mstab[] =
{
	"ra",	-1,	8,	0172150,	0154,
	"rc",	-1,	8,	0172150,	0154,
	"rq",	-1,	8,	0172150,	0154,
	"ru",	-1,	8,	0172150,	0154,
	0
};

/*
 * borrow from MSCP for ts
 */
struct	mscptab	tstab[] =
{
	"ts",	-1,	1,	0172520,	0224,
	"ts",	-1,	1,	0172520,	0224,
	"ts",	-1,	1,	0172520,	0224,
	"ts",	-1,	1,	0172520,	0224,
	0
};

/*
 * borrow from MSCP for tmscp
 */
struct	mscptab	tktab[] =
{
	"tk",	-1,	1,	0174500,	0260,
	"tk",	-1,	1,	0174500,	0260,
	"tk",	-1,	1,	0174500,	0260,
	"tk",	-1,	1,	0174500,	0260,
	0
};

struct	tab table[] =
{
	"console",
	-1, 0177560, 060, CHAR+INTR+KL+DLV,
	"	klin; br4\n	klou; br4\n",
	".globl	_klrint\nklin:	jsr	r0,call; jmp _klrint\n",
	".globl	_klxint\nklou:	jsr	r0,call; jmp _klxint\n",
	"",
	"	klopen,   klclose,  klread,   klwrite,\n\tklioctl,  nulldev,  kl11,     ttselect,",
	0,
	"int	klopen(), klclose(), klread(), klwrite(), klioctl();",

	"mem",
	-1, 0, 0, CHAR,
	0,
	0,
	0,
	0,
	"	nulldev,  nulldev,  mmread,   mmwrite,\n\tnodev,    nulldev,  0,        seltrue,",
	0,
	"int	mmread(), mmwrite();",

	"clock",
	-2, 0, 0100, INTR,
	"	kwlp; br6\n",
	".globl	_trap\n\
.globl	_inEMT\n\
ovint:	jsr	r0,call; inc *_inEMT; jmp _trap\n\n\
.globl	_clock\n",	/*@*/
	"kwlp:	jsr	r0,call; jmp _clock\n",
	0,
	0,
	0,
	0,

	"parity",
	-1, 0, 0114, INTR,
	"	trap; br7+10.		/ 11/70 parity\n",
	"",
	"",
	0,
	0,
	0,
	0,

/*
 * 110 unused
 * 114 memory parity
 */
/*
 * 120 was the XY plotter, is now the first DEUNA
 */
	"if_de",
	0, 0174510, 0120, INTR,
	"", /* "	dein; br5+%d.\n", */
	".globl	_deint\ndein:	jsr	r0,call; jmp _deint\n",
	"",
	0,
	0,
	0,
	0,
/*
 * 124 DR11-B
 * 130 AD01
 * 134 AFC11
 * 140 AA11
 * 144 AA11
 */

	"hm",
	0, 0176300, 0150, BLOCK+CHAR+INTR+NUNIT,
	"	hpio; br5+1.\n",
	"",
	"",
	"	hpopen, hpclose, hpstrategy, &hptab[1],",
	"	hpopen,   nulldev,  hpread,   hpwrite,\n\tnodev,    nulldev,  0,        seltrue,",
	"",
	"",

/*
 * CSR and VECTOR = 0, to indicate that we 
 * must search the mstab[] to find them.
 * Special case for multiple MSCP cntlr support.
 */
	"ra",
	0, MSCPDEV, 0, BLOCK+CHAR+INTR+NUNIT+IOS+UTAB,
	"	raio; br5+%d.\n",
	".globl	_raintr\n",
	"raio:	jsr	r0,call; jmp _raintr\n",
	0,
	0,
	0,
	0,

	"rl",
	0, 0174400, 0160, BLOCK+CHAR+INTR+NUNIT+IOS+UTAB,
	"	rlio; br5\n",
	".globl	_rlintr\n",
	"rlio:	jsr	r0,call; jmp _rlintr\n",
	0,
	0,
	0,
	0,

/*
 * 164-174 unused
 */

	"lp",
	0, 0177514, 0200, CHAR+INTR,
	"	lpou; br4\n",
	"",
	".globl _lpintr\nlpou:	jsr	r0,call; jmp _lpintr\n",
	0,
	"	lpopen,   lpclose,  nodev,    lpwrite,\n\tlpioctl,  nulldev,  0,        seltrue,",
	0,
	"int	lpopen(), lpclose(), lpwrite(), lpioctl();",

	"hj",
	0, 0176400, 0204, BLOCK+CHAR+INTR+NUNIT,
	"	hpio; br5+2.\n",
	"",
	"",
	"	hpopen, hpclose, hpstrategy, &hptab[2],",
	"	hpopen,   nulldev,  hpread,   hpwrite,\n\tnodev,    nulldev,  0,        seltrue,",
	"",
	"",

/*
 * 210 RC
 */

	"hk",
	0, 0177440, 0210, BLOCK+CHAR+INTR+NUNIT+IOS+UTAB+BADS,
	"	hkio; br5\n",
	".globl	_hkintr\n",
	"hkio:	jsr	r0,call; jmp _hkintr\n",
	0,
	0,
	0,
	0,

	"rk",
	0, 0177400, 0220, BLOCK+CHAR+INTR+NUNIT+IOS,
	"	rkio; br5\n",
	".globl	_rkintr\n",
	"rkio:	jsr	r0,call; jmp _rkintr\n",
	0,
	0,
	0,
	0,

	"tm",
	0, 0172520, 0224, BLOCK+CHAR+INTR+TAPE,
	"	tmio; br5\n",
	".globl	_tmintr\n",
	"tmio:	jsr	r0,call; jmp _tmintr\n",
	0,
	0,
	0,
	0,

	"ht",
	0, 0172440, 0224, BLOCK+CHAR+INTR+TAPE,
	"	htio; br5\n",
	".globl	_htintr\n",
	"htio:	jsr	r0,call; jmp _htintr\n",
	0,
	0,
	0,
	0,

	"ts",
	0, 0172520, 0224, BLOCK+CHAR+INTR+TAPE,
	"	tsio; br5+%d\n",
	".globl	_tsintr\n",
	"tsio:	jsr	r0,call; jmp _tsintr\n",
	0,
	0,
	0,
	0,

	"cr",
	0, 0177160, 0230, CHAR+INTR,
	"	crin; br6\n",
	"",
	".globl	_crint\ncrin:	jsr	r0,call; jmp _crint\n",
	0,
	"	cropen,   crclose,  crread,   nodev,    nodev,    nulldev,  0,        seltrue,",
	0,
	"int	cropen(), crclose(), crread();",

/*
 * 234 UDC11
 */

	"rp",
	0, 0176710, 0254, BLOCK+CHAR+INTR+NUNIT+IOS,
	"	rpio; br5\n",
	".globl	_rpintr\n",
	"rpio:	jsr	r0,call; jmp _rpintr\n",
	"	nulldev, rpclose, rpstrategy, &rptab,",
	"	nulldev,  nulldev,  rpread,   rpwrite,\n\tnodev,    nulldev,  0,        seltrue,",
	"int	rpstrategy(),rpclose();\nstruct	buf	rptab;",
	"int	rpread(), rpwrite();",

	"hp",
	0, 0176700, 0254, BLOCK+CHAR+INTR+NUNIT,
	"	hpio; br5+0.\n",
	".globl	_hpintr\n",
	"hpio:	jsr	r0,call; jmp _hpintr\n",
	"	hpopen, hpclose, hpstrategy, &hptab[0],",
	0,
	"int	hpopen(),hpclose(), hpstrategy();\nstruct	buf	hptab[];",
	0,

/*
 * 260 TA11 (alt TS11)
 */

	"tk",
	0, 0174500, 0260, BLOCK+CHAR+INTR+TAPE,
	"	tkio; br5+%d\n",
	".globl	_tkintr\n",
	"tkio:	jsr	r0,call; jmp _tkintr\n",
	0,
	0,
	0,
	0,

	"hx",
	0, 0177170, 0264, BLOCK+CHAR+INTR+NUNIT,
	"	hxio; br5\n",
	".globl	_hxintr\n",
	"hxio:	jsr	r0,call; jmp _hxintr\n",
	0,
	"	hxopen,   nulldev,  hxread,   hxwrite,\n\thxioctl,  nulldev,  0,        seltrue,",
	0,
	"int	hxread(), hxwrite(), hxioctl();",

	"dc",
	0, 0174000, 0310, CHAR+INTR+DLV,
	"	dcin; br5+%d.\n	dcou; br5+%d.\n",
	".globl	_dcrint\ndcin:	jsr	r0,call; jmp _dcrint\n",
	".globl	_dcxint\ndcou:	jsr	r0,call; jmp _dcxint\n",
	0,
	"	dcopen,   dcclose,  dcread,   dcwrite,\n\tdcioctl,  nulldev,  dc11,     seltrue,",
	0,
	"int	dcopen(), dcclose(), dcread(), dcwrite(), dcioctl();\nstruct	tty	dc11[];",

	"kl",
	0, 0176500, 0310, INTR+KL+DLV,
	"	klin; br4+%d.\n	klou; br4+%d.\n",
	"",
	"",
	0,
	0,
	0,
	0,

	"dp",
	0, 0174770, 0310, CHAR+INTR+DLV,
	"	dpin; br6+%d.\n	dpou; br6+%d.\n",
	".globl	_dprint\ndpin:	jsr	r0,call; jmp _dprint\n",
	".globl	_dpxint\ndpou:	jsr	r0,call; jmp _dpxint\n",
	0,
	"	dpopen,   dpclose,  dpread,   dpwrite,\n\tnodev,    nulldev,  0,        seltrue,",
	0,
	"int	dpopen(), dpclose(), dpread(), dpwrite();",

/*
 * DM11-A
 */

	"dn",
	0, 0175200, 0304, CHAR+INTR,
	"	dnou; br5+%d.\n",
	"",
	".globl	_dnint\ndnou:	jsr	r0,call; jmp _dnint\n",
	0,
	"	dnopen,   dnclose,  nodev,    dnwrite,\n\tnodev,    nulldev,  0,        seltrue,",
	0,
	"int	dnopen(), dnclose(), dnwrite();",

	"dhdm",
	0, 0170500, 0304, INTR,
	"	dmin; br4+%d.\n",
	"",
	".globl	_dmint\ndmin:	jsr	r0,call; jmp _dmint\n",
	0,
	0,
	0,
	0,

/*
 * DR11-A+
 * DR11-C+	(also CAT)
 */

	"ct",
	0, 0167770, 0304, CHAR+INTR,
	"	ctou; br4\n",
	"",
	".globl	_ctintr\nctou:	jsr	r0,call; jmp _ctintr\n",
	0,
	"	ctopen,   ctclose,  nodev,    ctwrite,\n\tnodev,    nulldev,  0,        seltrue,",
	0,
	"int	ctopen(), ctclose(), ctwrite();",

/*
 * PA611+
 * PA611+
 * DT11+
 * DX11+
 */

	"dl",
	0, 0175610, 0310, INTR+KL+DLV,
	"	klin; br4+%d.\n	klou; br4+%d.\n",
	"",
	"",
	0,
	0,
	0,
	0,

/*
 * DJ11
 */

	"dh",
	0, 0160020, 0310, CHAR+INTR+EVEN+DLV,
	"	dhin; br5+%d.\n	dhou; br5+%d.\n",
	".globl	_dhrint\ndhin:	jsr	r0,call; jmp _dhrint\n",
	".globl	_dhxint\ndhou:	jsr	r0,call; jmp _dhxint\n",
	0,
	"	dhopen,   dhclose,  dhread,   dhwrite,\n\tdhioctl,  dhstop,   dh11,     ttselect,",
	0,
	"int	dhopen(), dhclose(), dhread(), dhwrite(), dhioctl(), dhstop();\n",

/* Order in table MUST be UH then UHV, nothing in between! */
	"uh",
	0, 0160440, 0310, CHAR+INTR+EVEN+DLV,
	"	uhin; br5+%d.\n	uhou; br5+%d.\n",
	".globl	_uhrint\nuhin:	jsr	r0,call; jmp _uhrint\n",
	".globl	_uhxint\nuhou:	jsr	r0,call; jmp _uhxint\n",
	0,
	"	uhopen,   uhclose,  uhread,   uhwrite,\n\tuhioctl,  uhstop,   uh11,     ttselect,",
	0,
	"int	uhopen(), uhclose(), uhread(), uhwrite(), uhioctl(), uhstop();\n",
	"uhv",
	0, 0160440, 0310, CHAR+INTR+EVEN+DLV,
	"	uhin; br5+%d.\n	uhou; br5+%d.\n",
	".globl	_uhrint\nuhin:	jsr	r0,call; jmp _uhrint\n",
	".globl	_uhxint\nuhou:	jsr	r0,call; jmp _uhxint\n",
	0,
	"	uhopen,   uhclose,  uhread,   uhwrite,\n\tuhioctl,  uhstop,   uh11,     ttselect,",
	0,
	"int	uhopen(), uhclose(), uhread(), uhwrite(), uhioctl(), uhstop();\n",

/*
 * GT40
 * LPS+
 * DQ11
 * KW11-W
 */

	"du",
	0, 0176040, 0310, CHAR+INTR+DLV,
	"	duin; br6+%d.\n	duou; br6+%d.\n",
	".globl	_durint\nduin:	jsr	r0,call; jmp _durint\n",
	".globl	_duxint\nduou:	jsr	r0,call; jmp _duxint\n",
	0,
	"	duopen,   duclose,  duread,   duwrite,\n\tnodev,    nulldev,  0,        seltrue,",
	0,
	"int	duopen(), duclose(), duread(), duwrite();",

/*
 * DUP11
 * DV11
 * LK11-A
 * DMC11
 */

/* Order in table MUST be DZ then DZV, nothing in between! */
	"dz",
	0, 0160100, 0310, CHAR+INTR+EVEN+DLV,
	"	dzin; br5+%d.\n	dzou; br5+%d.\n",
	".globl _dzrint\ndzin:	jsr	r0,call; jmp _dzrint\n",
	".globl _dzxint\ndzou:	jsr	r0,call; jmp _dzxint\n",
	0,
	"	dzopen,   dzclose,  dzread,   dzwrite,\n\tdzioctl,  nulldev,  dz_tty,   ttselect,",
	0,
	0,

	"dzv",
	0, 0160100, 0310, CHAR+INTR+EVEN+DLV,
	"	dzin; br5+%d.\n	dzou; br5+%d.\n",
	".globl _dzrint\ndzin:	jsr	r0,call; jmp _dzrint\n",
	".globl _dzxint\ndzou:	jsr	r0,call; jmp _dzxint\n",
	0,
	"	dzopen,   dzclose,  dzread,   dzwrite,\n\tdzioctl,  nulldev,  dz_tty,   ttselect,",
	0,
	"int	dzopen(), dzclose(), dzread(), dzwrite(), dzioctl();\n",

	"tty",
	1, 0, 0, CHAR,
	0,
	0,
	0,
	0,
	"	syopen,   nulldev,  syread,   sywrite,\n\tsysioctl, nulldev,  0,        syselect,",
	0,
	"int	syopen(), syread(), sywrite(), sysioctl(), syselect();",

	"ptc",
	1, 0, 0, CHAR,
	0,
	0,
	0,
	0,
	"	ptcopen,  ptcclose, ptcread,  ptcwrite,\n\tptyioctl, nulldev,  pt_tty,   ptcselect,",
	0,
	"int	ptcopen(), ptcclose(), ptcread(), ptcwrite(), ptyioctl(), ptcselect();",

	"pts",
	1, 0, 0, CHAR,
	0,
	0,
	0,
	0,
	"	ptsopen,  ptsclose, ptsread,  ptswrite,\n\tptyioctl, ptsstop,  pt_tty,   ttselect,",
	0,
	"int	ptsopen(), ptsclose(), ptsread(), ptswrite(), ptsstop();",

	"if_qe",
	0, 0174440, 0400, INTR,
	"", /* "	qein; br5+%d.\n", */
	".globl	_qeint\nqein:	jsr	r0,call; jmp _qeint\n",
	"",
	0,
	0,
	0,
	0,

	"if_n1",
	0, 0164000, 0310, INTR,
	"", /* "	n1in; br5+%d.\n", */
	".globl	_n1int\nn1in:	jsr	r0,call; jmp _n1int\n",
	".globl	_n1xint\nn1ou:	jsr	r0,call; jmp _n1xint\n",
	0,
	0,
	0,
	0,

	"if_n2",
	0, 0164000, 0310, INTR,
	"", /* "	n2in; br5+%d.\n", */
	".globl	_n2int\nn2in:	jsr	r0,call; jmp _n2int\n",
	".globl	_n2xint\nn2ou:	jsr	r0,call; jmp _n2xint\n",
	0,
	0,
	0,
	0,

	"u1",
	0, 0164000, 0310, BLOCK+CHAR+INTR+EVEN+DLV,
	"	u1in; br5+%d.\n	u1ou; br5+%d.\n",
	".globl	_u1rint\nu1in:	jsr	r0,call; jmp _u1rint\n",
	".globl	_u1xint\nu1ou:	jsr	r0,call; jmp _u1xint\n",
	"	u1open, u1close, u1strategy, &u1tab,",
	"	u1open,   u1close,  u1read,   u1write,\n\tu1ioctl,  u1stop,   u1_tty,   u1select,",
	"int	u1open(), u1close(), u1strategy();\nstruct\tbuf\tu1tab;",
	"int	u1read(), u1write(), u1ioctl(), u1stop(), u1select();\n",

	"u2",
	0, 0164000, 0310, BLOCK+CHAR+INTR+EVEN+DLV,
	"	u2in; br5+%d.\n	u2ou; br5+%d.\n",
	".globl	_u2rint\nu2in:	jsr	r0,call; jmp _u2rint\n",
	".globl	_u2xint\nu2ou:	jsr	r0,call; jmp _u2xint\n",
	"	u2open, u2close, u2strategy, &u2tab,",
	"	u2open,   u2close,  u2read,   u2write,\n\tu2ioctl,  u2stop,   u2_tty,   u2select,",
	"int	u2open(), u2close(), u2strategy();\nstruct\tbuf\tu2tab;",
	"int	u2read(), u2write(), u2ioctl(), u2stop(), u2select();\n",

	"u3",
	0, 0164000, 0310, BLOCK+CHAR+INTR+EVEN+DLV,
	"	u3in; br5+%d.\n	u3ou; br5+%d.\n",
	".globl	_u3rint\nu3in:	jsr	r0,call; jmp _u3rint\n",
	".globl	_u3xint\nu3ou:	jsr	r0,call; jmp _u3xint\n",
	"	u3open, u3close, u3strategy, &u3tab,",
	"	u3open,   u3close,  u3read,   u3write,\n\tu3ioctl,  u3stop,   u3_tty,   u3select,",
	"int	u3open(), u3close(), u3strategy();\nstruct\tbuf\tu3tab;",
	"int	u3read(), u3write(), u3ioctl(), u3stop(), u3select();\n",

	"u4",
	0, 0164000, 0310, BLOCK+CHAR+INTR+EVEN+DLV,
	"	u4in; br5+%d.\n	u4ou; br5+%d.\n",
	".globl	_u4rint\nu4in:	jsr	r0,call; jmp _u4rint\n",
	".globl	_u4xint\nu4ou:	jsr	r0,call; jmp _u4xint\n",
	"	u4open, u4close, u4strategy, &u4tab,",
	"	u4open,   u4close,  u4read,   u4write,\n\tu4ioctl,  u4stop,   u4_tty,   u4select,",
	"int	u4open(), u4close(), u4strategy();\nstruct\tbuf\tu4tab;",
	"int	u4read(), u4write(), u4ioctl(), u4stop(), u4select();\n",

	0
};