Ultrix-3.1/src/cmd/sysgen/sg_tab.c


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

static char Sccsid[] = "@(#)sg_tab.c	3.3	8/6/87";
/*
 * Processor and peripheral device information
 * tables for sysgen.
 *
 * Fred Canter
 */

#include "sysgen.h"

/*
 * Processor type information
 */
struct	cputyp	cputyp[] = {
	"23",	23,	NSID,	QBUS,	A18BIT,
	"23+",	23,	NSID,	QBUS,	A22BIT,
	"24",	24,	NSID,	UBUS,	(A22BIT|A18BIT|UBMAP),
	"34",	34,	NSID,	UBUS,	A18BIT,
	"40",	40,	NSID,	UBUS,	A18BIT,
	"44",	44,	SID,	UBUS,	(A22BIT|UBMAP),
	"45",	45,	SID,	UBUS,	A18BIT,
	/* TODO: remove LATENT flag after 11/53 announced */
	"53",	53,	SID,	QBUS,	(A22BIT|LATENT),	
	"55",	55,	SID,	UBUS,	A18BIT,
	"60",	60,	NSID,	UBUS,	A18BIT,
	"70",	70,	SID,	UBUS,	(A22BIT|UBMAP),
	"73",	73,	SID,	QBUS,	A22BIT,
	"83",	83,	SID,	QBUS,	A22BIT,
	"84",	84,	SID,	UBUS,	(A22BIT|UBMAP),
	0
};

/*
 * Disk drive type information
 */
struct	ddtype	ddtype[] = {
	"DUMMY",   0,	      0,     0, -1,	0,	0,
	"rm02",	"hp",	0176700,  0254,  11,	8,	MASSBUS,
	"rm03",	"hp",	0176700,  0254,  11,	8,	MASSBUS,
	"rm05",	"hp",	0176700,  0254,  12,	8,	MASSBUS,
	"rp04",	"hp",	0176700,  0254,  1,	8,	MASSBUS,
	"rp05",	"hp",	0176700,  0254,  1,	8,	MASSBUS,
	"rp06",	"hp",	0176700,  0254,  1,	8,	MASSBUS,
	"rp02", "rp",	0176710,  0254,  3,	8,	0,
	"rp03", "rp",	0176710,  0254,  3,	8,	0,
	"rk06",	"hk",	0177440,  0210,  2,	8,	0,
	"rk07",	"hk",	0177440,  0210,  2,	8,	0,
	"rl01",	"rl",	0174400,  0160,  5,	8,	0,
	"rl02",	"rl",	0174400,  0160,  5,	8,	0,
	"rx02",	"hx",	0177170,  0264, -1,	1,	0,
	"rk05",	"rk",	0177400,  0220,  4,	1,	0,
	"ra60",	"ra",	0172150,  0154,  7,	8,	0,
	"ra80",	"ra",	0172150,  0154,  7,	8,	0,
	"ra81",	"ra",	0172150,  0154,  7,	8,	0,
	"ml11",	"hp",	0176400,  0204,  6,	8,	(MASSBUS|FIXED),
	"rx33",	"rq",	0172150,  0154, -1,	8,	0,
	"rx50",	"rq",	0172150,  0154, -1,	8,	0,
	"rd31",	"rq",	0172150,  0154,  13,	8,	0,
	"rd32",	"rq",	0172150,  0154,  9,	8,	0,
	"rd51",	"rq",	0172150,  0154,  8,	8,	0,
	"rd52",	"rq",	0172150,  0154,  9,	8,	0,
	"rd53",	"rq",	0172150,  0154,  9,	8,	0,
	"rd54",	"rq",	0172150,  0154,  9,	8,	0,
	"rc25",	"rc",	0172150,  0154,  10,	8,	0,
	0
};

/*
 * Standard file system layouts for system disk
 * rootdev, pipedev, swapdev, and eldev.
 */
/* WARNING: if sdfsl changed, must also check cdtab[] (crash dump dev table) */
/* WARNING: values must match sdfsl[] in boot (see /usr/sys/sas/boot.c). */

