Remove limitations on the 'machine' specification.
authorMatthew Dillon <dillon@dragonflybsd.org>
Sat, 31 Jan 2004 03:26:56 +0000 (03:26 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sat, 31 Jan 2004 03:26:56 +0000 (03:26 +0000)
Loosely-based-on: FreeBSD-5.x

usr.sbin/config/config.h
usr.sbin/config/config.y
usr.sbin/config/main.c
usr.sbin/config/mkioconf.c
usr.sbin/config/mkoptions.c

index b217f20..0c265d8 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)config.h    8.1 (Berkeley) 6/6/93
  * $FreeBSD: src/usr.sbin/config/config.h,v 1.35.2.1 2000/08/03 00:09:56 peter Exp $
- * $DragonFly: src/usr.sbin/config/config.h,v 1.3 2003/11/03 19:31:36 eirikn Exp $
+ * $DragonFly: src/usr.sbin/config/config.h,v 1.4 2004/01/31 03:26:56 dillon Exp $
  */
 
 /*
@@ -108,11 +108,7 @@ struct config {
  * it will build from ``Makefile.i386'' and use ``../i386/inline''
  * in the makerules, etc.
  */
-int    machine;
 char   *machinename;
-#define        MACHINE_I386    1
-#define MACHINE_PC98   2
-#define MACHINE_ALPHA  3
 
 /*
  * For each machine, a set of CPU's may be specified as supported.
index 045344a..f96cf49 100644 (file)
@@ -83,7 +83,7 @@
  *
  *     @(#)config.y    8.1 (Berkeley) 6/6/93
  * $FreeBSD: src/usr.sbin/config/config.y,v 1.42.2.1 2001/01/23 00:09:32 peter Exp $
- * $DragonFly: src/usr.sbin/config/config.y,v 1.3 2003/11/03 19:31:36 eirikn Exp $
+ * $DragonFly: src/usr.sbin/config/config.y,v 1.4 2004/01/31 03:26:56 dillon Exp $
  */
 
 #include <ctype.h>
