Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/etc determine the platform number of disk partitions by looking



details:   https://anonhg.NetBSD.org/src/rev/666bd3c88baa
branches:  trunk
changeset: 553662:666bd3c88baa
user:      jdolecek <jdolecek%NetBSD.org@localhost>
date:      Sun Oct 19 19:07:26 2003 +0000

description:
determine the platform number of disk partitions by looking
at MAXPARTITIONS/OLDMAXPARTITIONS in kernel sources, so that it wouldn't
need to be specified separately in MAKEDEV.conf

change platform MAKEDEV.conf to contain only MD targets and nothing else;
simplify the parsing in MAKEDEV.awk accordingly

diffstat:

 etc/MAKEDEV.awk                   |  79 ++++++++++++++++++++++++++++++++------
 etc/etc.acorn26/MAKEDEV.conf      |   5 +-
 etc/etc.acorn32/MAKEDEV.conf      |   5 +-
 etc/etc.algor/MAKEDEV.conf        |   5 +-
 etc/etc.alpha/MAKEDEV.conf        |   5 +-
 etc/etc.amd64/MAKEDEV.conf        |   5 +-
 etc/etc.amiga/MAKEDEV.conf        |   5 +-
 etc/etc.arc/MAKEDEV.conf          |   5 +-
 etc/etc.atari/MAKEDEV.conf        |   5 +-
 etc/etc.bebox/MAKEDEV.conf        |   5 +-
 etc/etc.cats/MAKEDEV.conf         |   5 +-
 etc/etc.cesfic/MAKEDEV.conf       |   5 +-
 etc/etc.cobalt/MAKEDEV.conf       |   5 +-
 etc/etc.dreamcast/MAKEDEV.conf    |   5 +-
 etc/etc.evbarm/MAKEDEV.conf       |   5 +-
 etc/etc.evbmips/MAKEDEV.conf      |   5 +-
 etc/etc.evbppc/MAKEDEV.conf       |   5 +-
 etc/etc.evbsh3/MAKEDEV.conf       |   5 +-
 etc/etc.evbsh5/MAKEDEV.conf       |   5 +-
 etc/etc.hp300/MAKEDEV.conf        |   5 +-
 etc/etc.hp700/MAKEDEV.conf        |   5 +-
 etc/etc.hpcarm/MAKEDEV.conf       |   5 +-
 etc/etc.hpcmips/MAKEDEV.conf      |   5 +-
 etc/etc.hpcsh/MAKEDEV.conf        |   5 +-
 etc/etc.i386/MAKEDEV.conf         |   5 +-
 etc/etc.ibmnws/MAKEDEV.conf       |   5 +-
 etc/etc.luna68k/MAKEDEV.conf      |   5 +-
 etc/etc.mac68k/MAKEDEV.conf       |   5 +-
 etc/etc.macppc/MAKEDEV.conf       |   5 +-
 etc/etc.mipsco/MAKEDEV.conf       |   5 +-
 etc/etc.mmeye/MAKEDEV.conf        |   5 +-
 etc/etc.mvme68k/MAKEDEV.conf      |   5 +-
 etc/etc.mvmeppc/MAKEDEV.conf      |   5 +-
 etc/etc.netwinder/MAKEDEV.conf    |   5 +-
 etc/etc.news68k/MAKEDEV.conf      |   5 +-
 etc/etc.newsmips/MAKEDEV.conf     |   5 +-
 etc/etc.next68k/MAKEDEV.conf      |   5 +-
 etc/etc.ofppc/MAKEDEV.conf        |   5 +-
 etc/etc.pc532/MAKEDEV.conf        |   5 +-
 etc/etc.playstation2/MAKEDEV.conf |   5 +-
 etc/etc.pmax/MAKEDEV.conf         |   5 +-
 etc/etc.pmppc/MAKEDEV.conf        |   5 +-
 etc/etc.prep/MAKEDEV.conf         |   5 +-
 etc/etc.sandpoint/MAKEDEV.conf    |   5 +-
 etc/etc.sbmips/MAKEDEV.conf       |   5 +-
 etc/etc.sgimips/MAKEDEV.conf      |   5 +-
 etc/etc.shark/MAKEDEV.conf        |   5 +-
 etc/etc.sparc/MAKEDEV.conf        |   5 +-
 etc/etc.sparc64/MAKEDEV.conf      |   5 +-
 etc/etc.sun2/MAKEDEV.conf         |   5 +-
 etc/etc.sun3/MAKEDEV.conf         |   5 +-
 etc/etc.vax/MAKEDEV.conf          |   5 +-
 etc/etc.x68k/MAKEDEV.conf         |   5 +-
 53 files changed, 117 insertions(+), 222 deletions(-)