struct	sdfsl	sdfsl[] = {
/* The first slot is filled in and used if the users specifies the layout */
/* user  */ 0, 0, 0, 0, 0, 0,	0,	0,	0,	0,	0,	0,
/* rp456 */ 0, 0, 0, 0, 0, 0,	2,	200,	6070,	2,	0,	200,
/* hk    */ 0, 0, 0, 0, 0, 0,	1,	100,	2936,	1,	0,	100,
/* rp    */ 0, 0, 0, 0, 0, 0,	1,	100,	3100,	1,	0,	100,
/* rk    */ 0, 0, 0, 0, 0, 0,	0,	4000,	822,	0,	4822,	50,
/* rl01/2*/ 0, 0, 0, 0, 0, 0,	0,	8040,	2200,	0,	8000,	40,
/* ml    */ 0, 0, 0, 0, 0, 0,	0,	7092,	1100,	0,	7000,	92,
/* uda50 */ 0, 0, 0, 0, 0, 0,	2,	200,	6000,	2,	0,	200,
/* rd51  */ 0, 0, 0, 0, 0, 0,	0,	7500,	2200,	0,	7460,	40,
/* rd52-4*/ 0, 0, 0, 0, 0, 0,	2,	100,	3000,	2,	0,	100,
/* rd32  */
/* klesi */ 0, 0, 0, 0, 0, 0,	1,	200,	4000,	1,	0,	200,
/* rm2/3 */ 0, 0, 0, 0, 0, 0,	2,	200,	5400,	2,	0,	200,
/* rm05  */ 0, 0, 0, 0, 0, 0,	2,	300,	6388,	2,	0,	300,
/* rd31  */ 0, 0, 0, 0, 0, 0,	5,	100,	3000,	5,	0,	100,
};
/* WARNING: if sdfsl changed, must also check cdtab[] (crash dump dev table) */
/* WARNING: values must match sdfsl[] in boot (see /usr/sys/sas/boot.c). */

/*
 * Disk controller types
 */
struct	dctype	dctype[] = {
	"rh11",		RH11,	(UBUS|MASSBUS),
	"rh70",		RH70,	(UBUS|MASSBUS),
	"rp11",		RP11,	UBUS,
	"rk611",	RK711,	UBUS,
	"rk711",	RK711,	UBUS,
	"rl11",		RL11,	UBUS,
	"rx211",	RX211,	(UBUS|Q22WARN),
	"rk11",		RK11,	(UBUS|Q22WARN),
	"uda50",	UDA50,	(UBUS|MSCP),
	"kda50",	UDA50,	(UBUS|MSCP),
	"rqdx1",	RQDX1,	(UBUS|MSCP),
	"rqdx2",	RQDX1,	(UBUS|MSCP),
	"rqdx3",	RQDX1,	(UBUS|MSCP),
	"klesi",	KLESI,	(UBUS|MSCP),
	"rux1",		RUX1,	(UBUS|MSCP),
	0
};

/*
 * Drive types allowed on each controller
 */
struct	doc	doc[] = {
	RH11,	RM02, RP04, RP05, RP06, ML11, 0, 0, 0,
	RH70,	RM02, RM03, RM05, RP04, RP05, RP06, ML11, 0,
	RK611,	RK06, RK07, 0, 0, 0, 0, 0, 0,	/* NO LONGER USED */
	RK711,	RK06, RK07, 0, 0, 0, 0, 0, 0,
	RP11,	RP02, RP03, 0, 0, 0, 0, 0, 0,
	RL11,	RL01, RL02, 0, 0, 0, 0, 0, 0,
	RX211,	RX02, 0, 0, 0, 0, 0, 0, 0,
	RK11,	RK05, 0, 0, 0, 0, 0, 0, 0,
	UDA50,	RA60, RA80, RA81, 0, 0, 0, 0, 0,
	RQDX1,	RX33, RX50, RD31, RD32, RD51, RD52, RD53, RD54,
	KLESI,	RC25, 0, 0, 0, 0, 0, 0, 0,
	RUX1,	RX50, 0, 0, 0, 0, 0, 0, 0,
	0
};