@@ -134,17 +134,11 @@ Spec:
 Config_spec:
        ARCH Save_id
            = {
-               if (!strcmp($2, "i386")) {
-                       machine = MACHINE_I386;
-                       machinename = "i386";
-               } else if (!strcmp($2, "pc98")) {
-                       machine = MACHINE_PC98;
-                       machinename = "pc98";
-               } else if (!strcmp($2, "alpha")) {
-                       machine = MACHINE_ALPHA;
-                       machinename = "alpha";
-               } else
-                       yyerror("Unknown machine type");
+               if (machinename != NULL) {
+                   errx(1, "%d: only one machine directive is allowed",
+                       yyline);
+               }
+               machinename = $2;
              } |
        CPU Save_id
              = {
index 9166478..035620a 100644 (file)
@@ -33,7 +33,7 @@
  * @(#) Copyright (c) 1980, 1993 The Regents of the University of California.  All rights reserved.
  * @(#)main.c  8.1 (Berkeley) 6/6/93
  * $FreeBSD: src/usr.sbin/config/main.c,v 1.37.2.3 2001/06/13 00:25:53 cg Exp $
- * $DragonFly: src/usr.sbin/config/main.c,v 1.6 2003/11/16 11:51:14 eirikn Exp $
+ * $DragonFly: src/usr.sbin/config/main.c,v 1.7 2004/01/31 03:26:56 dillon Exp $
  */
 
 #include <sys/types.h>
@@ -154,18 +154,11 @@ main(int argc, char **argv)
        dtab = NULL;
        if (yyparse())
                exit(3);
-       switch (machine) {
-
-       case MACHINE_I386:
-       case MACHINE_PC98:
-       case MACHINE_ALPHA:
-               newbus_ioconf();        /* Print ioconf.c */
-               break;
-
-       default:
+       if (machinename == NULL) {
                printf("Specify machine type, e.g. ``machine i386''\n");
                exit(1);
        }
+       newbus_ioconf();
        /*
         * make symbolic links in compilation directory
         * for "sys" (to make genassym.c work along with #include <sys/xxx>)
index a3a5246..9741aee 100644 (file)
@@ -32,7 +32,7 @@
  *
  * @(#)mkioconf.c      8.2 (Berkeley) 1/21/94
  * $FreeBSD: src/usr.sbin/config/mkioconf.c,v 1.62 2000/01/29 18:14:59 peter Exp $
- * $DragonFly: src/usr.sbin/config/mkioconf.c,v 1.4 2003/11/16 11:51:14 eirikn Exp $
+ * $DragonFly: src/usr.sbin/config/mkioconf.c,v 1.5 2004/01/31 03:26:56 dillon Exp $
  */
 
 #include <err.h>
@@ -182,10 +182,7 @@ newbus_ioconf(void)
        fprintf(fp, "\n");
        fprintf(fp, "#include <sys/queue.h>\n");
        fprintf(fp, "#include <sys/sysctl.h>\n");
-       if (machine == MACHINE_PC98)
-               fprintf(fp, "#include <pc98/pc98/pc98.h>\n");
-       else
-               fprintf(fp, "#include <bus/isa/isareg.h>\n");
+       fprintf(fp, "#include <bus/isa/isareg.h>\n");
        fprintf(fp, "#include <sys/bus_private.h>\n");
        fprintf(fp, "\n");
 
index 896cdb7..33f7a68 100644 (file)
@@ -33,7 +33,7 @@
  *
  * @(#)mkheaders.c     8.1 (Berkeley) 6/6/93
  * $FreeBSD: src/usr.sbin/config/mkoptions.c,v 1.17.2.3 2001/12/13 19:18:01 dillon Exp $
- * $DragonFly: src/usr.sbin/config/mkoptions.c,v 1.4 2003/11/16 11:51:14 eirikn Exp $
+ * $DragonFly: src/usr.sbin/config/mkoptions.c,v 1.5 2004/01/31 03:26:56 dillon Exp $
  */
 
 /*
 #include "config.h"
 #include "y.tab.h"
 
-static struct users {
-       int     u_default;
-       int     u_min;
-       int     u_max;
-} users[] = {
-       { 8, 2, 512 },                  /* MACHINE_I386 */
-       { 8, 2, 512 },                  /* MACHINE_PC98 */
-       { 8, 2, 512 },                  /* MACHINE_ALPHA */
-};
-#define        NUSERS  (sizeof (users) / sizeof (users[0]))
-
 static char *lower(char *);
 static void read_options(void);
 static void do_option(char *);
@@ -71,7 +60,6 @@ options(void)
        struct cputype *cp;
        struct opt_list *ol;
        struct opt *op;
-       struct users *up;
 
        /* Fake the cpu types as options. */
        for (cp = cputype; cp != NULL; cp = cp->cpu_next) {
@@ -82,20 +70,15 @@ options(void)
                opt = op;
        }       
 
-       /* Initialize `maxusers'. */
-       if ((unsigned)machine > NUSERS) {
-               printf("maxusers config info isn't present, using i386\n");
-               up = &users[MACHINE_I386 - 1];
-       } else
-               up = &users[machine - 1];
        if (maxusers == 0) {
                /* printf("maxusers not specified; will auto-size\n"); */
                /* maxusers = 0; */
-       } else if (maxusers < up->u_min) {
-               printf("minimum of %d maxusers assumed\n", up->u_min);
-               maxusers = up->u_min;
-       } else if (maxusers > up->u_max)
-               printf("warning: maxusers > %d (%d)\n", up->u_max, maxusers);
+       } else if (maxusers < 2) {
+               puts("minimum of 2 maxusers assumed");
+               maxusers = 2;
+       } else if (maxusers > 512) {
+               printf("warning: maxusers > 512 (%d)\n", maxusers);
+       }
 
        /* Fake MAXUSERS as an option. */
        op = (struct opt *)malloc(sizeof(*op));