From 01c816cc433a23c264ff501ae756187382c5ab6e Mon Sep 17 00:00:00 2001 From: thorpej Date: Mon, 10 Jun 1996 02:32:20 +0000 Subject: [PATCH] Add the `ac' device (auto-changer) to the isscsidev() macro. (I can't believe that's been missing for so long!) While I'm here, remove all of the non-hp300 cruft. The hp300 port is the only thing that uses config.old(8) now'a'days. Yes, this is a little embarassing. --- usr.sbin/config.old/config.h | 20 +- usr.sbin/config.old/config.y | 54 +- usr.sbin/config.old/lang.l | 31 +- usr.sbin/config.old/main.c | 34 +- usr.sbin/config.old/mkioconf.c | 857 +------------------------------ usr.sbin/config.old/mkmakefile.c | 12 +- 6 files changed, 14 insertions(+), 994 deletions(-) diff --git a/usr.sbin/config.old/config.h b/usr.sbin/config.old/config.h index 7b4ccc9441a0..2d97bb51042c 100644 --- a/usr.sbin/config.old/config.h +++ b/usr.sbin/config.old/config.h @@ -1,4 +1,4 @@ -/* $NetBSD: config.h,v 1.19 1995/08/17 17:22:08 thorpej Exp $ */ +/* $NetBSD: config.h,v 1.20 1996/06/10 02:32:20 thorpej Exp $ */ /* * Copyright (c) 1980 Regents of the University of California. @@ -152,13 +152,7 @@ struct config { int machine; char *machinename; char *machinearch; -#define MACHINE_VAX 1 -#define MACHINE_TAHOE 2 -#define MACHINE_HP300 3 -#define MACHINE_I386 4 -#define MACHINE_PC532 5 -#define MACHINE_PMAX 6 -#define MACHINE_AMIGA 7 +#define MACHINE_HP300 1 /* * For each machine, a set of CPU's may be specified as supported. @@ -191,16 +185,6 @@ char *raisestr(); int do_trace; -#if MACHINE_VAX -int seen_mba, seen_uba; -#endif -#if MACHINE_TAHOE -int seen_vba; -#endif -#if MACHINE_I386 -int seen_isa; -#endif - struct device *connect(); struct device *dtab; dev_t nametodev(); diff --git a/usr.sbin/config.old/config.y b/usr.sbin/config.old/config.y index 5a9787b2fb38..5a39bac2e25f 100644 --- a/usr.sbin/config.old/config.y +++ b/usr.sbin/config.old/config.y @@ -75,7 +75,7 @@ %type swap_device_spec %{ -/* $NetBSD: config.y,v 1.18 1995/08/17 17:22:10 thorpej Exp $ */ +/* $NetBSD: config.y,v 1.19 1996/06/10 02:32:21 thorpej Exp $ */ /* * Copyright (c) 1988 Regents of the University of California. @@ -150,34 +150,10 @@ Spec: Config_spec: MACHIN Save_id = { - if (!strcmp($2, "vax")) { - machine = MACHINE_VAX; - machinename = "vax"; - machinearch = machinename; - } else if (!strcmp($2, "tahoe")) { - machine = MACHINE_TAHOE; - machinename = "tahoe"; - machinearch = machinename; - } else if (!strcmp($2, "hp300")) { + if (!strcmp($2, "hp300")) { machine = MACHINE_HP300; machinename = "hp300"; machinearch = "m68k"; - } else if (!strcmp($2, "i386")) { - machine = MACHINE_I386; - machinename = "i386"; - machinearch = machinename; - } else if (!strcmp($2, "pc532")) { - machine = MACHINE_PC532; - machinename = "pc532"; - machinearch = machinename; - } else if (!strcmp($2, "pmax")) { - machine = MACHINE_PMAX; - machinename = "pmax"; - machinearch = machinename; - } else if (!strcmp($2, "amiga")) { - machine = MACHINE_AMIGA; - machinename = "amiga"; - machinearch = "m68k"; } else yyerror("Unknown machine type"); } | @@ -474,14 +450,6 @@ Dev_name: Init_dev Dev NUMBER = { cur.d_name = $2; - if (eq($2, "mba")) - seen_mba = 1; - else if (eq($2, "uba")) - seen_uba = 1; - else if (eq($2, "vba")) - seen_vba = 1; - else if (eq($2, "isa")) - seen_isa = 1; cur.d_unit = $3; }; @@ -871,28 +839,10 @@ check_nexus(dev, num) switch (machine) { - case MACHINE_VAX: - if (!eq(dev->d_name, "uba") && !eq(dev->d_name, "mba") && - !eq(dev->d_name, "bi")) - yyerror("only uba's, mba's, and bi's should be connected to the nexus"); - if (num != QUES) - yyerror("can't give specific nexus numbers"); - break; - - case MACHINE_TAHOE: - if (!eq(dev->d_name, "vba")) - yyerror("only vba's should be connected to the nexus"); - break; - case MACHINE_HP300: if (num != QUES) dev->d_addr = num; break; - - case MACHINE_I386: - if (!eq(dev->d_name, "isa")) - yyerror("only isa's should be connected to the nexus"); - break; } } diff --git a/usr.sbin/config.old/lang.l b/usr.sbin/config.old/lang.l index cc3eaf297e70..d1e35dc83e9a 100644 --- a/usr.sbin/config.old/lang.l +++ b/usr.sbin/config.old/lang.l @@ -1,5 +1,5 @@ %{ -/* $NetBSD: lang.l,v 1.12 1995/08/17 17:22:11 thorpej Exp $ */ +/* $NetBSD: lang.l,v 1.13 1996/06/10 02:32:23 thorpej Exp $ */ /*- * Copyright (c) 1980 The Regents of the University of California. @@ -53,9 +53,6 @@ struct kt { { "and", AND }, { "args", ARGS }, { "at", AT }, -#if MACHINE_I386 - { "bio", BIO }, -#endif MACHINE_I386 { "config", CONFIG }, { "controller", CONTROLLER }, { "cpu", CPU }, @@ -63,45 +60,22 @@ struct kt { { "device", DEVICE }, { "disk", DISK }, { "drive", DRIVE }, -#if MACHINE_I386 - { "drq", DRQ }, -#endif MACHINE_I386 { "dst", DST }, { "dumps", DUMPS }, { "flags", FLAGS }, -#if MACHINE_I386 - { "high", HIGH }, -#endif MACHINE_I386 { "hz", HZ }, { "ident", IDENT }, { "interleave", INTERLEAVE }, -#if MACHINE_I386 - { "iomem", IOMEM }, - { "iosiz", IOSIZ }, - { "irq", IRQ }, -#endif MACHINE_I386 { "machine", MACHIN }, { "major", MAJOR }, { "makeoptions", MAKEOPTIONS }, -#if MACHINE_AMIGA - { "manufacturer", MANUFACTURER }, -#endif { "master", MASTER }, { "maxusers", MAXUSERS }, { "minor", MINOR }, -#if MACHINE_I386 - { "net", NET }, -#endif MACHINE_I386 { "nexus", NEXUS }, { "on", ON }, { "options", OPTIONS }, -#if MACHINE_I386 - { "port", PORT }, -#endif MACHINE_I386 { "priority", PRIORITY }, -#if MACHINE_AMIGA - { "product", PRODUCT }, -#endif { "pseudo-device",PSEUDO_DEVICE }, { "root", ROOT }, { "sequential", SEQUENTIAL }, @@ -112,9 +86,6 @@ struct kt { { "slave", SLAVE }, { "swap", SWAP }, { "tape", DEVICE }, -#if MACHINE_I386 - { "tty", TTY }, -#endif MACHINE_I386 { "timezone", TIMEZONE }, { "trace", TRACE }, { "vector", VECTOR }, diff --git a/usr.sbin/config.old/main.c b/usr.sbin/config.old/main.c index 1ffb3dadedef..847c0e344d1c 100644 --- a/usr.sbin/config.old/main.c +++ b/usr.sbin/config.old/main.c @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.13 1995/08/17 17:22:12 thorpej Exp $ */ +/* $NetBSD: main.c,v 1.14 1996/06/10 02:32:24 thorpej Exp $ */ /* * Copyright (c) 1980 Regents of the University of California. @@ -41,7 +41,7 @@ char copyright[] = #ifndef lint /*static char sccsid[] = "from: @(#)main.c 5.17 (Berkeley) 7/1/91";*/ -static char rcsid[] = "$NetBSD: main.c,v 1.13 1995/08/17 17:22:12 thorpej Exp $"; +static char rcsid[] = "$NetBSD: main.c,v 1.14 1996/06/10 02:32:24 thorpej Exp $"; #endif /* not lint */ #include @@ -116,41 +116,13 @@ usage: fputs("usage: config.old [-gkp] sysname\n", stderr); exit(3); switch (machine) { - case MACHINE_VAX: - vax_ioconf(); /* Print ioconf.c */ - ubglue(); /* Create ubglue.s */ - break; - - case MACHINE_TAHOE: - tahoe_ioconf(); - vbglue(); - break; - case MACHINE_HP300: hp300_ioconf(); hpglue(); break; - case MACHINE_I386: - i386_ioconf(); /* Print ioconf.c */ - i386_vector(); /* Create vector.s */ - break; - - case MACHINE_PC532: - pc532_ioconf(); /* Print ioconf.c */ - break; - - case MACHINE_PMAX: - pmax_ioconf(); - break; - - case MACHINE_AMIGA: - amiga_ioconf(); - amigaglue(); - break; - default: - printf("Specify machine type, e.g. ``machine vax''\n"); + printf("Specify machine type, e.g. ``machine hp300''\n"); exit(1); } /* diff --git a/usr.sbin/config.old/mkioconf.c b/usr.sbin/config.old/mkioconf.c index 0d588b8e5a17..ce07db93a38b 100644 --- a/usr.sbin/config.old/mkioconf.c +++ b/usr.sbin/config.old/mkioconf.c @@ -1,4 +1,4 @@ -/* $NetBSD: mkioconf.c,v 1.37 1995/08/17 17:22:17 thorpej Exp $ */ +/* $NetBSD: mkioconf.c,v 1.38 1996/06/10 02:32:25 thorpej Exp $ */ /* * Copyright (c) 1980 Regents of the University of California. @@ -35,7 +35,7 @@ #ifndef lint /*static char sccsid[] = "from: @(#)mkioconf.c 5.18 (Berkeley) 5/10/91";*/ -static char rcsid[] = "$NetBSD: mkioconf.c,v 1.37 1995/08/17 17:22:17 thorpej Exp $"; +static char rcsid[] = "$NetBSD: mkioconf.c,v 1.38 1996/06/10 02:32:25 thorpej Exp $"; #endif /* not lint */ #include @@ -90,427 +90,6 @@ pseudo_init(fp) fprintf(fp, "\t{ 0, 0 }\n};\n"); } -#if MACHINE_VAX -vax_ioconf() -{ - register struct device *dp, *mp, *np; - register int uba_n, slave; - FILE *fp; - - fp = fopen(path("ioconf.c"), "w"); - if (fp == 0) { - perror(path("ioconf.c")); - exit(1); - } - fprintf(fp, "#include \"vax/include/pte.h\"\n"); - fprintf(fp, "#include \"sys/param.h\"\n"); - fprintf(fp, "#include \"sys/device.h\"\n"); - fprintf(fp, "#include \"sys/buf.h\"\n"); - fprintf(fp, "#include \"sys/map.h\"\n"); - fprintf(fp, "\n"); - fprintf(fp, "#include \"vax/mba/mbavar.h\"\n"); - fprintf(fp, "#include \"vax/uba/ubavar.h\"\n\n"); - fprintf(fp, "\n"); - fprintf(fp, "#define C (caddr_t)\n\n"); - /* - * First print the mba initialization structures - */ - if (seen_mba) { - for (dp = dtab; dp != 0; dp = dp->d_next) { - mp = dp->d_conn; - if (mp == 0 || mp == TO_NEXUS || - !eq(mp->d_name, "mba")) - continue; - fprintf(fp, "extern struct mba_driver %sdriver;\n", - dp->d_name); - } - fprintf(fp, "\nstruct mba_device mbdinit[] = {\n"); - fprintf(fp, "\t/* Device, Unit, Mba, Drive, Dk */\n"); - for (dp = dtab; dp != 0; dp = dp->d_next) { - mp = dp->d_conn; - if (dp->d_unit == QUES || mp == 0 || - mp == TO_NEXUS || !eq(mp->d_name, "mba")) - continue; - if (dp->d_addr) { - printf("can't specify csr address on mba for %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - if (dp->d_vec != 0) { - printf("can't specify vector for %s%d on mba\n", - dp->d_name, dp->d_unit); - continue; - } - if (dp->d_drive == UNKNOWN) { - printf("drive not specified for %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - if (dp->d_slave != UNKNOWN) { - printf("can't specify slave number for %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - fprintf(fp, "\t{ &%sdriver, %d, %s,", - dp->d_name, dp->d_unit, qu(mp->d_unit)); - fprintf(fp, " %s, %d },\n", - qu(dp->d_drive), dp->d_dk); - } - fprintf(fp, "\t0\n};\n\n"); - /* - * Print the mbsinit structure - * Driver Controller Unit Slave - */ - fprintf(fp, "struct mba_slave mbsinit [] = {\n"); - fprintf(fp, "\t/* Driver, Ctlr, Unit, Slave */\n"); - for (dp = dtab; dp != 0; dp = dp->d_next) { - /* - * All slaves are connected to something which - * is connected to the massbus. - */ - if ((mp = dp->d_conn) == 0 || mp == TO_NEXUS) - continue; - np = mp->d_conn; - if (np == 0 || np == TO_NEXUS || - !eq(np->d_name, "mba")) - continue; - fprintf(fp, "\t{ &%sdriver, %s", - mp->d_name, qu(mp->d_unit)); - fprintf(fp, ", %2d, %s },\n", - dp->d_unit, qu(dp->d_slave)); - } - fprintf(fp, "\t0\n};\n\n"); - } - /* - * Now generate interrupt vectors for the unibus - */ - for (dp = dtab; dp != 0; dp = dp->d_next) { - if (dp->d_vec != 0) { - struct idlst *ip; - mp = dp->d_conn; - if (mp == 0 || mp == TO_NEXUS || - (!eq(mp->d_name, "uba") && !eq(mp->d_name, "bi"))) - continue; - fprintf(fp, - "extern struct uba_driver %sdriver;\n", - dp->d_name); - fprintf(fp, "extern "); - ip = dp->d_vec; - for (;;) { - fprintf(fp, "X%s%d()", ip->id, dp->d_unit); - ip = ip->id_next; - if (ip == 0) - break; - fprintf(fp, ", "); - } - fprintf(fp, ";\n"); - fprintf(fp, "int\t (*%sint%d[])() = { ", dp->d_name, - dp->d_unit); - ip = dp->d_vec; - for (;;) { - fprintf(fp, "X%s%d", ip->id, dp->d_unit); - ip = ip->id_next; - if (ip == 0) - break; - fprintf(fp, ", "); - } - fprintf(fp, ", 0 } ;\n"); - } - } - fprintf(fp, "\nstruct uba_ctlr ubminit[] = {\n"); - fprintf(fp, "/*\t driver,\tctlr,\tubanum,\talive,\tintr,\taddr */\n"); - for (dp = dtab; dp != 0; dp = dp->d_next) { - mp = dp->d_conn; - if (dp->d_type != CONTROLLER || mp == TO_NEXUS || mp == 0 || - !eq(mp->d_name, "uba")) - continue; - if (dp->d_vec == 0) { - printf("must specify vector for %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - if (dp->d_addr == 0) { - printf("must specify csr address for %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - if (dp->d_drive != UNKNOWN || dp->d_slave != UNKNOWN) { - printf("drives need their own entries; dont "); - printf("specify drive or slave for %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - if (dp->d_flags) { - printf("controllers (e.g. %s%d) ", - dp->d_name, dp->d_unit); - printf("don't have flags, only devices do\n"); - continue; - } - fprintf(fp, - "\t{ &%sdriver,\t%d,\t%s,\t0,\t%sint%d, C 0%o },\n", - dp->d_name, dp->d_unit, qu(mp->d_unit), - dp->d_name, dp->d_unit, dp->d_addr); - } - fprintf(fp, "\t0\n};\n"); - /* unibus devices */ - fprintf(fp, "\nstruct uba_device ubdinit[] = {\n"); - fprintf(fp, - "\t/* driver, unit, ctlr, ubanum, slave, intr, addr, dk, flags*/\n"); - for (dp = dtab; dp != 0; dp = dp->d_next) { - mp = dp->d_conn; - if (dp->d_unit == QUES || dp->d_type != DEVICE || mp == 0 || - mp == TO_NEXUS || mp->d_type == MASTER || - eq(mp->d_name, "mba")) - continue; - np = mp->d_conn; - if (np != 0 && np != TO_NEXUS && eq(np->d_name, "mba")) - continue; - np = 0; - if (eq(mp->d_name, "uba")) { - if (dp->d_vec == 0) { - printf("must specify vector for device %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - if (dp->d_addr == 0) { - printf("must specify csr for device %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - if (dp->d_drive != UNKNOWN || dp->d_slave != UNKNOWN) { - printf("drives/slaves can be specified "); - printf("only for controllers, "); - printf("not for device %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - uba_n = mp->d_unit; - slave = QUES; - } else { - if ((np = mp->d_conn) == 0) { - printf("%s%d isn't connected to anything ", - mp->d_name, mp->d_unit); - printf(", so %s%d is unattached\n", - dp->d_name, dp->d_unit); - continue; - } - uba_n = np->d_unit; - if (dp->d_drive == UNKNOWN) { - printf("must specify ``drive number'' "); - printf("for %s%d\n", dp->d_name, dp->d_unit); - continue; - } - /* NOTE THAT ON THE UNIBUS ``drive'' IS STORED IN */ - /* ``SLAVE'' AND WE DON'T WANT A SLAVE SPECIFIED */ - if (dp->d_slave != UNKNOWN) { - printf("slave numbers should be given only "); - printf("for massbus tapes, not for %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - if (dp->d_vec != 0) { - printf("interrupt vectors should not be "); - printf("given for drive %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - if (dp->d_addr != 0) { - printf("csr addresses should be given only "); - printf("on controllers, not on %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - slave = dp->d_drive; - } - fprintf(fp, "\t{ &%sdriver, %2d, %s,", - eq(mp->d_name, "uba") ? dp->d_name : mp->d_name, dp->d_unit, - eq(mp->d_name, "uba") ? " -1" : qu(mp->d_unit)); - fprintf(fp, " %s, %2d, %s, C 0%-6o, %d, 0x%x },\n", - qu(uba_n), slave, intv(dp), dp->d_addr, dp->d_dk, - dp->d_flags); - } - fprintf(fp, "\t0\n};\n"); - pseudo_init(fp); - (void) fclose(fp); -} -#endif - -#if MACHINE_TAHOE -tahoe_ioconf() -{ - register struct device *dp, *mp, *np; - register int vba_n, slave; - FILE *fp; - - fp = fopen(path("ioconf.c"), "w"); - if (fp == 0) { - perror(path("ioconf.c")); - exit(1); - } - fprintf(fp, "#include \"sys/param.h\"\n"); - fprintf(fp, "#include \"tahoe/include/pte.h\"\n"); - fprintf(fp, "#include \"sys/device.h\"\n"); - fprintf(fp, "#include \"sys/buf.h\"\n"); - fprintf(fp, "#include \"sys/map.h\"\n"); - fprintf(fp, "\n"); - fprintf(fp, "#include \"tahoe/vba/vbavar.h\"\n"); - fprintf(fp, "\n"); - fprintf(fp, "#define C (caddr_t)\n\n"); - /* - * Now generate interrupt vectors for the versabus - */ - for (dp = dtab; dp != 0; dp = dp->d_next) { - mp = dp->d_conn; - if (mp == 0 || mp == TO_NEXUS || !eq(mp->d_name, "vba")) - continue; - if (dp->d_vec != 0) { - struct idlst *ip; - fprintf(fp, - "extern struct vba_driver %sdriver;\n", - dp->d_name); - fprintf(fp, "extern "); - ip = dp->d_vec; - for (;;) { - fprintf(fp, "X%s%d()", ip->id, dp->d_unit); - ip = ip->id_next; - if (ip == 0) - break; - fprintf(fp, ", "); - } - fprintf(fp, ";\n"); - fprintf(fp, "int\t (*%sint%d[])() = { ", dp->d_name, - dp->d_unit); - ip = dp->d_vec; - for (;;) { - fprintf(fp, "X%s%d", ip->id, dp->d_unit); - ip = ip->id_next; - if (ip == 0) - break; - fprintf(fp, ", "); - } - fprintf(fp, ", 0 } ;\n"); - } else if (dp->d_type == DRIVER) /* devices w/o interrupts */ - fprintf(fp, - "extern struct vba_driver %sdriver;\n", - dp->d_name); - } - fprintf(fp, "\nstruct vba_ctlr vbminit[] = {\n"); - fprintf(fp, "/*\t driver,\tctlr,\tvbanum,\talive,\tintr,\taddr */\n"); - for (dp = dtab; dp != 0; dp = dp->d_next) { - mp = dp->d_conn; - if (dp->d_type != CONTROLLER || mp == TO_NEXUS || mp == 0 || - !eq(mp->d_name, "vba")) - continue; - if (dp->d_vec == 0) { - printf("must specify vector for %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - if (dp->d_addr == 0) { - printf("must specify csr address for %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - if (dp->d_drive != UNKNOWN || dp->d_slave != UNKNOWN) { - printf("drives need their own entries; dont "); - printf("specify drive or slave for %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - if (dp->d_flags) { - printf("controllers (e.g. %s%d) ", - dp->d_name, dp->d_unit); - printf("don't have flags, only devices do\n"); - continue; - } - fprintf(fp, - "\t{ &%sdriver,\t%d,\t%s,\t0,\t%sint%d, C 0x%x },\n", - dp->d_name, dp->d_unit, qu(mp->d_unit), - dp->d_name, dp->d_unit, dp->d_addr); - } - fprintf(fp, "\t0\n};\n"); - /* versabus devices */ - fprintf(fp, "\nstruct vba_device vbdinit[] = {\n"); - fprintf(fp, - "\t/* driver, unit, ctlr, vbanum, slave, intr, addr, dk, flags*/\n"); - for (dp = dtab; dp != 0; dp = dp->d_next) { - mp = dp->d_conn; - if (dp->d_unit == QUES || dp->d_type != DEVICE || mp == 0 || - mp == TO_NEXUS || mp->d_type == MASTER || - eq(mp->d_name, "mba")) - continue; - np = mp->d_conn; - if (np != 0 && np != TO_NEXUS && eq(np->d_name, "mba")) - continue; - np = 0; - if (eq(mp->d_name, "vba")) { - if (dp->d_vec == 0) - printf( - "Warning, no interrupt vector specified for device %s%d\n", - dp->d_name, dp->d_unit); - if (dp->d_addr == 0) { - printf("must specify csr for device %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - if (dp->d_drive != UNKNOWN || dp->d_slave != UNKNOWN) { - printf("drives/slaves can be specified "); - printf("only for controllers, "); - printf("not for device %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - vba_n = mp->d_unit; - slave = QUES; - } else { - if ((np = mp->d_conn) == 0) { - printf("%s%d isn't connected to anything ", - mp->d_name, mp->d_unit); - printf(", so %s%d is unattached\n", - dp->d_name, dp->d_unit); - continue; - } - vba_n = np->d_unit; - if (dp->d_drive == UNKNOWN) { - printf("must specify ``drive number'' "); - printf("for %s%d\n", dp->d_name, dp->d_unit); - continue; - } - /* NOTE THAT ON THE UNIBUS ``drive'' IS STORED IN */ - /* ``SLAVE'' AND WE DON'T WANT A SLAVE SPECIFIED */ - if (dp->d_slave != UNKNOWN) { - printf("slave numbers should be given only "); - printf("for massbus tapes, not for %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - if (dp->d_vec != 0) { - printf("interrupt vectors should not be "); - printf("given for drive %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - if (dp->d_addr != 0) { - printf("csr addresses should be given only "); - printf("on controllers, not on %s%d\n", - dp->d_name, dp->d_unit); - continue; - } - slave = dp->d_drive; - } - fprintf(fp, "\t{ &%sdriver, %2d, %s,", - eq(mp->d_name, "vba") ? dp->d_name : mp->d_name, dp->d_unit, - eq(mp->d_name, "vba") ? " -1" : qu(mp->d_unit)); - fprintf(fp, " %s, %2d, %s, C 0x%-6x, %d, 0x%x },\n", - qu(vba_n), slave, intv(dp), dp->d_addr, dp->d_dk, - dp->d_flags); - } - fprintf(fp, "\t0\n};\n"); - pseudo_init(fp); - (void) fclose(fp); -} -#endif - #if MACHINE_HP300 hp300_ioconf() { @@ -618,7 +197,7 @@ hp300_ioconf() } #define ishpibdev(n) (eq(n,"rd") || eq(n,"ct") || eq(n,"mt") || eq(n,"ppi")) -#define isscsidev(n) (eq(n,"sd") || eq(n,"st")) +#define isscsidev(n) (eq(n,"sd") || eq(n,"st") || eq(n,"ac")) hpbadslave(mp, dp) register struct device *dp, *mp; @@ -652,433 +231,3 @@ char * return (errbuf); } #endif - -#if MACHINE_I386 -char *shandler(); -char *sirq(); - -i386_ioconf() -{ - register struct device *dp, *mp, *np; - register int seq = 0; - FILE *fp; - - fp = fopen(path("ioconf.c"), "w"); - if (fp == 0) { - perror(path("ioconf.c")); - exit(1); - } - fprintf(fp, "/*\n"); - fprintf(fp, " * ioconf.c \n"); - fprintf(fp, " * Generated by config.old program\n"); - fprintf(fp, " */\n\n"); - fprintf(fp, "#include \n"); - fprintf(fp, "#include \n"); - fprintf(fp, "#include \n"); - fprintf(fp, "#include \n"); - fprintf(fp, "\n"); - fprintf(fp, "#define C (caddr_t)\n"); - fprintf(fp, "#define D &isa_devtab\n"); - fprintf(fp, "\n"); - /* - * First print the isa initialization structures - */ - if (seen_isa) { - - fprintf(fp, "/*\n"); - fprintf(fp, " * ISA devices\n"); - fprintf(fp, " */\n\n"); - fprintf(fp, "#include \n"); - fprintf(fp, "#include \n"); - fprintf(fp, "#include \n\n"); - - for (dp = dtab; dp != 0; dp = dp->d_next) { - mp = dp->d_conn; - if (mp == 0 || mp == TO_NEXUS) - continue; - fprintf(fp, "extern struct cfdriver %7scd;\n", - dp->d_name); - if (dp->d_irq == 2) { - fprintf(stderr, "remapped irq 2 to irq 9, please update your config file\n"); - dp->d_irq = 9; - } - } - - fprintf(fp, "\nstruct isa_device isa_devtab[] = {\n"); - fprintf(fp, "\ -/* driver iobase irq drq maddr msiz unit flags phys parent */\n"); - for (dp = dtab; dp != 0; dp = dp->d_next) { - mp = dp->d_conn; - if (mp == 0 || mp == TO_NEXUS) - continue; - dp->d_seq = seq++; - } - for (dp = dtab; dp != 0; dp = dp->d_next) { - mp = dp->d_conn; - if (mp == 0 || mp == TO_NEXUS) - continue; - fprintf(fp, "{ &%7scd,", dp->d_name); - if (dp->d_port) - fprintf(fp, " %8s,", dp->d_port); - else - fprintf(fp, " 0x%04x,", dp->d_portn); - fprintf(fp, " %5s, %2d, C 0x%05x, %5d, %2d, 0x%04x, %3d", - sirq(dp->d_irq), dp->d_drq, dp->d_maddr, dp->d_msize, - dp->d_unit, dp->d_flags, - eq(mp->d_name, "isa") ? 0 : - dp->d_drive == UNKNOWN ? dp->d_slave : dp->d_drive); - if (eq(mp->d_name, "isa")) - fprintf(fp, ", NULL"); - else - fprintf(fp, ", D[%2d]", mp->d_seq); - fprintf(fp, " },\n"); - } - fprintf(fp, "0\n};\n"); - } - pseudo_init(fp); - (void) fclose(fp); -} - -/* - * XXX - there should be a general function to print devtabs instead of these - * little pieces of it. - */ - -char * - sirq(int i) -{ - static char buf[20]; - -#if 0 - sprintf(buf, "%d", i); - return buf; -#else - switch(i) { - case -2: - return "0"; - case -1: - return "-1"; - default: - sprintf(buf, "IRQ%d", i); - return buf; - } -#endif -} - -char * - shandler(dp) -struct device *dp; -{ - static char buf[32+20]; - - if(dp->d_irq==-2) - return ("NULL"); - sprintf(buf, "X%.32s%d", dp->d_name, dp->d_unit); - return buf; -} -#endif - -#if MACHINE_PC532 -pc532_ioconf() -{ - struct device *dp, *mp, *np; - int uba_n, slave; - FILE *fp; - - fp = fopen(path("ioconf.c"), "w"); - if (fp == 0) { - perror(path("ioconf.c")); - exit(1); - } - fprintf(fp, "/*\n"); - fprintf(fp, " * ioconf.c \n"); - fprintf(fp, " * Generated by config.old program\n"); - fprintf(fp, " */\n\n"); - fprintf(fp, "#include \"../../dev/device.h\"\n"); - fprintf(fp, "#include \n"); - fprintf(fp, "#include \n"); - fprintf(fp, "#include \n"); - fprintf(fp, "\n"); - - for (dp = dtab; dp != 0; dp = dp->d_next) { - mp = dp->d_conn; - if (dp->d_unit == QUES || mp == 0) - continue; - fprintf(fp, "extern struct pc532_driver %sdriver;\n", mp->d_name); - } - - fprintf(fp, "\nstruct pc532_device pc532_devtab_bio[] = {\n"); - fprintf(fp, "/* driver name unit drive flags alive */\n"); - for (dp = dtab; dp != 0; dp = dp->d_next) { - mp = dp->d_conn; - if (mp == 0 || !eq(dp->d_mask, "bio")) - continue; - fprintf (fp, "{&%sdriver,\t\"%s\",\t%d,\t%d,\t%d,\t0},\n", - mp->d_name, dp->d_name, dp->d_unit, dp->d_drive, dp->d_flags); - } - fprintf(fp, "0\n};\n"); - - fprintf(fp, "\nstruct pc532_device pc532_devtab_tty[] = {\n"); - fprintf(fp, "/* driver name unit scsiid flags alive */\n"); - for (dp = dtab; dp != 0; dp = dp->d_next) { - mp = dp->d_conn; - if (mp == 0 || !eq(dp->d_mask, "tty")) - continue; - fprintf (fp, "{&%sdriver,\t\"%s\",\t%d,\t0,\t0,\t0},\n", - mp->d_name, dp->d_name, dp->d_unit); - } - fprintf(fp, "0\n};\n"); - - fprintf(fp, "\nstruct pc532_device pc532_devtab_net[] = {\n"); - fprintf(fp, "/* driver unit scsiid alive */\n"); - fprintf(fp, "0\n};\n"); - - pseudo_init(fp); - (void) fclose(fp); -} -#endif - -#if MACHINE_PMAX -pmax_ioconf() -{ - register struct device *dp, *mp; - FILE *fp; - - fp = fopen(path("ioconf.c"), "w"); - if (fp == 0) { - perror(path("ioconf.c")); - exit(1); - } - fprintf(fp, "/*\n"); - fprintf(fp, " * ioconf.c \n"); - fprintf(fp, " * Generated by config.old program\n"); - fprintf(fp, " */\n\n"); - fprintf(fp, "#include \"sys/param.h\"\n"); - fprintf(fp, "#include \"sys/types.h\"\n"); - fprintf(fp, "#include \"sys/device.h\"\n"); - fprintf(fp, "#include \"sys/buf.h\"\n"); - fprintf(fp, "\n"); - fprintf(fp, "#include \"pmax/dev/device.h\"\n\n"); - fprintf(fp, "#define C (char *)\n\n"); - - /* print controller initialization structures */ - for (dp = dtab; dp != 0; dp = dp->d_next) { - if (dp->d_type == PSEUDO_DEVICE) - continue; - fprintf(fp, "extern struct driver %sdriver;\n", dp->d_name); - } - fprintf(fp, "\nstruct pmax_ctlr pmax_cinit[] = {\n"); - fprintf(fp, "/*\tdriver,\t\tunit,\taddr,\t\tflags */\n"); - for (dp = dtab; dp != 0; dp = dp->d_next) { - if (dp->d_type != CONTROLLER && dp->d_type != MASTER) - continue; - if (dp->d_conn != TO_NEXUS) { - printf("%s%s must be attached to a nexus (internal bus)\n", - dp->d_name, wnum(dp->d_unit)); - continue; - } - if (dp->d_drive != UNKNOWN || dp->d_slave != UNKNOWN) { - printf("can't specify drive/slave for %s%s\n", - dp->d_name, wnum(dp->d_unit)); - continue; - } - if (dp->d_unit == UNKNOWN || dp->d_unit == QUES) - dp->d_unit = 0; - fprintf(fp, - "\t{ &%sdriver,\t%d,\tC 0x%x,\t0x%x },\n", - dp->d_name, dp->d_unit, dp->d_addr, dp->d_flags); - } - fprintf(fp, "\t0\n};\n"); - - /* print devices connected to other controllers */ - fprintf(fp, "\nstruct scsi_device scsi_dinit[] = {\n"); - fprintf(fp, - "/*driver,\tcdriver,\tunit,\tctlr,\tdrive,\tslave,\tdk,\tflags*/\n"); - for (dp = dtab; dp != 0; dp = dp->d_next) { - if (dp->d_type == CONTROLLER || dp->d_type == MASTER || - dp->d_type == PSEUDO_DEVICE) - continue; - mp = dp->d_conn; - if (mp == 0 || - (!eq(mp->d_name, "asc") && !eq(mp->d_name, "sii"))) { - printf("%s%s: devices must be attached to a SCSI controller\n", - dp->d_name, wnum(dp->d_unit)); - continue; - } - if ((unsigned)dp->d_drive > 6) { - printf("%s%s: SCSI drive must be in the range 0..6\n", - dp->d_name, wnum(dp->d_unit)); - continue; - } - /* may want to allow QUES later */ - if ((unsigned)dp->d_slave > 7) { - printf("%s%s: SCSI slave (LUN) must be in the range 0..7\n", - dp->d_name, wnum(dp->d_unit)); - continue; - } - fprintf(fp, "{ &%sdriver,\t&%sdriver,", dp->d_name, mp->d_name); - fprintf(fp, "\t%d,\t%d,\t%d,\t%d,\t%d,\t0x%x },\n", - dp->d_unit, mp->d_unit, dp->d_drive, dp->d_slave, - dp->d_dk, dp->d_flags); - } - fprintf(fp, "0\n};\n"); - pseudo_init(fp); - (void) fclose(fp); -} -#endif - -#if MACHINE_AMIGA -amiga_ioconf() -{ - register struct device *dp, *mp, *np; - register int controller, slave; - FILE *fp; - extern char *awnum(); - - fp = fopen(path("ioconf.c"), "w"); - if (fp == 0) { - perror(path("ioconf.c")); - exit(1); - } - fprintf(fp, "#include \"sys/param.h\"\n"); - fprintf(fp, "#include \"sys/buf.h\"\n"); - fprintf(fp, "\n"); - fprintf(fp, "#include \"arch/amiga/dev/device.h\"\n\n"); - fprintf(fp, "\n"); - fprintf(fp, "#define C (caddr_t)\n"); - fprintf(fp, "#define D (struct driver *)\n\n"); - /* - * First print the controller initialization structures - */ - for (dp = dtab; dp != 0; dp = dp->d_next) { - mp = dp->d_conn; - if (dp->d_unit == QUES || mp == 0) - continue; - fprintf(fp, "extern struct driver %sdriver;\n", dp->d_name); - } - fprintf(fp, "\nstruct amiga_ctlr amiga_cinit[] = {\n"); - fprintf(fp, "/*\tdriver,\t\tunit,\talive,\taddr,\tflags */\n"); - for (dp = dtab; dp != 0; dp = dp->d_next) { - mp = dp->d_conn; - if (dp->d_unit == QUES || - dp->d_type != MASTER && dp->d_type != CONTROLLER) - continue; - if (mp != TO_NEXUS) { - printf("%s%s must be attached to an controller\n", - dp->d_name, awnum(dp->d_unit)); - continue; - } - if (dp->d_drive != UNKNOWN || dp->d_slave != UNKNOWN) { - printf("can't specify drive/slave for %s%s\n", - dp->d_name, awnum(dp->d_unit)); - continue; - } - fprintf(fp, - "\t{ &%sdriver,\t%d,\t0,\tC 0x%x,\t0x%x },\n", - dp->d_name, dp->d_unit, dp->d_addr, dp->d_flags); - } - fprintf(fp, "\t0\n};\n"); -/* devices */ - fprintf(fp, "\nstruct amiga_device amiga_dinit[] = {\n"); - fprintf(fp, - "/*driver,\tcdriver,\tunit,\tctlr,\tslave,\taddr,\tdk,\tflags*/\n"); - for (dp = dtab; dp != 0; dp = dp->d_next) { - mp = dp->d_conn; - if (mp == 0 || dp->d_type != DEVICE || amigabadslave(mp, dp)) - continue; - if (mp == TO_NEXUS) { - if (dp->d_drive != UNKNOWN || dp->d_slave != UNKNOWN) { - printf("can't specify drive/slave for %s%s\n", - dp->d_name, awnum(dp->d_unit)); - continue; - } - slave = QUES; - controller = QUES; - } else { - if (dp->d_addr != 0) { - printf("can't specify manufacturer/product for device %s%s\n", - dp->d_name, awnum(dp->d_unit)); - continue; - } - if (mp->d_type == CONTROLLER) { - if (dp->d_drive == UNKNOWN) { - printf("must specify drive for %s%s\n", - dp->d_name, awnum(dp->d_unit)); - continue; - } - slave = dp->d_drive; - } else { - if (dp->d_slave == UNKNOWN) { - printf("must specify slave for %s%s\n", - dp->d_name, awnum(dp->d_unit)); - continue; - } - slave = dp->d_slave; - } - controller = mp->d_unit; - } - fprintf(fp, "{ &%sdriver,\t", dp->d_name); - if (mp == TO_NEXUS) - fprintf(fp, "D 0x0,\t"); - else - fprintf(fp, "&%sdriver,", mp->d_name); - fprintf(fp, "\t%d,\t%d,\t%d,\tC 0x%x,\t%d,\t0x%x },\n", - dp->d_unit, controller, slave, - dp->d_addr, dp->d_dk, dp->d_flags); - } - fprintf(fp, "0\n};\n"); - pseudo_init(fp); - (void) fclose(fp); -} - -#define isscsidev(n) (eq(n,"sd") || eq(n,"st")) - -amigabadslave(mp, dp) - register struct device *dp, *mp; -{ - extern char *awnum(); - - if (mp == TO_NEXUS && isscsidev(dp->d_name) || - mp != TO_NEXUS && eq(mp->d_name, "scsi") && - !isscsidev(dp->d_name)) { - printf("%s%s must be attached to a scsi\n", - dp->d_name, awnum(dp->d_unit)); - return (1); - } - return (0); -} - -char * -awnum(num) -{ - - if (num == QUES || num == UNKNOWN) - return ("?"); - (void) sprintf(errbuf, "%d", num); - return (errbuf); -} -#endif - - -char * -intv(dev) -register struct device *dev; -{ - static char buf[20]; - - if (dev->d_vec == 0) - return (" 0"); - (void) sprintf(buf, "%sint%d", dev->d_name, dev->d_unit); - return (buf); -} - -char * -qu(num) -{ - if (num == QUES) - return ("'?'"); - if (num == UNKNOWN) - return (" -1"); - (void) sprintf(errbuf, "%3d", num); - return (errbuf); -} diff --git a/usr.sbin/config.old/mkmakefile.c b/usr.sbin/config.old/mkmakefile.c index 69b1a1cfafe5..b5a864dfd406 100644 --- a/usr.sbin/config.old/mkmakefile.c +++ b/usr.sbin/config.old/mkmakefile.c @@ -1,4 +1,4 @@ -/* $NetBSD: mkmakefile.c,v 1.28 1995/08/17 17:22:18 thorpej Exp $ */ +/* $NetBSD: mkmakefile.c,v 1.29 1996/06/10 02:32:26 thorpej Exp $ */ /* * Copyright (c) 1980,1990 Regents of the University of California. @@ -35,7 +35,7 @@ #ifndef lint /*static char sccsid[] = "from: @(#)mkmakefile.c 5.33 (Berkeley) 7/1/91";*/ -static char rcsid[] = "$NetBSD: mkmakefile.c,v 1.28 1995/08/17 17:22:18 thorpej Exp $"; +static char rcsid[] = "$NetBSD: mkmakefile.c,v 1.29 1996/06/10 02:32:26 thorpej Exp $"; #endif /* not lint */ /* @@ -123,13 +123,7 @@ static struct users { int u_min; int u_max; } users[] = { - { 24, 8, 1024 }, /* MACHINE_VAX */ - { 4, 2, 128 }, /* MACHINE_TAHOE */ { 8, 2, 64 }, /* MACHINE_HP300 */ - { 8, 2, 64 }, /* MACHINE_I386 */ - { 8, 2, 64 }, /* MACHINE_PC532 */ - { 8, 2, 64 }, /* MACHINE_PMAX */ - { 8, 2, 64 }, /* MACHINE_AMIGA */ }; #define NUSERS (sizeof (users) / sizeof (users[0])) @@ -178,7 +172,7 @@ makefile() printf("timezone not specified; gmt assumed\n"); if ((unsigned)machine > NUSERS) { printf("maxusers config info isn't present, using vax\n"); - up = &users[MACHINE_VAX-1]; + up = &users[MACHINE_HP300-1]; } else up = &users[machine-1]; if (maxusers == 0) {