/*
 * Descriptor table for each
 * configured disk controller.
 */
struct	dcd	dcd[MAXDC+1];

/*
 * Magtape controller types
 */
struct	mttype	mttype[] = {
/* tm02 */	"tm02",	"ht",	0,	0,	0172440,	0224,
/* tm03 */	"tm03",	"ht",	0,	0,	0172440,	0224,
/* tm11 */	"tm11",	"tm",	0,	0,	0172520,	0224,
/* ts11 */	"ts11",	"ts",	0,	0,	0172520,	0224,
/* tsv05 */	"tsv05","ts",	0,	0,	0172520,	0224,
/* tsu05 */	"tsu05","ts",	0,	0,	0172520,	0224,
/* tu80 */	"tu80", "ts",	0,	0,	0172520,	0224,
/* tk25 */	"tk25", "ts",	0,	0,	0172520,	0224,
/* tk50 */	"tk50",	"tk",	0,	0,	0174500,	0260,
/* tu81 */	"tu81",	"tk",	0,	0,	0174500,	0260,
		0
};

/* ts magtape controller */

struct	mttype	mtts[] = {
	"xxxxxxx",	"ts",	-1,	0,	0172520,	0224,
	"xxxxxxx",	"ts",	-1,	0,	0172520,	0224,
	"xxxxxxx",	"ts",	-1,	0,	0172520,	0224,
	"xxxxxxx",	"ts",	-1,	0,	0172520,	0224,
	0
};

/* tk magtape controller */

struct	mttype	mttk[] = {
	"xxxxx",	"tk",	-1,	0,	0174500,	0260,
	"xxxxx",	"tk",	-1,	0,	0174500,	0260,
	"xxxxx",	"tk",	-1,	0,	0174500,	0260,
	"xxxxx",	"tk",	-1,	0,	0174500,	0260,
	0
};

/*
 * Crash dump device table
 */

/* WARNING: swplo hardwired, check sdfsl[] for changes! */
struct cdtab	cdtab[] =
{
	"ht", "tm02",	0,	0,	0,	0,	CD_TAPE,
	"ht", "tm03",	0,	0,	0,	0,	CD_TAPE,
	"ts", "ts11",	0,	0,	0,	0,	CD_TAPE,
	"ts", "tu80",	0,	0,	0,	0,	CD_TAPE,
	"ts", "tsv05",	0,	0,	0,	0,	CD_TAPE,
	"ts", "tsu05",	0,	0,	0,	0,	CD_TAPE,
	"ts", "tk25",	0,	0,	0,	0,	CD_TAPE,
	"tm", "tm11",	0,	0,	0,	0,	CD_TAPE,
	"tk", "tk50",	0,	0,	0,	0,	CD_TAPE,
	"tk", "tu81",	0,	0,	0,	0,	CD_TAPE,
	"rl", "rl01",	RL01,	0,	8340,	10240,	CD_DISK,
	"rl", "rl02",	RL02,	0,	8340,	10240,	CD_DISK,
	"hk", "rk06",	RK06,	0,	8320,	10956,	CD_DISK,
	"hk", "rk07",	RK07,	0,	8320,	10956,	CD_DISK,
	"rp", "rp02",	RP02,	0,	8800,	11600,	CD_DISK,
	"rp", "rp03",	RP03,	0,	8800,	11600,	CD_DISK,
	"hp", "rp04",	RP04,	0,	30178,	35948,	CD_DISK,
	"hp", "rp05",	RP05,	0,	30178,	35948,	CD_DISK,
	"hp", "rp06",	RP06,	0,	30178,	35948,	CD_DISK,
	"hp", "rm02",	RM02,	0,	29620,	34720,	CD_DISK,
	"hp", "rm03",	RM03,	0,	29620,	34720,	CD_DISK,
	"hp", "rm05",	RM05,	0,	32216,	38304,	CD_DISK,
	"rq", "rx50",	RX50,	2,	0,	800,	(CD_DISK|CD_RX50),
	"rq", "rx33",	RX33,	1,	0,	800,	(CD_DISK|CD_RX50),
	"rq", "rd51",	RD51,	0,	7800,	9700,	CD_DISK,
	"rq", "rd31",	RD31,	0,	10100,	12800,	CD_DISK,
	"rq", "rd32",	RD32,	0,	27400,	30100,	CD_DISK,
	"rq", "rd52",	RD52,	0,	27400,	30100,	CD_DISK,
	"rq", "rd53",	RD53,	0,	27400,	30100,	CD_DISK,
	"rq", "rd54",	RD54,	0,	27400,	30100,	CD_DISK,
	"rc", "rc25",	RC25,	1,	9500,	13200,	CD_DISK,
	"ra", "ra60",	RA60,	0,	30100,	35800,	CD_DISK,
	"ra", "ra80",	RA80,	0,	30100,	35800,	CD_DISK,
	"ra", "ra81",	RA81,	0,	30100,	35800,	CD_DISK,
	0
};

