/********************************************************************** * 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 };