diffs (truncated from 777 to 300 lines):

diff -r 4e433902735c -r 666bd3c88baa etc/MAKEDEV.awk
--- a/etc/MAKEDEV.awk   Sun Oct 19 18:56:39 2003 +0000
+++ b/etc/MAKEDEV.awk   Sun Oct 19 19:07:26 2003 +0000
@@ -1,6 +1,6 @@
 #!/usr/bin/awk -
 #
-#      $NetBSD: MAKEDEV.awk,v 1.4 2003/10/17 19:01:49 jdolecek Exp $
+#      $NetBSD: MAKEDEV.awk,v 1.5 2003/10/19 19:07:26 jdolecek Exp $
 #
 # Copyright (c) 2003 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -91,25 +91,76 @@
                                        blk[$2] = $4
                        }
                }
+               close(file)
        }
 
-       # read MD config file, and determine disk partitions
-       # and MD device list
+       # read MD config file for MD device targets
        cfgfile = "etc." machine "/MAKEDEV.conf"
+       if (system("test -f '" cfgfile "'") != 0) {
+               print "ERROR: no platform MAKEDEV.conf - '" file "' doesn't exist" > "/dev/stderr"
+               exit 1
+       }
+       # skip first two lines - RCS Id and blank line
+       getline < cfgfile
+       getline < cfgfile
        MDDEV = 0               # MD device targets
-       MKDISK = ""             # routine to create disk devices
        while (getline < cfgfile) {
-               if ($1 ~ "^DISKPARTITIONS=") {
-                       sub(".*=[ \t]*", "")
-                       MKDISK = "makedisk_p" $0
-               } else if (MDDEV) {
-                       if (MDDEV == 1)
-                               MDDEV = $0
-                       else
-                               MDDEV = MDDEV "\n" $0
-               } else if ($1 ~ "^MD_DEVICES=")
-                       MDDEV = 1
+               if (MDDEV)
+                       MDDEV = MDDEV "\n" $0
+               else
+                       MDDEV = $0
        }
+       close(cfgfile)
+
+       # determine number of partitions used by platform
+       # there are three variants in tree:
+       # 1. MAXPARTITIONS = 8
+       # 2. MAXPARTITIONS = 16 with no back compat mapping
+       # 3. MAXPARTITIONS = 16 with back compat with old limit of 8
+       # currently all archs, which moved from 8->16 use same
+       # scheme for mapping disk minors, high minor offset
+       # if this changes, the below needs to be adjusted and
+       # additional makedisk_p16foo needs to be added
+       incdir = machine
+       diskpartitions = 0
+       diskbackcompat = 0
+       while (1) {
+               inc = top "arch/" incdir "/include/disklabel.h"
+               if (system("test -f '" inc "'") != 0) {
+                       print "ERROR: can't find kernel include file '" inc "'" > "/dev/stderr"
+                       exit 1
+               }
+               incdir = 0
+               while (getline < inc) {
+                       if ($2 == "MAXPARTITIONS") {
+                               # if 8, we are done; otherwise have
+                               # to check if it's 16 partitions with
+                               # back compat mapping
+                               diskpartitions = $3
+                               if (diskpartitions == 8)
+                                       break;
+                       } else if ($2 == "OLDMAXPARTITIONS") {
+                               diskbackcompat = 1
+                               break
+                       } else if ($1 == "#include" && $2 ~ "<.*/disklabel.h>"){
+                               # wrapper, switch to the right file
+                               incdir = substr($2, 2)
+                               sub("/.*", "", incdir)
+                               break;
+                       }
+               }
+
+               if (diskpartitions)
+                       break;
+
+               if (!incdir) {
+                       print "ERROR: can't determine MAXPARTITIONS from include file '" inc "'" > "/dev/stderr"
+                       exit 1
+               }
+       }
+       MKDISK = "makedisk_p" diskpartitions    # routine to create disk devs
+       if (diskbackcompat)
+               MKDISK = MKDISK "high"
 
        # initially no substitutions
        devsubst = 0