/*
 * Line printer
 */
struct	lptype	lptype[] = {
	"lp",	0177514, 0200, 0,
	0
};

/*
 * C/A/T phototypesetter interface
 */
struct	cttype	cttype[] = {
	"ct",	0167770, 0300, 0,
	0
};

/*
 * User devices
 */
struct	udtype	udtype[MAXUD+1] = {
	"u1",	0164000, 0400, 0,
	"u2",	0164010, 0410, 0,
	"u3",	0164020, 0420, 0,
	"u4",	0164030, 0430, 0,
	0
};

/*
 * Communications multiplexers
 */
struct	cmtype	cmtype[] = {
/* DZ11  */	"dz",	"dz",	"DZ11",	      16,   0,   0160100,	0300,
/* DZV11 */	"dzv",	"dzv",	"DZV11",       8,   0,   0160100,	0300,
/* DZQ11 */	"dzq",	"dzv",	"DZQ11",       8,   0,   0160100,	0300,
/* DH11  */	"dh",	"dh",	"DH11",        8,   0,   0160020,	0300,
/* DHU11  */	"dhu",	"uh",	"DHU11",       8,   0,   0160440,	0300,
/* DHV11  */	"dhv",	"uhv",	"DHV11",       4,   0,   0160440,	0300,
/* DHDM  */	"dhdm",	"dhdm",	"DM11-BB",     8,   0,   0170500,	0300,
/* DC11  */ /*	"dc",	"dc",	"DC11",        0,   0,   0174000,	0300, defunct */
/* DU11  */	"du",	"du",	"DU11",        4,   0,   0176040,	0300,
/* DN11  */	"dn",	"dn",	"DN11",        1,   0,   0175200,	0300,
/* KL11  */	"kl",	"kl",	"DL11-A/B",   16,   0,   0176500,	0300,
/* DL11  */	"dl",	"dl",	"DL11-C/D/E", 32,   0,   0175610,	0300,
	0
};

/*
 * Network devices
 */
static int qe_a[2] = { 0174440, 0174460 };
static int qe_v[2] = { 0400, 0410 };
static int de_a[4] = { 0174510, 0160010, 0160020, 0160030 };
static int de_v[4] = { 0120, 0300, 0300, 0300 };
static int n1_a[1] = { 0 };
static int n1_v[1] = { 0 };
static int n2_a[1] = { 0 };
static int n2_v[1] = { 0 };
/*
 * We use absolute value of nvec, if it is negative then
 * the user can't change it.
 */
struct	nettype nettype[] = {
	"deqna",	"qe", qe_a, qe_v, 2, 0, -1,
	"deuna",	"de", de_a, de_v, 4, 0, -1,
	"n1",		"n1", n1_a, n1_v, 1, 0, 0,
	"n2",		"n2", n2_a, n2_v, 1, 0, 0,
	0
};