diff -r 4e433902735c -r 666bd3c88baa etc/etc.acorn26/MAKEDEV.conf
--- a/etc/etc.acorn26/MAKEDEV.conf      Sun Oct 19 18:56:39 2003 +0000
+++ b/etc/etc.acorn26/MAKEDEV.conf      Sun Oct 19 19:07:26 2003 +0000
@@ -1,8 +1,5 @@
-# $NetBSD: MAKEDEV.conf,v 1.2 2003/10/19 17:26:24 jdolecek Exp $
+# $NetBSD: MAKEDEV.conf,v 1.3 2003/10/19 19:07:26 jdolecek Exp $
 
-DISKPARTITIONS=8
-
-MD_DEVICES=
 all_md)
        makedev wscons
        makedev wd0 wd1 sd0 sd1
diff -r 4e433902735c -r 666bd3c88baa etc/etc.acorn32/MAKEDEV.conf
--- a/etc/etc.acorn32/MAKEDEV.conf      Sun Oct 19 18:56:39 2003 +0000
+++ b/etc/etc.acorn32/MAKEDEV.conf      Sun Oct 19 19:07:26 2003 +0000
@@ -1,8 +1,5 @@
-# $NetBSD: MAKEDEV.conf,v 1.1 2003/10/15 19:13:32 jdolecek Exp $
+# $NetBSD: MAKEDEV.conf,v 1.2 2003/10/19 19:07:26 jdolecek Exp $
 
-DISKPARTITIONS=8
-
-MD_DEVICES=
 all_md)
        makedev wscons fd0 fd1 wd0 wd1 wd2 wd3 sd0 sd1 sd2 sd3
        makedev tty0 tty1 st0 st1 ch0 cd0 cd1
diff -r 4e433902735c -r 666bd3c88baa etc/etc.algor/MAKEDEV.conf
--- a/etc/etc.algor/MAKEDEV.conf        Sun Oct 19 18:56:39 2003 +0000
+++ b/etc/etc.algor/MAKEDEV.conf        Sun Oct 19 19:07:26 2003 +0000
@@ -1,8 +1,5 @@
-# $NetBSD: MAKEDEV.conf,v 1.2 2003/10/19 17:22:42 jdolecek Exp $
+# $NetBSD: MAKEDEV.conf,v 1.3 2003/10/19 19:07:26 jdolecek Exp $
 
-DISKPARTITIONS=8
-
-MD_DEVICES=
 all_md)
        makedev wscons sd0 sd1 sd2 sd3 sd4
        makedev st0 st1 ch0 cd0 cd1
diff -r 4e433902735c -r 666bd3c88baa etc/etc.alpha/MAKEDEV.conf
--- a/etc/etc.alpha/MAKEDEV.conf        Sun Oct 19 18:56:39 2003 +0000
+++ b/etc/etc.alpha/MAKEDEV.conf        Sun Oct 19 19:07:26 2003 +0000
@@ -1,8 +1,5 @@
-# $NetBSD: MAKEDEV.conf,v 1.2 2003/10/19 17:22:42 jdolecek Exp $
+# $NetBSD: MAKEDEV.conf,v 1.3 2003/10/19 19:07:26 jdolecek Exp $
 
-DISKPARTITIONS=8
-
-MD_DEVICES=
 all_md)
        makedev wscons sd0 sd1 sd2 sd3 sd4
        makedev st0 st1 ch0 cd0 cd1
diff -r 4e433902735c -r 666bd3c88baa etc/etc.amd64/MAKEDEV.conf
--- a/etc/etc.amd64/MAKEDEV.conf        Sun Oct 19 18:56:39 2003 +0000
+++ b/etc/etc.amd64/MAKEDEV.conf        Sun Oct 19 19:07:26 2003 +0000
@@ -1,8 +1,5 @@
-# $NetBSD: MAKEDEV.conf,v 1.2 2003/10/17 19:22:58 jdolecek Exp $
+# $NetBSD: MAKEDEV.conf,v 1.3 2003/10/19 19:07:26 jdolecek Exp $
 
-DISKPARTITIONS=16
-
-MD_DEVICES=
 # As of 2003-04-17, the "init" case must not create more than 890 entries.
 init)
        makedev std wscons wt0 fd0 fd1 wd0 wd1 wd2 wd3 sd0 sd1 sd2 sd3 sd4
diff -r 4e433902735c -r 666bd3c88baa etc/etc.amiga/MAKEDEV.conf
--- a/etc/etc.amiga/MAKEDEV.conf        Sun Oct 19 18:56:39 2003 +0000
+++ b/etc/etc.amiga/MAKEDEV.conf        Sun Oct 19 19:07:26 2003 +0000
@@ -1,8 +1,5 @@
-# $NetBSD: MAKEDEV.conf,v 1.2 2003/10/19 17:24:14 jdolecek Exp $
+# $NetBSD: MAKEDEV.conf,v 1.3 2003/10/19 19:07:26 jdolecek Exp $
 
-DISKPARTITIONS=16
-
-MD_DEVICES=
 all_md)
        makedev wscons fd0 fd1 fd2 fd3 kbd mouse0 mouse1 par0
        makedev lpt0 lpt1 lpt2 lpt3
diff -r 4e433902735c -r 666bd3c88baa etc/etc.arc/MAKEDEV.conf
--- a/etc/etc.arc/MAKEDEV.conf  Sun Oct 19 18:56:39 2003 +0000
+++ b/etc/etc.arc/MAKEDEV.conf  Sun Oct 19 19:07:26 2003 +0000
@@ -1,8 +1,5 @@
-# $NetBSD: MAKEDEV.conf,v 1.2 2003/10/19 17:26:24 jdolecek Exp $
+# $NetBSD: MAKEDEV.conf,v 1.3 2003/10/19 19:07:26 jdolecek Exp $
 
-DISKPARTITIONS=16
-
-MD_DEVICES=
 all_md)
        makedev wscons sd0 sd1 sd2 sd3 sd4
        makedev st0 st1 ch0 cd0 cd1 vnd0 vnd1 vnd2 vnd3
diff -r 4e433902735c -r 666bd3c88baa etc/etc.atari/MAKEDEV.conf
--- a/etc/etc.atari/MAKEDEV.conf        Sun Oct 19 18:56:39 2003 +0000
+++ b/etc/etc.atari/MAKEDEV.conf        Sun Oct 19 19:07:26 2003 +0000
@@ -1,8 +1,5 @@
-# $NetBSD: MAKEDEV.conf,v 1.2 2003/10/19 17:32:13 jdolecek Exp $
+# $NetBSD: MAKEDEV.conf,v 1.3 2003/10/19 19:07:26 jdolecek Exp $
 
-DISKPARTITIONS=16
-
-MD_DEVICES=
 all_md)
        makedev st0 ttye0 ttye1 ttye2 ttye3 ttye4 ttye5 grf0 grf1
        makedev grf2 grf3 grf4 grf5 mouse0 mouse1 rtc etvme leo0
diff -r 4e433902735c -r 666bd3c88baa etc/etc.bebox/MAKEDEV.conf
--- a/etc/etc.bebox/MAKEDEV.conf        Sun Oct 19 18:56:39 2003 +0000
+++ b/etc/etc.bebox/MAKEDEV.conf        Sun Oct 19 19:07:26 2003 +0000
@@ -1,8 +1,5 @@
-# $NetBSD: MAKEDEV.conf,v 1.2 2003/10/19 17:22:42 jdolecek Exp $
+# $NetBSD: MAKEDEV.conf,v 1.3 2003/10/19 19:07:27 jdolecek Exp $
 
-DISKPARTITIONS=16
-
-MD_DEVICES=
 all_md)
        makedev wt0 fd0 fd1 wd0 wd1 wd2 wd3 sd0 sd1 sd2 sd3 sd4
        makedev tty0 tty1
diff -r 4e433902735c -r 666bd3c88baa etc/etc.cats/MAKEDEV.conf
--- a/etc/etc.cats/MAKEDEV.conf Sun Oct 19 18:56:39 2003 +0000
+++ b/etc/etc.cats/MAKEDEV.conf Sun Oct 19 19:07:26 2003 +0000
@@ -1,8 +1,5 @@
-# $NetBSD: MAKEDEV.conf,v 1.1 2003/10/15 19:13:32 jdolecek Exp $
+# $NetBSD: MAKEDEV.conf,v 1.2 2003/10/19 19:07:27 jdolecek Exp $
 
-DISKPARTITIONS=8
-
-MD_DEVICES=
 all_md)
        makedev wscons fd0 fd1 wd0 wd1 wd2 wd3 sd0 sd1 sd2 sd3
        makedev tty0 tty1 st0 st1 ch0 cd0 cd1