/*
 * System parameters
 */
struct	syspar	syspar[] = {
	/*
	 * WARNING: the position of "nproc" MUST come before "mapsize".
	 *
	 * MAXSEG: changed on the fly to 65408 if CPU has Q22 bus.
	 */
	"nbuf",		"sg_nbuf",		0,	0,	0,	-1,
	"ninode",	"sg_ninode",		75,	150,	0,	0,
	"nfile",	"sg_nfile",		75,	150,	0,	0,
	"nmount",	"sg_nmnt",		5,	8,	0,	0,
	"maxuprc",	"sg_muprc",		15,	25,	0,	0,
	"ncall",	"sg_ncall",		30,	50,	0,	0,
	"nproc",	"sg_nproc",		75,	150,	0,	0,
	"ntext",	"sg_ntext",		25,	40,	0,	0,
	"nclist",	"sg_nclist",		50,	65,	0,	0,
	"hz",		"sg_hz",		60,	60,	0,	-1,
	"timezone",	"sg_tz",		5,	5,	0,	-1,
	"dstflag",	"sg_dst",		1,	1,	0,	-1,
	"ncargs",	"sg_ncargs",		5120,	5120,	0,	0,
	"maxseg",	"sg_mseg",		61440,	61440,	0,	0,
	"msgbufs",	"sg_msgb",		128,	128,	0,	0,
	"mapsize",	"sg_mapsz",		67,	105,	0,	0,
	"ulimit",	"sg_ulimit",		1024,	1024,	0,	0,
	0
};

struct	syspar	msgpar[] = {
	"msgmax",	"sm_max",		8192,	8192,	0,	0,
	"msgmnb",	"sm_mnb",		16384,	16384,	0,	0,
	"msgtql",	"sm_tql",		40,	40,	0,	0,
	"msgssz",	"sm_ssz",		8,	8,	0,	0,
	"msgseg",	"sm_seg",		1024,	1024,	0,	0,
	"msgmap",	"sm_map",		50,	100,	0,	0,
	"msgmni",	"sm_mni",		5,	10,	0,	0,
	0
};

struct	syspar	sempar[] = {
	"semmap",	"ss_map",		5,	10,	0,	0,
	"semmni",	"ss_mni",		5,	10,	0,	0,
	"semmns",	"ss_mns",		30,	60,	0,	0,
	"semmnu",	"ss_mnu",		15,	30,	0,	0,
	"semume",	"ss_ume",		10,	10,	0,	0,
	"semmsl",	"ss_msl",		25,	25,	0,	0,
	"semopm",	"ss_opm",		10,	10,	0,	0,
	0
};

struct	syspar	flckpar[] = {
	"flckrec",	"sf_recf",		50,	100,	0,	0,
	"flckfil",	"sf_filf",		15,	20,	0,	0,
	0
};

struct	syspar	netpar[] = {
	"mbufs",	"sn_mbufs",		60,	60,	0,	0,
	"allocs",	"sn_allocs",		1500,	2000,	0,	0,
	0
};

struct	syspar	mauspar[] = {
	"nmaus",	"ms_nmaus",		4,	4,	0,	0,
	"maus0",	"ms_maus",		2,	2,	0,	0,
	"maus1",	"ms_maus",		128,	128,	0,	0,
	"maus2",	"ms_maus",		128,	128,	0,	0,
	"maus3",	"ms_maus",		128,	128,	0,	0,
	"maus4",	"ms_maus",		1,	1,	0,	0,
	"maus5",	"ms_maus",		1,	1,	0,	0,
	"maus6",	"ms_maus",		1,	1,	0,	0,
	"maus7",	"ms_maus",		1,	1,	0,	0,
	0
};

struct	dst_table dst_table[] = {
	"USA",DST_USA,
	"Australia",DST_AUST,
	"Western Europe",DST_WET,
	"Central Europe",DST_MET,
	"Eastern Europe",DST_EET,
	0
};