diff -r 4e433902735c -r 666bd3c88baa etc/etc.cesfic/MAKEDEV.conf
--- a/etc/etc.cesfic/MAKEDEV.conf       Sun Oct 19 18:56:39 2003 +0000
+++ b/etc/etc.cesfic/MAKEDEV.conf       Sun Oct 19 19:07:26 2003 +0000
@@ -1,8 +1,5 @@
-# $NetBSD: MAKEDEV.conf,v 1.1 2003/10/15 19:13:32 jdolecek Exp $
+# $NetBSD: MAKEDEV.conf,v 1.2 2003/10/19 19:07:27 jdolecek Exp $
 
-DISKPARTITIONS=8
-
-MD_DEVICES=
 all_md)
        makedev tty0 tty1
        ;;
diff -r 4e433902735c -r 666bd3c88baa etc/etc.cobalt/MAKEDEV.conf
--- a/etc/etc.cobalt/MAKEDEV.conf       Sun Oct 19 18:56:39 2003 +0000
+++ b/etc/etc.cobalt/MAKEDEV.conf       Sun Oct 19 19:07:26 2003 +0000
@@ -1,8 +1,5 @@
-# $NetBSD: MAKEDEV.conf,v 1.1 2003/10/15 19:13:32 jdolecek Exp $
+# $NetBSD: MAKEDEV.conf,v 1.2 2003/10/19 19:07:27 jdolecek Exp $
 
-DISKPARTITIONS=16
-
-MD_DEVICES=
 all_md)
        makedev wd0 wd1 sd0 sd1 sd2 sd3
        makedev st0 st1 ch0 cd0 cd1
diff -r 4e433902735c -r 666bd3c88baa etc/etc.dreamcast/MAKEDEV.conf
--- a/etc/etc.dreamcast/MAKEDEV.conf    Sun Oct 19 18:56:39 2003 +0000
+++ b/etc/etc.dreamcast/MAKEDEV.conf    Sun Oct 19 19:07:26 2003 +0000
@@ -1,8 +1,5 @@
-# $NetBSD: MAKEDEV.conf,v 1.1 2003/10/15 19:13:32 jdolecek Exp $
+# $NetBSD: MAKEDEV.conf,v 1.2 2003/10/19 19:07:27 jdolecek Exp $
 
-DISKPARTITIONS=16
-
-MD_DEVICES=
 all_md)
        makedev wscons gdrom0 maple
        makedev scif0 sci0
diff -r 4e433902735c -r 666bd3c88baa etc/etc.evbarm/MAKEDEV.conf
--- a/etc/etc.evbarm/MAKEDEV.conf       Sun Oct 19 18:56:39 2003 +0000
+++ b/etc/etc.evbarm/MAKEDEV.conf       Sun Oct 19 19:07:26 2003 +0000
@@ -1,8 +1,5 @@
-# $NetBSD: MAKEDEV.conf,v 1.1 2003/10/15 19:13:32 jdolecek Exp $
+# $NetBSD: MAKEDEV.conf,v 1.2 2003/10/19 19:07:27 jdolecek Exp $
 
-DISKPARTITIONS=8
-
-MD_DEVICES=
 all_md)
        makedev wscons fd0 fd1 wd0 wd1 wd2 wd3 sd0 sd1 sd2 sd3
        makedev tty0 tty1 st0 st1 ch0 cd0 cd1
diff -r 4e433902735c -r 666bd3c88baa etc/etc.evbmips/MAKEDEV.conf
--- a/etc/etc.evbmips/MAKEDEV.conf      Sun Oct 19 18:56:39 2003 +0000
+++ b/etc/etc.evbmips/MAKEDEV.conf      Sun Oct 19 19:07:26 2003 +0000
@@ -1,8 +1,5 @@
-# $NetBSD: MAKEDEV.conf,v 1.2 2003/10/19 17:32:13 jdolecek Exp $
+# $NetBSD: MAKEDEV.conf,v 1.3 2003/10/19 19:07:27 jdolecek Exp $
 
-DISKPARTITIONS=16
-
-MD_DEVICES=
 all_md)
        makedev wscons sd0 sd1 sd2 sd3 sd4
        makedev st0 st1 ch0 cd0 cd1
diff -r 4e433902735c -r 666bd3c88baa etc/etc.evbppc/MAKEDEV.conf
--- a/etc/etc.evbppc/MAKEDEV.conf       Sun Oct 19 18:56:39 2003 +0000
+++ b/etc/etc.evbppc/MAKEDEV.conf       Sun Oct 19 19:07:26 2003 +0000
@@ -1,8 +1,5 @@



Home | Main Index | Thread Index | Old Index