[BACK]Return to MAKEDEV.tmpl CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / etc

Annotation of src/etc/MAKEDEV.tmpl, Revision 1.18

1.1       jdolecek    1: #!/bin/sh -
1.18    ! jdolecek    2: #      $NetBSD: MAKEDEV.tmpl,v 1.17 2004/01/14 05:13:53 blymn Exp $
1.1       jdolecek    3: #
                      4: # Copyright (c) 2003 The NetBSD Foundation, Inc.
                      5: # All rights reserved.
                      6: #
                      7: # Redistribution and use in source and binary forms, with or without
                      8: # modification, are permitted provided that the following conditions
                      9: # are met:
                     10: # 1. Redistributions of source code must retain the above copyright
                     11: #    notice, this list of conditions and the following disclaimer.
                     12: # 2. Redistributions in binary form must reproduce the above copyright
                     13: #    notice, this list of conditions and the following disclaimer in the
                     14: #    documentation and/or other materials provided with the distribution.
                     15: # 3. All advertising materials mentioning features or use of this software
                     16: #    must display the following acknowledgement:
                     17: #        This product includes software developed by the NetBSD
                     18: #        Foundation, Inc. and its contributors.
                     19: # 4. Neither the name of The NetBSD Foundation nor the names of its
                     20: #    contributors may be used to endorse or promote products derived
                     21: #    from this software without specific prior written permission.
                     22: #
                     23: # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
                     24: # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
                     25: # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
                     26: # PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
                     27: # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                     28: # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                     29: # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                     30: # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                     31: # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                     32: # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                     33: # POSSIBILITY OF SUCH DAMAGE.
                     34: #
                     35: #
                     36: ###########################################################################
                     37: #
                     38: #   PLEASE RUN "cd ../share/man/man8 ; make makedevs"
                     39: #   AFTER CHANGING THIS FILE, AND COMMIT THE UPDATED MANPAGE!
                     40: #
                     41: ###########################################################################
                     42: #
                     43: # Device "make" file.  Valid arguments:
                     44: #      all     makes all known devices, including local devices.
                     45: #              Tries to make the 'standard' number of each type.
                     46: #      init    A set of devices that is used for MFS /dev by init.
                     47: #              May be equal to "all".
                     48: #      floppy  devices to be put on install floppies
                     49: #      ramdisk devices to be put into INSTALL kernel ramdisks.
                     50: #      std     standard devices
                     51: #      local   configuration specific devices
                     52: #      usbs    make USB devices
                     53: #      isdns   make ISDN devices
                     54: #
                     55: # Tapes:
                     56: #      st*     SCSI tapes
                     57: #      wt*     QIC-interfaced (e.g. not SCSI) 3M cartridge tape
                     58: #      ht*     MASSBUS TM03 and TU??
                     59: #      mt*     MSCP tapes (e.g. TU81, TK50)
                     60: #      tm*     UNIBUS TM11 and TE10 emulations (e.g. Emulex TC-11)
                     61: #      ts*     UNIBUS TS11
                     62: #      ut*     UNIBUS TU45 emulations (e.g. si 9700)
                     63: #      uu*     TU58 cassettes on DL11 controller
                     64: #
                     65: # Disks:
                     66: #      ccd*    concatenated disk devices
                     67: #      cd*     SCSI or ATAPI CD-ROM
                     68: #      cgd*    cryptographic disk devices
                     69: #      raid*   RAIDframe disk devices
                     70: #      sd*     SCSI disks
                     71: #      wd*     "winchester" disk drives (ST506,IDE,ESDI,RLL,...)
                     72: #      bmd*    Nereid bank memory disks
                     73: #      ed*     IBM PS/2 ESDI disk devices
                     74: #      fd*     "floppy" disk drives (3 1/2", 5 1/4")
1.11      hannken    75: #      fss*    Files system snapshot devices
1.1       jdolecek   76: #      gdrom*  Dreamcast "gigadisc" CD-ROM drive
                     77: #      hk*     UNIBUS RK06 and RK07
                     78: #      hp*     MASSBUS RM??
                     79: #      ld*     Logical disk devices (e.g., hardware RAID)
                     80: #      mcd*    Mitsumi CD-ROM
                     81: #      md*     memory pseudo-disk devices
                     82: #      ofdisk* OpenFirmware disk devices
                     83: #      ra*     MSCP disks (RA??, RD??)
                     84: #      rb*     730 IDC w/ RB80 and/or RB02
                     85: #      rd*     HDC9224 RD disks on VS2000
                     86: #      rl*     UNIBUS RL02
                     87: #      rx*     MSCP floppy disk (RX33/50/...)
                     88: #      up*     other UNIBUS devices (e.g. on Emulex SC-21V controller)
                     89: #      vnd*    "file" pseudo-disks
                     90: #      xd*     Xylogic 753/7053 disks
                     91: #      xy*     Xylogic 450/451 disks
                     92: #
                     93: # Pointing devices:
                     94: #      wsmouse* wscons mouse events
                     95: #      lms*    Logitech bus mouse
                     96: #      mms*    Microsoft bus mouse
                     97: #      qms*    "quadrature mouse"
                     98: #      pms*    PS/2 mouse
                     99: #      mouse   mouse (provides events, for X11)
                    100: #
                    101: # Keyboard devices:
                    102: #      wskbd*  wscons keyboard events
                    103: #      kbd     raw keyboard (provides events, for X11)
                    104: #      kbdctl  keyboard control
                    105: #
                    106: # Terminals/Console ports:
                    107: #      tty[01]*        standard serial ports
                    108: #      tty0*   SB1250 ("sbscn") serial ports (sbmips)
                    109: #      ttyE*   wscons - Workstation console ("wscons") glass-tty emulators
                    110: #      ttyCZ?  Cyclades-Z multiport serial boards.  Each "unit"
                    111: #              makes 64 ports.
                    112: #      ttyCY?  Cyclom-Y multiport serial boards. Each "unit" makes
                    113: #              32 ports.
                    114: #      ttye*   ITE bitmapped consoles
                    115: #      ttyv0   pccons
                    116: #      ttyC?   NS16550 ("com") serial ports
                    117: #      ttyS*   SA1110 serial port (hpcarm)
                    118: #      ttyTX?  TX39 internal serial ports (hpcmips)
                    119: #      ttyB?   DEC 3000 ZS8530 ("scc") serial ports (alpha)
                    120: #      ttyA*   mfc serial ports (amiga)
                    121: #      ttyB*   msc serial ports (amiga)
                    122: #      ttyC*   com style serial ports (DraCo, HyperCom) (amiga)
                    123: #              On the DraCo, units 0 and 1 are the built-in "modem" and
                    124: #              "mouse" ports, if configured.
                    125: #      ttyA0   8530 Channel A (formerly ser02) (atari)
                    126: #      ttyA1   8530 Channel B (formerly mdm02) (atari)
                    127: #      ttyB0   UART on first 68901 (formerly mdm01) (atari)
                    128: #      ixpcom  IXP12x0 COM ports
1.9       tsutsui   129: #      ttyM?   HP200/300 4 port serial mux interface (hp300)
1.6       jdolecek  130: #      ttya    "ttya" system console (luna68k)
1.1       jdolecek  131: #      ttyb    second system serial port (luna68k)
                    132: #      tty*    Onboard serial ports (mvme68k)
                    133: #              On the mvme147 these are: ttyZ1, ttyZ2 and ttyZ3.
                    134: #              On the mvme167, and '177: ttyC1, ttyC2 and ttyC3.
                    135: #              Note that tty[CZ]0 is grabbed by the console device
                    136: #              so is not created by default
                    137: #      dc*     PMAX 4 channel serial interface (kbd, mouse, modem, printer)
                    138: #      scc*    82530 serial interface (pmax)
                    139: #      ttyZ*   Zilog 8530 ("zstty") serial ports
                    140: #      tty[abcd]       Built-in serial ports (sparc)
                    141: #      tty*    Z88530 serial controllers (sparc64)
                    142: #      ttyh*   SAB82532 serial controllers (sparc64)
                    143: #      tty[a-j]        Built-in serial ports (sun2, sun3)
                    144: #      ttyC?   pccons (arc)
                    145: #      dz*     UNIBUS DZ11 and DZ32 (vax)
                    146: #      dh*     UNIBUS DH11 and emulations (e.g. Able DMAX, Emulex CS-11) (vax)
                    147: #      dmf*    UNIBUS DMF32 (vax)
                    148: #      dhu*    UNIBUS DHU11 (vax)
                    149: #      dmz*    UNIBUS DMZ32 (vax)
                    150: #      dl*     UNIBUS DL11 (vax)
                    151: #
                    152: # Terminal multiplexors:
                    153: #      dc*     4 channel serial interface (keyboard, mouse, modem, printer)
                    154: #      dh*     UNIBUS DH11 and emulations (e.g. Able DMAX, Emulex CS-11)
                    155: #      dhu*    UNIBUS DHU11
                    156: #      dl*     UNIBUS DL11
                    157: #      dmf*    UNIBUS DMF32
                    158: #      dmz*    UNIBUS DMZ32
                    159: #      dz*     UNIBUS DZ11 and DZ32
                    160: #      scc*    82530 serial interface
                    161: #
                    162: # Call units:
                    163: #      dn*     UNIBUS DN11 and emulations (e.g. Able Quadracall)
                    164: #
                    165: # Pseudo terminals:
                    166: #      pty*    set of 62 master and slave pseudo terminals
                    167: #      opty    first 16 ptys, to save inodes on install media
                    168: #      ipty    first 2 ptys, for install media use only
                    169: #
                    170: # Printers:
                    171: #      arcpp*  Archimedes parallel port
                    172: #      lpt*    stock lp
                    173: #      lpa*    interruptless lp
                    174: #      par*    Amiga motherboard parallel port
                    175: #
                    176: # USB devices:
                    177: #      usb*    USB control devices
                    178: #      uhid*   USB generic HID devices
                    179: #      ulpt*   USB printer devices
                    180: #      ugen*   USB generic devices
                    181: #      urio*   USB Diamond Rio 500 devices
                    182: #      uscanner*       USB scanners
                    183: #      ttyU*   USB modems
                    184: #
                    185: # ISDN devices:
                    186: #      isdn    communication between userland isdnd and kernel
                    187: #      isdnctl control device
                    188: #      isdnbchan* raw b-channel access
                    189: #      isdntel*        telephony device
                    190: #      isdnteld*       telephony dialout device
                    191: #      isdntrc*        trace device
                    192: #
                    193: # Video devices:
                    194: #      bwtwo*  monochromatic frame buffer
                    195: #      cgtwo*  8-bit color frame buffer
                    196: #      cgthree*        8-bit color frame buffer
                    197: #      cgfour* 8-bit color frame buffer
                    198: #      cgsix*  accelerated 8-bit color frame buffer
                    199: #      cgeight*        24-bit color frame buffer
1.6       jdolecek  200: #      etvme   Tseng et-compatible cards on VME (atari)
1.1       jdolecek  201: #      ik*     UNIBUS interface to Ikonas frame buffer
1.6       jdolecek  202: #      leo     Circad Leonardo VME-bus true color (atari)
1.1       jdolecek  203: #      ps*     UNIBUS interface to Picture System 2
                    204: #      qv*     QVSS (MicroVAX) display
                    205: #      tcx*    accelerated 8/24-bit color frame buffer
                    206: #
                    207: # Maple bus devices:
                    208: #      maple   Maple bus control devices
                    209: #      mlcd*   Maple bus LCD devices
                    210: #      mmem*   Maple bus storage devices
                    211: #
                    212: # Special purpose devices:
                    213: #      ad*     UNIBUS interface to Data Translation A/D converter
                    214: #      agp*    AGP GART devices
                    215: #      altq    ALTQ control interface
                    216: #      apm     power management device
                    217: #      audio*  audio devices
                    218: #      beep    PC speaker
1.10      isaki     219: #      bell*   OPM bell device (x68k)
1.1       jdolecek  220: #      bktr    Brooktree 848/849/878/879 based TV cards
                    221: #      bpf*    packet filter
                    222: #      cfs*    Coda file system device
                    223: #      ch*     SCSI media changer
                    224: #      cir*    Consumer IR
                    225: #      clockctl clock control for non root users
                    226: #      crypto  hardware crypto access driver
                    227: #      dmoverio hardware-assisted data movers
                    228: #      dpt*    DPT/Adaptec EATA RAID management interface
                    229: #      dpti*   DPT/Adaptec I2O RAID management interface
1.6       jdolecek  230: #      fb*     PMAX generic framebuffer pseudo-device
1.1       jdolecek  231: #      fd      file descriptors
                    232: #      grf*    graphics frame buffer device
                    233: #      hil     HP300 HIL input devices
                    234: #      icp     ICP-Vortex/Intel RAID control interface
                    235: #      iic*    IIC bus device
                    236: #      iop*    I2O IOP control interface
                    237: #      ipl     IP Filter
                    238: #      irframe* IrDA physical frame
                    239: #      ite*    terminal emulator interface to HP300 graphics devices
                    240: #      joy*    joystick device
                    241: #      kttcp   kernel ttcp helper device
                    242: #      lkm     loadable kernel modules interface
                    243: #      magma*  Magma multiport serial/parallel cards
                    244: #      midi*   MIDI
                    245: #      mlx*    Mylex DAC960 control interface
                    246: #      mly*    Mylex AcceleRAID/eXtremeRAID control interface
                    247: #      np*     UNIBUS Ethernet co-processor interface, for downloading.
                    248: #      nsmb*   SMB requester
                    249: #      openfirm OpenFirmware accessor
                    250: #      pci*    PCI bus access devices
1.6       jdolecek  251: #      pf      PF packet filter (not in tree)
1.10      isaki     252: #      pow*    power management device (x68k)
1.1       jdolecek  253: #      px*     PixelStamp Xserver access
                    254: #      radio*  radio devices
1.8       jdolecek  255: #      random  Random number generator
1.6       jdolecek  256: #      rtc*    RealTimeClock
1.1       jdolecek  257: #      satlink* PlanetConnect satellite receiver driver
1.8       jdolecek  258: #      scsibus* SCSI busses
1.1       jdolecek  259: #      se*     SCSI Ethernet
                    260: #      ses*    SES/SAF-TE SCSI Devices
                    261: #      speaker PC speaker              (XXX - installed)
1.10      isaki     262: #      sram    battery backuped memory (x68k)
1.1       jdolecek  263: #      ss*     SCSI scanner
                    264: #      stic*   PixelStamp interface chip
                    265: #      sysmon  System Monitoring hardware
                    266: #      systrace syscall tracer
                    267: #      tun*    network tunnel driver
                    268: #      twe     3ware Escalade control interface
                    269: #      uk*     unknown SCSI device
                    270: #      veriexec verified executable fingerprint loader
                    271: #      vmegen* generic VME access
                    272: #      view*   generic interface to graphic displays (Amiga)
                    273: #      wsfont* console font control
                    274: #      wsmux*  wscons event multiplexor
                    275:
1.15      lukem     276:
1.16      lukem     277: PATH=/sbin:/usr/sbin:/bin:/usr/bin:/rescue
                    278:
                    279:
1.15      lukem     280: usage()
                    281: {
                    282:        cat 1>&2 << _USAGE_
                    283: Usage: ${0##*/} [-f] [-m mknod] [-s]  special [...]
                    284:        Create listed special devices.  Options:
                    285:        -f              Force permissions to be updated on existing devices.
                    286:        -m mknod        Name of mknod(8) program.  [\$TOOL_MKNOD or mknod]
                    287:        -s              Generate mtree(8) specfile instead of creating devices.
                    288:
                    289: _USAGE_
                    290:        exit 1
                    291: }
                    292:
                    293: do_force=false
                    294: do_specfile=false
                    295: while getopts fm:s ch; do
                    296:        case ${ch} in
                    297:        f)      do_force=true ;;
                    298:        m)      TOOL_MKNOD=${OPTARG} ;;
                    299:        s)      do_specfile=true ;;
                    300:        *)      usage ;;
                    301:        esac
                    302: done
                    303: shift $((${OPTIND} - 1))
                    304: [ $# -gt 0 ] || usage
                    305:
                    306:
                    307: MKNOD="${TOOL_MKNOD:-mknod} -F netbsd"
                    308: if ! $do_force; then
                    309:        MKNOD="${MKNOD} -r"
                    310: fi
                    311:
                    312: u_root="%uid_root%"
                    313: u_uucp="%uid_uucp%"
                    314: g_kmem="%gid_kmem%"
                    315: g_ntpd="%gid_ntpd%"
                    316: g_operator="%gid_operator%"
                    317: g_wheel="%gid_wheel%"
1.1       jdolecek  318: dialin=0
                    319: dialout=524288
                    320: callunit=262144
                    321:
                    322: # only allow read&write for owner by default
                    323: umask 077
                    324:
                    325: # Check if we have fdesc mounted
                    326: if [ -d fd ]; then
                    327:         case "`df fd`" in
1.15      lukem     328:         *fdesc*)       nofdesc=false;;
                    329:         *)             nofdesc=true;;
1.1       jdolecek  330:         esac
                    331: else
                    332:         nofdesc=true
                    333: fi
                    334:
1.15      lukem     335:
                    336: if $do_specfile; then
                    337:        echo ". type=dir"
                    338: fi
                    339:
                    340:
                    341: #
                    342: # functions available to create nodes:
                    343: #
                    344: # mkdev name [b|c] major minor [mode{=600} [gid{=0} [uid{=0}]]]
                    345: #      create device node `name' with the appropriate permissions
                    346: #
                    347: # lndev src target
                    348: #      create a symlink from src to target
                    349: #
                    350: # makedir dir mode
                    351: #      create directory with appropriate mode
                    352: #
                    353:
                    354: mkdev()
                    355: {
                    356:        if $do_specfile; then
                    357:                case $2 in
                    358:                b)      type=block ;;
                    359:                c)      type=char ;;
                    360:                esac
                    361:                echo "./$1 type=${type} device=netbsd,$3,$4 mode=${5:-600} gid=${6:-$g_wheel} uid=${7:-$u_root}"
                    362:        else
                    363:                ${MKNOD} -m ${5:-600} -g \#${6:-$g_wheel} -u \#${7:-$u_root} $1 $2 $3 $4
                    364:        fi
1.1       jdolecek  365: }
                    366:
1.15      lukem     367: lndev()
                    368: {
                    369:        if $do_specfile; then
                    370:                echo "./$2 type=link link=$1 mode=0700 gid=$g_wheel uid=$u_root"
                    371:        else
                    372:                ln -f -s $1 $2
                    373:        fi
                    374: }
                    375:
                    376: makedir()
                    377: {
                    378:        if $do_specfile; then
                    379:                echo "./$1 type=dir mode=$2 gid=$g_wheel uid=$u_root"
                    380:        else
                    381:                mkdir $1 2>/dev/null
                    382:                chmod $2 $1
                    383:        fi
                    384: }
                    385:
1.16      lukem     386: warn()
                    387: {
                    388:        echo 1>&2 "$0: $*"
                    389: }
                    390:
1.15      lukem     391:
                    392:
                    393: # makedev special [...]
                    394: #      the main loop
                    395: #
                    396:
1.1       jdolecek  397: makedev()
                    398: {
                    399:
                    400: for i
                    401: do
                    402:
                    403: case $i in
                    404:
                    405: %MD_DEVICES%
1.2       jdolecek  406:
                    407: all)
                    408:        makedev all_md
                    409:        makedev std fd pty0
                    410:        makedev ccd0 ccd1 ccd2 ccd3
                    411:        makedev cgd0 cgd1 cgd2 cgd3
1.11      hannken   412:        makedev fss0 fss1 fss2 fss3
1.2       jdolecek  413:        makedev md0 md1
                    414:        makedev raid0 raid1 raid2 raid3 raid4 raid5 raid6 raid7
                    415:        makedev vnd0 vnd1 vnd2 vnd3
                    416:        makedev bpf0 bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7
                    417:        makedev tun0 tun1 tun2 tun3
1.4       jdolecek  418:        makedev ipl crypto random systrace
1.2       jdolecek  419:        makedev lkm clockctl
                    420:        makedev local
                    421:        ;;
                    422:
                    423: init)
                    424:        # unless overridden by MD entry, this is equal to 'all'
                    425:        makedev all
                    426:        ;;
1.1       jdolecek  427:
                    428: %MI_DEVICES_BEGIN%
                    429: audio)
                    430:        makedev audio0 audio1 audio2 audio3
1.15      lukem     431:        lndev sound0 sound
                    432:        lndev audio0 audio
                    433:        lndev mixer0 mixer
                    434:        lndev audioctl0 audioctl
1.1       jdolecek  435:        ;;
                    436:
                    437: radio)
                    438:        makedev radio0 radio1
1.15      lukem     439:        lndev radio0 radio
1.1       jdolecek  440:        ;;
                    441:
                    442: ramdisk)
                    443:        makedev floppy md0
                    444:        ;;
                    445:
                    446: usbs)
                    447:        makedev usb usb0 usb1 usb2 usb3 usb4 usb5 usb6 usb7
                    448:        makedev uhid0 uhid1 uhid2 uhid3
                    449:        makedev ulpt0 ulpt1
                    450:        makedev ttyU0 ttyU1
                    451:        makedev urio0
                    452:        makedev uscanner0 uscanner1
                    453:        makedev ugen0
                    454:        ;;
                    455:
                    456: isdns)
                    457:        makedev isdn isdnctl isdnbchan0 isdnbchan1 isdntel0 isdntel1 isdnteld0 isdnteld1 isdntrc0 isdntrc1
                    458:        ;;
                    459:
                    460: std)
1.15      lukem     461:        mkdev           console c %cons_chr% 0  600
                    462:        mkdev           constty c %cons_chr% 1  600
                    463:        mkdev           drum    c %swap_chr% 0  640 $g_kmem
                    464:        mkdev           kmem    c %mem_chr% 1   640 $g_kmem
                    465:        mkdev           mem     c %mem_chr% 0   640 $g_kmem
                    466:        mkdev           null    c %mem_chr% 2   666
                    467:        mkdev           zero    c %mem_chr% 12  666
                    468:        mkdev           klog    c %log_chr% 0   600
                    469:        mkdev           ksyms   c %ksyms_chr% 0 444
1.1       jdolecek  470:        if $nofdesc; then
1.15      lukem     471:                mkdev   tty     c %ctty_chr% 0          666
                    472:                mkdev   stdin   c %filedesc_chr% 0      666
                    473:                mkdev   stdout  c %filedesc_chr% 1      666
                    474:                mkdev   stderr  c %filedesc_chr% 2      666
1.1       jdolecek  475:        fi
                    476:        ;;
                    477:
                    478: usb*)
                    479:        unit=${i#usb}
                    480:        if [ "$unit" = "" ]; then
1.15      lukem     481:                unit=255
                    482:                usb=usb
1.1       jdolecek  483:        else
1.15      lukem     484:                usb=usb$unit
1.1       jdolecek  485:        fi
1.15      lukem     486:        mkdev $usb c %usb_chr% $unit
1.1       jdolecek  487:        ;;
                    488:
                    489: uhid*)
                    490:        unit=${i#uhid}
1.15      lukem     491:        mkdev uhid$unit c %uhid_chr% $unit 666
1.1       jdolecek  492:        ;;
                    493:
                    494: ulpt*)
                    495:        unit=${i#ulpt}
1.15      lukem     496:        mkdev ulpt$unit c %ulpt_chr% $unit
                    497:        mkdev ulpn$unit c %ulpt_chr% $(($unit + 64))
1.1       jdolecek  498:        ;;
                    499:
                    500: urio*)
                    501:        unit=${i#urio}
1.15      lukem     502:        mkdev urio$unit c %urio_chr% $unit 666
1.1       jdolecek  503:        ;;
                    504:
                    505: uscanner*)
                    506:        unit=${i#uscanner}
1.15      lukem     507:        mkdev uscanner$unit c %uscanner_chr% $unit
1.1       jdolecek  508:        ;;
                    509:
                    510: ttyU*)
                    511:        unit=${i#ttyU}
1.15      lukem     512:        mkdev ttyU$unit c %ucom_chr% $(($unit + $dialin  )) "" "" $u_uucp
                    513:        mkdev dtyU$unit c %ucom_chr% $(($unit + $dialout )) "" "" $u_uucp
                    514:        mkdev ctyU$unit c %ucom_chr% $(($unit + $callunit)) "" "" $u_uucp
1.1       jdolecek  515:        ;;
                    516:
                    517: ugen*)
                    518:        unit=${i#ugen}
                    519:        for j in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
                    520:        do
1.15      lukem     521:                mkdev ugen$unit.$j c %ugen_chr% $(($unit * 16 + ${j#0}))
1.1       jdolecek  522:        done
                    523:        ;;
                    524:
                    525: wscons)
                    526:        makedev ttyE0 ttyE1 ttyE2 ttyE3 ttyE4 ttyE5 ttyE6 ttyE7
                    527:        makedev wsmouse0 wsmouse1 wsmouse2 wsmouse3
                    528:        makedev wskbd0 wskbd1 wskbd2 wskbd3
                    529:        makedev wsmux0 wsmux1 wsmux2 wsmux3
                    530:        makedev wsmouse wskbd
                    531:        makedev ttyEcfg ttyEstat
                    532:        makedev wsfont
                    533:        ;;
                    534:
                    535: wsmouse)
1.15      lukem     536:        mkdev wsmouse c %wsmux_chr% 0
1.1       jdolecek  537:        ;;
                    538:
                    539: wskbd)
1.15      lukem     540:        mkdev wskbd c %wsmux_chr% 1
1.1       jdolecek  541:        ;;
                    542:
                    543: wsmux*)
                    544:        unit=${i#wsmux}
1.15      lukem     545:        mkdev wsmux$unit    c %wsmux_chr% $unit
                    546:        mkdev wsmuxctl$unit c %wsmux_chr% $(($unit + 128)) 200
1.1       jdolecek  547:        ;;
                    548:
                    549: ttyEstat)
1.15      lukem     550:        mkdev ttyEstat c %wsdisplay_chr% 254
1.1       jdolecek  551:        ;;
                    552:
                    553: ttyEcfg)
1.15      lukem     554:        mkdev ttyEcfg c %wsdisplay_chr% 255
1.1       jdolecek  555:        ;;
                    556:
                    557: ttyE*)
1.15      lukem     558:        unit=${i#ttyE}
                    559:        mkdev ttyE$unit c %wsdisplay_chr% $unit
1.1       jdolecek  560:        ;;
                    561:
                    562: wsmouse*)
                    563:        unit=${i#wsmouse}
1.15      lukem     564:        mkdev wsmouse$unit c %wsmouse_chr% $unit
1.1       jdolecek  565:        ;;
                    566:
                    567: wskbd*)
                    568:        unit=${i#wskbd}
1.15      lukem     569:        mkdev wskbd$unit c %wskbd_chr% $unit
1.1       jdolecek  570:        ;;
                    571:
                    572: fd)
                    573:        if $nofdesc; then
1.15      lukem     574:                makedir fd 755
1.1       jdolecek  575:                n=0
1.15      lukem     576:                while [ $n -lt 64 ]
                    577:                do
                    578:                        mkdev fd/$n c %filedesc_chr% $n 666
1.1       jdolecek  579:                        n=$(($n + 1))
                    580:                done
                    581:        fi
                    582:        ;;
                    583:
                    584: wt*)
                    585:        case $i in
                    586:        wt*) name=wt;  unit=${i#wt};    chr=%wt_chr%;   blk=%wt_blk%;;
                    587:        esac
                    588:        for sub in $unit $(($unit+8)) $(($unit+16))
                    589:        do
1.15      lukem     590:                mkdev $name$sub         b $blk $(($sub + 0)) 660 $g_operator
                    591:                mkdev n$name$sub        b $blk $(($sub + 4)) 660 $g_operator
                    592:                mkdev r$name$sub        c $chr $(($sub + 0)) 660 $g_operator
                    593:                mkdev nr$name$sub       c $chr $(($sub + 4)) 660 $g_operator
1.1       jdolecek  594:        done
                    595:        ;;
                    596:
                    597: md*)
1.4       jdolecek  598:        makedisk_minimal md ${i#md} %md_blk% %md_chr%
1.11      hannken   599:        ;;
                    600:
                    601: fss*)
1.15      lukem     602:        case $i in
                    603:        fss*) name=fss; unit=${i#fss};  blk=%fss_blk%;  chr=%fss_chr%
                    604:        esac
                    605:        mkdev $name$unit        b $blk $unit 660 $g_operator
                    606:        mkdev r$name$unit       c $chr $unit 660 $g_operator
1.1       jdolecek  607:        ;;
                    608:
                    609: ss*)
                    610:        case $i in
                    611:        ss*) name=ss;   unit=${i#ss};   chr=%ss_chr%;;
                    612:        esac
1.15      lukem     613:        mkdev $name$unit        c $chr $(($unit * 16 + 0)) 640 $g_operator
                    614:        mkdev n$name$unit       c $chr $(($unit * 16 + 1)) 640 $g_operator
                    615:        mkdev en$name$unit      c $chr $(($unit * 16 + 3)) 640 $g_operator
1.1       jdolecek  616:        ;;
                    617:
1.5       jdolecek  618: ccd*|cgd*|raid*|vnd*)
1.1       jdolecek  619:        case $i in
1.15      lukem     620:        ccd*)   name=ccd;       unit=${i#ccd};  blk=%ccd_blk%;  chr=%ccd_chr%;;
                    621:        cgd*)   name=cgd;       unit=${i#cgd};  blk=%cgd_blk%;  chr=%cgd_chr%;;
                    622:        raid*)  name=raid;      unit=${i#raid}; blk=%raid_blk%; chr=%raid_chr%;;
                    623:        vnd*)   name=vnd;       unit=${i#vnd};  blk=%vnd_blk%;  chr=%vnd_chr%;;
1.1       jdolecek  624:        esac
1.5       jdolecek  625:        %MKDISK% $name $unit $blk $chr
                    626:        ;;
                    627:
                    628: sd*)
                    629:        name=sd; unit=${i#sd};  blk=%sd_blk%;   chr=%sd_chr%
1.1       jdolecek  630:        %MKDISK% $name $unit $blk $chr
                    631:        ;;
                    632:
                    633: wd*)
                    634:        name=wd; unit=${i#wd}; blk=%wd_blk%; chr=%wd_chr%
                    635:        %MKDISK% $name $unit $blk $chr
                    636:        ;;
                    637:
                    638: fd*)
                    639:        name=fd; unit=${i#fd}; blk=%fd_blk%; chr=%fd_chr%
                    640:        %MKDISK% $name $unit $blk $chr
                    641:        ;;
                    642:
                    643: ld*)
                    644:        name=ld; unit=${i#ld}; blk=%ld_blk%; chr=%ld_chr%
                    645:        %MKDISK% $name $unit $blk $chr
                    646:        ;;
                    647:
                    648: ed*)
                    649:        name=ed; unit=${i#ed}; blk=%ed_blk%; chr=%ed_chr%
                    650:        %MKDISK% $name $unit $blk $chr
                    651:        ;;
                    652:
                    653: ofdisk*)
                    654:        name=ofdisk; unit=${i#ofdisk}; blk=%ofdisk_blk%; chr=%ofdisk_chr%
                    655:        %MKDISK% $name $unit $blk $chr
                    656:        ;;
                    657:
1.15      lukem     658: ttyCY*)
                    659:        name=tyCY; chr=%cy_chr%; off=32; fmt="%03d"
                    660:        unit=${i#t${name}}
                    661:        minor=$(($unit * $off))
                    662:        eminor=$(($minor + $off))
                    663:        while [ $minor -lt $eminor ]
                    664:        do
                    665:                nminor=$(printf $fmt $minor)
                    666:                mkdev t$name$nminor c $chr $(($minor + $dialin )) "" "" $u_uucp
                    667:                mkdev d$name$nminor c $chr $(($minor + $dialout)) "" "" $u_uucp
1.1       jdolecek  668:                minor=$(($minor + 1))
                    669:        done
                    670:        ;;
                    671:
1.15      lukem     672: ttyCZ*)
                    673:        name=tyCZ; chr=%cz_chr%; off=64; fmt="%04d"
                    674:        unit=${i#t${name}}
                    675:        minor=$(($unit * $off))
                    676:        eminor=$(($minor + $off))
                    677:        while [ $minor -lt $eminor ]
                    678:        do
                    679:                nminor=$(printf $fmt $minor)
                    680:                mkdev t$name$nminor c $chr $(($minor + $dialin )) "" "" $u_uucp
                    681:                mkdev d$name$nminor c $chr $(($minor + $dialout)) "" "" $u_uucp
1.1       jdolecek  682:                minor=$(($minor + 1))
                    683:        done
                    684:        ;;
                    685:
1.15      lukem     686:
1.4       jdolecek  687: tty[0-9]|tty0[0-9])
                    688:        # some archs have built-in zstty (major %zstty_chr%) instead
                    689:        # of NS16550; create ttyZ* and hardlink as [dt]ty0*; this
                    690:        # needs to be before com entry, for archs which have both
                    691:        unit=${i#tty}
                    692:        unit=$(($unit + 0))
                    693:        makedev ttyZ${unit}
1.15      lukem     694:        lndev ttyZ$unit tty0${unit}
                    695:        lndev dtyZ$unit dty0${unit}
1.4       jdolecek  696:        ;;
                    697:
1.3       jdolecek  698: tty0*|tty1*|tty[0-9])
1.15      lukem     699:        unit=${i#tty}
                    700:        ounit=$(printf "%02d" $unit)
                    701:        mkdev tty$ounit c %com_chr% $(($unit + $dialin )) "" "" $u_uucp
                    702:        mkdev dty$ounit c %com_chr% $(($unit + $dialout)) "" "" $u_uucp
1.1       jdolecek  703:        ;;
                    704:
                    705: ttyC*)
1.15      lukem     706:                # some archs call com_chr ttyC traditionally
                    707:        unit=${i#ttyC}; name=ttyC; dname=dtyC; chr=%com_chr%
                    708:        mkdev  $name$unit c $chr $(($unit + $dialin )) "" "" $u_uucp
                    709:        mkdev $dname$unit c $chr $(($unit + $dialout)) "" "" $u_uucp
1.1       jdolecek  710:        ;;
                    711:
                    712: ttyh*)
1.15      lukem     713:        unit=${i#ttyh}; name=ttyh; dname=dtyh; chr=%sabtty_chr%
                    714:        mkdev  $name$unit c $chr $(($unit + $dialin )) "" "" $u_uucp
                    715:        mkdev $dname$unit c $chr $(($unit + $dialout)) "" "" $u_uucp
                    716:        ;;
                    717:
                    718: ttyTX*)
                    719:        unit=${i#ttyTX}; name=ttyTX0; dname=dtyTX0; chr=%txcom_chr%
                    720:        mkdev  $name$unit c $chr $(($unit + $dialin )) "" "" $u_uucp
                    721:        mkdev $dname$unit c $chr $(($unit + $dialout)) "" "" $u_uucp
1.1       jdolecek  722:        ;;
                    723:
                    724: ttyZ*)
1.15      lukem     725:        unit=${i#ttyZ}; name=ttyZ; dname=dtyZ; chr=%zstty_chr%
                    726:        mkdev  $name$unit c $chr $(($unit + $dialin )) "" "" $u_uucp
                    727:        mkdev $dname$unit c $chr $(($unit + $dialout)) "" "" $u_uucp
1.1       jdolecek  728:        ;;
                    729:
                    730: opty)
                    731:        for j in 0 1 2 3 4 5 6 7 8 9 a b c d e f
                    732:        do
                    733:                case $j in
                    734:                [0-9])  jn=$j ;;
                    735:                a)      jn=10 ;;
                    736:                b)      jn=11 ;;
                    737:                c)      jn=12 ;;
                    738:                d)      jn=13 ;;
                    739:                e)      jn=14 ;;
                    740:                f)      jn=15 ;;
                    741:                esac
1.15      lukem     742:                mkdev ttyp$j c %pts_chr% $jn 666
                    743:                mkdev ptyp$j c %ptc_chr% $jn 666
1.1       jdolecek  744:        done
                    745:        ;;
                    746:
                    747: pty*)
                    748:        class=${i#pty}
                    749:        set -- p q r s t u v w x y z P Q R S T
                    750:        if [ "$class" -ge $# ]; then
1.16      lukem     751:                warn "$i: pty unit must be between 0 and 15"
1.1       jdolecek  752:                continue
                    753:        fi
                    754:        shift $class
                    755:        name=$1
                    756:        if [ "$name" = v ]; then
1.16      lukem     757:                warn "$i: pty unit conflicts with console ttyv0 device"
1.1       jdolecek  758:                continue
                    759:        fi
                    760:        jn=0
                    761:        unit=$(($class * 16))
                    762:        set -- - 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
                    763:        while
                    764:                shift
                    765:                j=$1
                    766:                [ -n "$j" ]
                    767:        do
                    768:                if [ $j = g ]; then
                    769:                        unit=$(($unit + $class * 30 + 256 - 16))
                    770:                fi
1.15      lukem     771:                mkdev tty$name$j c %pts_chr% $unit 666
                    772:                mkdev pty$name$j c %ptc_chr% $unit 666
1.1       jdolecek  773:                unit=$(($unit + 1))
                    774:        done
                    775:        ;;
                    776:
1.4       jdolecek  777: stic*)
                    778:        unit=${i#stic}
1.15      lukem     779:        mkdev stic$unit c %stic_chr% $unit
1.4       jdolecek  780:        ;;
                    781:
1.1       jdolecek  782: st*)
                    783:        case $i in
                    784:        st*) name=st;   unit=${i#st};   chr=%st_chr%;   blk=%st_blk%;;
                    785:        esac
1.15      lukem     786:        mkdev $name$unit        b $blk $(($unit * 16 + 0)) 660 $g_operator
                    787:        mkdev n$name$unit       b $blk $(($unit * 16 + 1)) 660 $g_operator
                    788:        mkdev e$name$unit       b $blk $(($unit * 16 + 2)) 660 $g_operator
                    789:        mkdev en$name$unit      b $blk $(($unit * 16 + 3)) 660 $g_operator
                    790:        mkdev r$name$unit       c $chr $(($unit * 16 + 0)) 660 $g_operator
                    791:        mkdev nr$name$unit      c $chr $(($unit * 16 + 1)) 660 $g_operator
                    792:        mkdev er$name$unit      c $chr $(($unit * 16 + 2)) 660 $g_operator
                    793:        mkdev enr$name$unit     c $chr $(($unit * 16 + 3)) 660 $g_operator
1.1       jdolecek  794:        ;;
                    795:
                    796: ses*|ch*|uk*)
                    797:        case $i in
1.15      lukem     798:        ch*)    name=ch;        unit=${i#ch};   chr=%ch_chr%;;
                    799:        uk*)    name=uk;        unit=${i#uk};   chr=%uk_chr%;;
                    800:        ses*)   name=ses;       unit=${i#ses};  chr=%ses_chr%;;
1.1       jdolecek  801:        esac
1.15      lukem     802:        mkdev $name$unit c $chr $unit 640 $g_operator
1.1       jdolecek  803:        ;;
                    804:
1.4       jdolecek  805: cd*)
                    806:        makedisk_minimal cd ${i#cd} %cd_blk% %cd_chr% %
                    807:        ;;
                    808:
                    809: mcd*)
                    810:        makedisk_minimal mcd ${i#mcd} %mcd_blk% %mcd_chr%
1.1       jdolecek  811:        ;;
                    812:
                    813: gdrom*)
1.4       jdolecek  814:        makedisk_minimal gdrom ${i#gdrom} %gdrom_blk% %gdrom_chr%
1.1       jdolecek  815:        ;;
                    816:
                    817: lpt*|lpa*)
                    818:        case $i in
                    819:        lpt*) name=lpt; unit=${i#lpt};  chr=%lpt_chr%;  flags=0;;
                    820:        lpa*) name=lpa; unit=${i#lpa};  chr=%lpt_chr%;  flags=128;;
                    821:        esac
1.15      lukem     822:        mkdev $name$unit c $chr $(($unit + $flags))
1.1       jdolecek  823:        ;;
                    824:
                    825: bpf*|tun*)
                    826:        case $i in
                    827:        bpf*) name=bpf; unit=${i#bpf};  chr=%bpf_chr%;;
                    828:        tun*) name=tun; unit=${i#tun};  chr=%tun_chr%;;
                    829:        esac
1.15      lukem     830:        mkdev $name$unit c $chr $unit
1.1       jdolecek  831:        ;;
                    832:
                    833: joy*)
                    834:        case $i in
                    835:        joy*) name=joy; unit=${i#joy};  chr=%joy_chr%;;
                    836:        esac
1.15      lukem     837:        mkdev $name$unit c $chr $unit
1.1       jdolecek  838:        ;;
                    839:
                    840: ipl)
1.15      lukem     841:        mkdev ipl       c %ipl_chr% 0
                    842:        mkdev ipnat     c %ipl_chr% 1
                    843:        mkdev ipstate   c %ipl_chr% 2
                    844:        mkdev ipauth    c %ipl_chr% 3
1.1       jdolecek  845:        ;;
                    846:
                    847: pf)
1.15      lukem     848:        mkdev pf c %pf_chr% 0
1.1       jdolecek  849:        ;;
                    850:
                    851: crypto)
1.15      lukem     852:        mkdev crypto c %crypto_chr% 0 666
1.1       jdolecek  853:        ;;
                    854:
                    855: speaker)
1.15      lukem     856:        mkdev speaker c %spkr_chr% 0
1.1       jdolecek  857:        ;;
                    858:
                    859: lkm)
1.15      lukem     860:        mkdev lkm c %lkm_chr% 0 640 $g_kmem
1.1       jdolecek  861:        ;;
                    862:
                    863: audio*)
                    864:        unit=${i#audio}
                    865:        audio=audio$unit
                    866:        sound=sound$unit
                    867:        mixer=mixer$unit
                    868:        audioctl=audioctl$unit
1.15      lukem     869:        : ${unit:-0}
                    870:        mkdev $sound    c %audio_chr% $(($unit + 0))    666
                    871:        mkdev $audio    c %audio_chr% $(($unit + 128))  666
                    872:        mkdev $mixer    c %audio_chr% $(($unit + 16))   666
                    873:        mkdev $audioctl c %audio_chr% $(($unit + 192))  666
1.1       jdolecek  874:        ;;
                    875:
                    876: rmidi*)
                    877:        unit=${i#rmidi}
1.15      lukem     878:        mkdev rmidi$unit c %midi_chr% $unit 666
1.1       jdolecek  879:        ;;
                    880:
                    881: music*)
                    882:        unit=${i#music}
1.15      lukem     883:        : ${unit:-0}
                    884:        mkdev music$unit     c %sequencer_chr% $(($unit + 0))   666
                    885:        mkdev sequencer$unit c %sequencer_chr% $(($unit + 128)) 666
1.1       jdolecek  886:        ;;
                    887:
                    888: radio*)
                    889:        unit=${i#radio}
1.15      lukem     890:        : ${unit:-0}
                    891:        mkdev radio$unit c %radio_chr% $unit 666
                    892:        ;;
                    893:
                    894: apm)
                    895:        mkdev apm       c %apm_chr% 0 644
                    896:        mkdev apmctl    c %apm_chr% 8 644
                    897:        ;;
                    898:
                    899: apm)
                    900:                # hpcmips uses `apmdev_chr' instead of `apm_chr'
                    901:        mkdev apm       c %apmdev_chr% 0 644
                    902:        mkdev apmctl    c %apmdev_chr% 8 644
1.4       jdolecek  903:        ;;
                    904:
1.1       jdolecek  905: satlink*)
                    906:        unit=${i#satlink}
1.15      lukem     907:        mkdev satlink$unit c %satlink_chr% $unit 444
1.1       jdolecek  908:        ;;
                    909:
                    910: random)
1.15      lukem     911:        mkdev random    c %rnd_chr% 0 444
                    912:        mkdev urandom   c %rnd_chr% 1 644
1.1       jdolecek  913:        ;;
                    914:
                    915: cfs*)
                    916:        unit=${i#cfs}
1.15      lukem     917:        mkdev cfs$unit c %vcoda_chr% $unit
1.1       jdolecek  918:        ;;
                    919:
                    920: sysmon)
1.15      lukem     921:        mkdev sysmon    c %sysmon_chr% 0 644
                    922:        mkdev watchdog  c %sysmon_chr% 1 644
                    923:        mkdev power     c %sysmon_chr% 2 640
1.1       jdolecek  924:        ;;
                    925:
                    926: scsibus*)
                    927:        unit=${i#scsibus}
1.15      lukem     928:        mkdev scsibus$unit c %scsibus_chr% $unit 644
1.1       jdolecek  929:        ;;
                    930:
                    931: bktr)
                    932:        makedev bktr0 bktr1
1.15      lukem     933:        lndev   bktr0   bktr
                    934:        lndev   tuner0  tuner
                    935:        lndev   vbi0    vbi
1.1       jdolecek  936:        ;;
                    937:
                    938: bktr*)
                    939:        unit=${i#bktr}
1.15      lukem     940:        mkdev bktr$unit         c %bktr_chr% $(($unit + 0))     444
                    941:        mkdev tuner$unit        c %bktr_chr% $(($unit + 16))    444
                    942:        mkdev vbi$unit          c %bktr_chr% $(($unit + 32))    444
1.1       jdolecek  943:        ;;
                    944:
                    945: iop*)
                    946:        unit=${i#iop}
1.15      lukem     947:        mkdev iop$unit c %iop_chr% $unit
1.1       jdolecek  948:        ;;
                    949:
                    950: mlx*)
                    951:        unit=${i#mlx}
1.15      lukem     952:        mkdev mlx$unit c %mlx_chr% $unit
1.1       jdolecek  953:        ;;
                    954:
                    955: mly*)
                    956:        unit=${i#mly}
1.15      lukem     957:        mkdev mly$unit c %mly_chr% $unit
1.1       jdolecek  958:        ;;
                    959:
                    960: twe*)
                    961:        unit=${i#twe}
1.15      lukem     962:        mkdev twe$unit c %twe_chr% $unit
1.1       jdolecek  963:        ;;
                    964:
                    965: icp*)
                    966:        unit=${i#icp}
1.15      lukem     967:        mkdev icp$unit c %icp_chr% $unit
1.1       jdolecek  968:        ;;
                    969:
                    970: agp*)
                    971:        unit=${i#agp}
1.15      lukem     972:        mkdev agp$unit c %agp_chr% $unit 644
                    973:        if [ "$unit" = "0" ]; then
                    974:                lndev agp$unit agpgart
                    975:        fi
1.1       jdolecek  976:        ;;
                    977:
                    978: pci*)
                    979:        unit=${i#pci}
1.15      lukem     980:        mkdev pci$unit c %pci_chr% $unit 644
1.1       jdolecek  981:        ;;
                    982:
                    983: dpti*)
                    984:        unit=${i#dpti}
1.15      lukem     985:        mkdev dpti$unit c %dpti_chr% $unit
1.1       jdolecek  986:        ;;
                    987:
                    988: dpt*)
                    989:        unit=${i#dpt}
1.15      lukem     990:        mkdev dpt$unit c %dpt_chr% $unit
1.1       jdolecek  991:        ;;
                    992:
                    993: altq)
1.15      lukem     994:        makedir altq 755
1.1       jdolecek  995:        unit=0
1.15      lukem     996:        for dev in altq cbq wfq afm fifoq red rio localq hfsc cdnr blue priq
                    997:        do
                    998:                mkdev altq/$dev c %altq_chr% $unit 644
1.1       jdolecek  999:                unit=$(($unit + 1))
                   1000:        done
                   1001:        ;;
                   1002:
                   1003: isdn)
1.15      lukem    1004:        mkdev isdn c %isdn_chr% 0
1.1       jdolecek 1005:        ;;
                   1006:
                   1007: isdnctl)
1.15      lukem    1008:        mkdev isdnctl c %isdnctl_chr% 0
1.1       jdolecek 1009:        ;;
                   1010:
                   1011: isdnbchan*)
                   1012:        unit=${i#isdnbchan}
1.15      lukem    1013:        mkdev isdnbchan$unit c %isdnbchan_chr% $unit
1.1       jdolecek 1014:        ;;
                   1015:
                   1016: isdnteld*)
                   1017:        unit=${i#isdnteld}
1.15      lukem    1018:        mkdev isdnteld$unit c %isdntel_chr% $(($unit + 64))
1.1       jdolecek 1019:        ;;
                   1020:
                   1021: isdntel*)
                   1022:        unit=${i#isdntel}
1.15      lukem    1023:        mkdev isdntel$unit c %isdntel_chr% $unit
1.1       jdolecek 1024:        ;;
                   1025:
                   1026: isdntrc*)
                   1027:        unit=${i#isdntrc}
1.15      lukem    1028:        mkdev isdntrc$unit c %isdntrc_chr% $unit
1.1       jdolecek 1029:        ;;
                   1030:
                   1031: vmegen)
                   1032:        makedev vmegen0 vmegen1 vmegen2 vmegen3
                   1033:        ;;
                   1034:
                   1035: vmegen*)
                   1036:        unit=${i#vmegen}
1.15      lukem    1037:        mkdev vmegen$unit c %vmegeneric_chr% $(($unit * 16 + 0))
1.1       jdolecek 1038:        ;;
                   1039:
                   1040: wsfont)
1.15      lukem    1041:        mkdev wsfont c %wsfont_chr% 0
1.1       jdolecek 1042:        ;;
                   1043:
                   1044: cir*)
                   1045:        unit=${i#cir}
1.15      lukem    1046:        mkdev cir$unit c %cir_chr% $unit 666
1.1       jdolecek 1047:        ;;
                   1048:
                   1049: irframe*)
                   1050:        unit=${i#irframe}
1.15      lukem    1051:        mkdev irframe$unit c %irframe_chr% $unit
1.1       jdolecek 1052:        ;;
                   1053:
                   1054: fcom*)
                   1055:        unit=${i#fcom}
1.15      lukem    1056:        mkdev fcom$unit c %fcom_chr% $unit "" "" $u_uucp
1.1       jdolecek 1057:        ;;
                   1058:
                   1059: beep)
1.15      lukem    1060:        mkdev beep c %beep_chr% 0
1.1       jdolecek 1061:        ;;
                   1062:
                   1063: openfirm)
1.15      lukem    1064:        mkdev openfirm c %openfirm_chr% 0 444
1.1       jdolecek 1065:        ;;
                   1066:
                   1067: nvram)
1.15      lukem    1068:        mkdev nvram c %nvram_chr% 0 644
1.1       jdolecek 1069:        ;;
                   1070:
                   1071: rtc)
1.15      lukem    1072:        mkdev rtc c %rtc_chr% 0 644
1.1       jdolecek 1073:        ;;
                   1074:
                   1075: clockctl)
1.15      lukem    1076:        mkdev clockctl c %clockctl_chr% 0 660 $g_ntpd
1.1       jdolecek 1077:        ;;
                   1078:
                   1079: nsmb)
                   1080:        makedev nsmb0 nsmb1 nsmb2 nsmb3
                   1081:        ;;
                   1082:
                   1083: nsmb*)
                   1084:        unit=${i#nsmb}
1.15      lukem    1085:        mkdev nsmb$unit c %nsmb_chr% $unit 644
1.1       jdolecek 1086:        ;;
                   1087:
                   1088: systrace)
1.15      lukem    1089:        mkdev systrace c %systrace_chr% 0 644
1.1       jdolecek 1090:        ;;
                   1091:
                   1092: kttcp)
1.15      lukem    1093:        mkdev kttcp c %kttcp_chr% 0
1.1       jdolecek 1094:        ;;
                   1095:
                   1096: dmoverio)
1.15      lukem    1097:        mkdev dmoverio c %dmoverio_chr% 0 644
1.1       jdolecek 1098:        ;;
                   1099:
                   1100: veriexec)
1.15      lukem    1101:        mkdev veriexec c %veriexec_chr% 0 644
1.1       jdolecek 1102:        ;;
                   1103:
                   1104: ttyv*)
1.15      lukem    1105:        unit=${i#ttyv}
                   1106:        mkdev ttyv$unit c %pc_chr% $unit
1.1       jdolecek 1107:        ;;
                   1108:
1.15      lukem    1109: # arm, acorn32
1.4       jdolecek 1110: ttyv*)
1.15      lukem    1111:        unit=${i#ttyv}
                   1112:        mkdev ttyv$unit c %physcon_chr% $unit
1.4       jdolecek 1113:        ;;
                   1114:
1.1       jdolecek 1115: arcpp*)
1.15      lukem    1116:        unit=${i#arcpp}
                   1117:        mkdev arcpp$unit c %arcpp_chr% $unit
1.1       jdolecek 1118:        ;;
                   1119:
                   1120: par*)
1.15      lukem    1121:        unit=${i#par}
1.1       jdolecek 1122:        case $unit in
                   1123:        0)
1.15      lukem    1124:                mkdev par$unit c %par_chr% $unit
1.1       jdolecek 1125:                ;;
                   1126:        *)
1.16      lukem    1127:                warn "bad unit for par in: $i"
1.1       jdolecek 1128:                ;;
                   1129:        esac
                   1130:        ;;
                   1131:
                   1132: ite*|ttye*)
1.4       jdolecek 1133:        case $i in
                   1134:        ite*)   unit=${i#ite};;
                   1135:        ttye*)  unit=${i#ttye};;
                   1136:        esac
1.15      lukem    1137:        mkdev ttye$unit c %ite_chr% $unit
1.1       jdolecek 1138:        ;;
                   1139:
                   1140: pms*)
1.4       jdolecek 1141:        unit=${i#pms}
1.15      lukem    1142:        mkdev pms$unit c %opms_chr% $unit
1.1       jdolecek 1143:        ;;
                   1144:
                   1145: qms*)
                   1146:        unit=${i#qms}
1.15      lukem    1147:        mkdev qms$unit c %qms_chr% $unit
1.1       jdolecek 1148:        ;;
                   1149:
                   1150: lms*)
                   1151:        unit=${i#lms}
1.15      lukem    1152:        mkdev lms$unit c %lms_chr% $unit
1.1       jdolecek 1153:        ;;
                   1154:
                   1155: mms*)
                   1156:        unit=${i#mms}
1.15      lukem    1157:        mkdev mms$unit c %mms_chr% $unit
1.1       jdolecek 1158:        ;;
                   1159:
                   1160: mouse-*)
                   1161:        case $i in
1.15      lukem    1162:        mouse-pms*) name=pms ;;
                   1163:        mouse-qms*) name=qms ;;
1.1       jdolecek 1164:        esac
1.15      lukem    1165:        unit=${i#mouse-${name}}
                   1166:        lndev $name$unit mouse
1.1       jdolecek 1167:        ;;
                   1168:
                   1169: kbd)
1.15      lukem    1170:        mkdev kbd c %kbd_chr% 0
1.1       jdolecek 1171:        ;;
                   1172:
1.4       jdolecek 1173: kbdctl)
1.15      lukem    1174:        mkdev kbdctl c %kbd_chr% 1
1.4       jdolecek 1175:        ;;
                   1176:
                   1177: vidcconsole0)
1.15      lukem    1178:        mkdev vidcconsole0 c %vidcconsole_chr% 0 640
1.4       jdolecek 1179:        ;;
                   1180:
1.1       jdolecek 1181: view*)
1.15      lukem    1182:        unit=${i#view}
                   1183:        mkdev view$unit c %view_chr% $unit 666
1.1       jdolecek 1184:        ;;
                   1185:
                   1186: mouse*)
1.15      lukem    1187:        unit=${i#mouse}
1.1       jdolecek 1188:        case $unit in
                   1189:        0|1)
1.15      lukem    1190:                mkdev mouse$unit c %ms_chr% $unit 666
                   1191:                if [ $unit = 0 ]; then
                   1192:                        lndev mouse$unit mouse
1.1       jdolecek 1193:                fi
                   1194:                ;;
                   1195:        *)
1.16      lukem    1196:                warn "bad unit for mouse in: $i"
1.1       jdolecek 1197:                ;;
                   1198:        esac
                   1199:        ;;
                   1200:
                   1201: panel)
1.15      lukem    1202:        mkdev panel0 c %panel_chr% 0 660
1.1       jdolecek 1203:        ;;
                   1204:
                   1205: ipty)
1.15      lukem    1206:        mkdev ttyp0 c %pts_chr% 0 666
                   1207:        mkdev ttyp1 c %pts_chr% 1 666
                   1208:        mkdev ptyp0 c %ptc_chr% 0 666
                   1209:        mkdev ptyp1 c %ptc_chr% 1 666
1.1       jdolecek 1210:        ;;
                   1211:
                   1212: grf*)
                   1213:        unit=${i#grf}
1.15      lukem    1214:        mkdev grf$unit c %grf_chr% $unit 666
1.1       jdolecek 1215:        ;;
                   1216:
                   1217: etvme)
1.15      lukem    1218:        mkdev etvme c %et_chr% 0
1.1       jdolecek 1219:        ;;
                   1220:
                   1221: leo*)
                   1222:        unit=${i#leo}
1.15      lukem    1223:        mkdev leo$unit c %leo_chr% $unit
1.1       jdolecek 1224:        ;;
                   1225:
                   1226: scif*)
1.15      lukem    1227:        unit=${i#scif}
                   1228:        mkdev scif$unit c %scif_chr% $unit "" "" $u_uucp
1.1       jdolecek 1229:        ;;
                   1230:
                   1231: sci*)
1.15      lukem    1232:        unit=${i#sci}
                   1233:        mkdev sci$unit c %sci_chr% $unit "" "" $u_uucp
1.1       jdolecek 1234:        ;;
                   1235:
                   1236: maple*)
                   1237:        case $i in
                   1238:        mapleA*) name="mapleA"; unit=0;;
                   1239:        mapleB*) name="mapleB"; unit=1;;
                   1240:        mapleC*) name="mapleC"; unit=2;;
                   1241:        mapleD*) name="mapleD"; unit=3;;
                   1242:        esac
                   1243:        subunit=${i#$name}
1.15      lukem    1244:        mkdev $name$subunit c %maple_chr% $(($unit * 8 + 0$subunit))
1.1       jdolecek 1245:        ;;
                   1246:
                   1247: mmem*)
1.15      lukem    1248:        unit=${i#mmem}
1.1       jdolecek 1249:        for pt in 0     # 1 2 3 4 ... 255
                   1250:        do
1.15      lukem    1251: #              mkdev mmem${unit}.${pt}a  b %mmem_blk% $(($unit * 4096 + $pt * 16 + 0)) 640 $g_operator
                   1252:                mkdev mmem${unit}.${pt}c  b %mmem_blk% $(($unit * 4096 + $pt * 16 + 2)) 640 $g_operator
                   1253: #              mkdev rmmem${unit}.${pt}a c %mmem_chr% $(($unit * 4096 + $pt * 16 + 0)) 640 $g_operator
                   1254:                mkdev rmmem${unit}.${pt}c c %mmem_chr% $(($unit * 4096 + $pt * 16 + 2)) 640 $g_operator
1.1       jdolecek 1255:        done
                   1256:        ;;
                   1257:
                   1258: mlcd*)
1.15      lukem    1259:        unit=${i#mlcd}
1.1       jdolecek 1260:        for pt in 0     # 1 2 3 4 ... 255
                   1261:        do
1.15      lukem    1262:                mkdev mlcd${unit}.${pt} c %mlcd_chr% $(($unit * 256 + $pt)) 640 $g_operator
1.1       jdolecek 1263:        done
                   1264:        ;;
                   1265:
                   1266: ixpcom*)
                   1267:        unit=${i#ixpcom}
1.15      lukem    1268:        mkdev ixpcom$unit c %ixpcom_chr% $unit "" "" $u_uucp
1.1       jdolecek 1269:        ;;
                   1270:
                   1271: ucbsnd)
1.15      lukem    1272:        mkdev ucbsnd c %ucbsnd_chr% 0 666
1.1       jdolecek 1273:        ;;
                   1274:
                   1275: adb)
1.15      lukem    1276:        mkdev adb c %aed_chr% 0 666
1.1       jdolecek 1277:        ;;
                   1278:
                   1279: asc*)
                   1280:        unit=${i#asc}
1.15      lukem    1281:        mkdev asc$unit c %asc_chr% $unit 666
1.1       jdolecek 1282:        ;;
                   1283:
                   1284: bwtwo*)
                   1285:        unit=${i#bwtwo}
1.15      lukem    1286:        mkdev bwtwo$unit c %bwtwo_chr% $unit 666
1.1       jdolecek 1287:        ;;
                   1288:
                   1289: cgtwo*)
                   1290:        unit=${i#cgtwo}
1.15      lukem    1291:        mkdev cgtwo$unit c %cgtwo_chr% $unit 666
1.1       jdolecek 1292:        ;;
                   1293:
                   1294: cgthree*)
                   1295:        unit=${i#cgthree}
1.15      lukem    1296:        mkdev cgthree$unit c %cgthree_chr% $unit 666
1.1       jdolecek 1297:        ;;
                   1298:
                   1299: cgfour*)
                   1300:        unit=${i#cgfour}
1.15      lukem    1301:        mkdev cgfour$unit c %cgfour_chr% $unit 666
1.1       jdolecek 1302:        ;;
                   1303:
                   1304: cgsix*)
                   1305:        unit=${i#cgsix}
1.15      lukem    1306:        mkdev cgsix$unit c %cgsix_chr% $unit 666
1.1       jdolecek 1307:        ;;
                   1308:
                   1309: cgeight*)
                   1310:        unit=${i#cgeight}
1.15      lukem    1311:        mkdev cgeight$unit c %cgeight_chr% $unit 666
1.1       jdolecek 1312:        ;;
                   1313:
                   1314: tcx*)
                   1315:        unit=${i#tcx}
1.15      lukem    1316:        mkdev tcx$unit c %tcx_chr% $unit 666
1.1       jdolecek 1317:        ;;
                   1318:
                   1319: xd*|xy*)
                   1320:        case $i in
                   1321:        xd*)    name=xd; unit=${i#xd}; blk=%xd_blk%;    chr=%xd_chr%;;
                   1322:        xy*)    name=xy; unit=${i#xy}; blk=%xy_blk%;    chr=%xy_chr%;;
                   1323:        esac
                   1324:        %MKDISK% $name $unit $blk $chr
                   1325:        ;;
                   1326:
                   1327: magma*)
                   1328:        unit=${i#magma}
1.15      lukem    1329:        if [ 0$unit -gt 3 ]; then
1.16      lukem    1330:                warn "bad unit for $i: $unit"
1.1       jdolecek 1331:                break
                   1332:        fi
                   1333:        for j in 0 1 2 3 4 5 6 7 8 9 a b c d e f
                   1334:        do
                   1335:                case $j in
                   1336:                [0-9])  jn=$j ;;
                   1337:                a)      jn=10 ;;
                   1338:                b)      jn=11 ;;
                   1339:                c)      jn=12 ;;
                   1340:                d)      jn=13 ;;
                   1341:                e)      jn=14 ;;
                   1342:                f)      jn=15 ;;
                   1343:                esac
1.15      lukem    1344:                mkdev tty$unit$j c %mtty_chr% $(($unit * 64 + $jn))
1.1       jdolecek 1345:        done
1.15      lukem    1346:        mkdev bpp${unit}0 c %mbpp_chr% $(($unit * 64 + 0))
                   1347:        mkdev bpp${unit}1 c %mbpp_chr% $(($unit * 64 + 1))
1.1       jdolecek 1348:        ;;
                   1349:
                   1350: clcd*)
                   1351:        unit=${i#clcd}
1.15      lukem    1352:        if [ 0$unit -gt 7 ]; then
1.16      lukem    1353:                warn "bad unit for $i: $unit"
1.1       jdolecek 1354:                break
                   1355:        fi
                   1356:        for j in 0 1 2 3 4 5 6 7
                   1357:        do
1.15      lukem    1358:                mkdev ttyA$unit$j c %clcd_chr% $(($unit * 8 + $j + $dialin)) "" "" $u_uucp
                   1359:                mkdev dtyA$unit$j c %clcd_chr% $(($unit * 8 + $j + $dialout)) "" "" $u_uucp
1.1       jdolecek 1360:        done
                   1361:        ;;
                   1362:
                   1363: bpp*)
                   1364:        unit=${i#bpp}
1.15      lukem    1365:        mkdev bpp$unit c %bpp_chr% $(($unit + 0))
1.1       jdolecek 1366:        ;;
                   1367:
                   1368: tctrl*)
                   1369:        unit=${i#tctrl}
1.15      lukem    1370:        mkdev tctrl$unit c %tctrl_chr% $unit 666
1.1       jdolecek 1371:        ;;
                   1372:
                   1373: bmd*)
1.15      lukem    1374:        unit=${i#bmd}
                   1375:        mkdev bmd${unit}a  b %bmd_blk% $(($unit * 8 + 0)) 640 $g_operator
                   1376:        mkdev bmd${unit}c  b %bmd_blk% $(($unit * 8 + 2)) 640 $g_operator
                   1377:        mkdev rbmd${unit}a c %bmd_chr% $(($unit * 8 + 0)) 640 $g_operator
                   1378:        mkdev rbmd${unit}c c %bmd_chr% $(($unit * 8 + 2)) 640 $g_operator
1.1       jdolecek 1379:        ;;
                   1380:
                   1381: sram)
1.15      lukem    1382:        mkdev sram c %sram_chr% 0 644
1.1       jdolecek 1383:        ;;
                   1384:
                   1385: pow*)
                   1386:        unit=${i#pow}
                   1387:        case $unit in
                   1388:        0|1)
1.15      lukem    1389:                mkdev pow${unit} c %pow_chr% ${unit} 644
                   1390:                if [ $unit = 0 ]; then
                   1391:                        lndev pow${unit} pow
1.1       jdolecek 1392:                fi
                   1393:                ;;
                   1394:        *)
1.16      lukem    1395:                warn "bad unit for pow in: $i"
1.1       jdolecek 1396:                ;;
                   1397:        esac
                   1398:        ;;
                   1399:
                   1400: ttyS*)
                   1401:        unit=${i#ttyS}
1.15      lukem    1402:        mkdev ttyS$unit c %sacom_chr% $(($unit + $dialin )) "" "" $u_uucp
                   1403:        mkdev dtyS$unit c %sacom_chr% $(($unit + $dialout)) "" "" $u_uucp
1.1       jdolecek 1404:        ;;
                   1405:
                   1406: midevend)
                   1407: %MI_DEVICES_END%
                   1408: local)
                   1409:        if [ -f "$0.local" ]; then
                   1410:                umask 0
                   1411:                sh $0.local all
                   1412:                umask 077
                   1413:        fi
                   1414:        ;;
                   1415:
                   1416: *)
1.16      lukem    1417:        warn "$i: unknown device"
1.1       jdolecek 1418:        ;;
                   1419:
                   1420: esac
                   1421: done
                   1422:
                   1423: }
                   1424:
1.15      lukem    1425:
1.1       jdolecek 1426: # three variants of disk partitions - max 8, max 16, max 16 with highpartoffset
1.3       jdolecek 1427: # hack; only the one used by port is retained in final MAKEDEV script
1.1       jdolecek 1428: # routine is called as:
                   1429: # makedisk name unit blk chr
1.15      lukem    1430: makedisk_p8()
                   1431: {
1.1       jdolecek 1432:        name="$1"; unit="$2"; blk="$3"; chr="$4"
                   1433:
1.15      lukem    1434:        mkdev ${name}${unit}a   b $blk $(($unit * 8 + 0))       640 $g_operator
                   1435:        mkdev ${name}${unit}b   b $blk $(($unit * 8 + 1))       640 $g_operator
                   1436:        mkdev ${name}${unit}c   b $blk $(($unit * 8 + 2))       640 $g_operator
                   1437:        mkdev ${name}${unit}d   b $blk $(($unit * 8 + 3))       640 $g_operator
                   1438:        mkdev ${name}${unit}e   b $blk $(($unit * 8 + 4))       640 $g_operator
                   1439:        mkdev ${name}${unit}f   b $blk $(($unit * 8 + 5))       640 $g_operator
                   1440:        mkdev ${name}${unit}g   b $blk $(($unit * 8 + 6))       640 $g_operator
                   1441:        mkdev ${name}${unit}h   b $blk $(($unit * 8 + 7))       640 $g_operator
                   1442:        mkdev r${name}${unit}a  c $chr $(($unit * 8 + 0))       640 $g_operator
                   1443:        mkdev r${name}${unit}b  c $chr $(($unit * 8 + 1))       640 $g_operator
                   1444:        mkdev r${name}${unit}c  c $chr $(($unit * 8 + 2))       640 $g_operator
                   1445:        mkdev r${name}${unit}d  c $chr $(($unit * 8 + 3))       640 $g_operator
                   1446:        mkdev r${name}${unit}e  c $chr $(($unit * 8 + 4))       640 $g_operator
                   1447:        mkdev r${name}${unit}f  c $chr $(($unit * 8 + 5))       640 $g_operator
                   1448:        mkdev r${name}${unit}g  c $chr $(($unit * 8 + 6))       640 $g_operator
                   1449:        mkdev r${name}${unit}h  c $chr $(($unit * 8 + 7))       640 $g_operator
1.1       jdolecek 1450: }
1.15      lukem    1451:
                   1452: makedisk_p16()
                   1453: {
1.1       jdolecek 1454:        name="$1"; unit="$2"; blk="$3"; chr="$4"
                   1455:
1.15      lukem    1456:        mkdev ${name}${unit}a   b $blk $(($unit * 16 + 0))      640 $g_operator
                   1457:        mkdev ${name}${unit}b   b $blk $(($unit * 16 + 1))      640 $g_operator
                   1458:        mkdev ${name}${unit}c   b $blk $(($unit * 16 + 2))      640 $g_operator
                   1459:        mkdev ${name}${unit}d   b $blk $(($unit * 16 + 3))      640 $g_operator
                   1460:        mkdev ${name}${unit}e   b $blk $(($unit * 16 + 4))      640 $g_operator
                   1461:        mkdev ${name}${unit}f   b $blk $(($unit * 16 + 5))      640 $g_operator
                   1462:        mkdev ${name}${unit}g   b $blk $(($unit * 16 + 6))      640 $g_operator
                   1463:        mkdev ${name}${unit}h   b $blk $(($unit * 16 + 7))      640 $g_operator
                   1464:        mkdev ${name}${unit}i   b $blk $(($unit * 16 + 8))      640 $g_operator
                   1465:        mkdev ${name}${unit}j   b $blk $(($unit * 16 + 9))      640 $g_operator
                   1466:        mkdev ${name}${unit}k   b $blk $(($unit * 16 + 10))     640 $g_operator
                   1467:        mkdev ${name}${unit}l   b $blk $(($unit * 16 + 11))     640 $g_operator
                   1468:        mkdev ${name}${unit}m   b $blk $(($unit * 16 + 12))     640 $g_operator
                   1469:        mkdev ${name}${unit}n   b $blk $(($unit * 16 + 13))     640 $g_operator
                   1470:        mkdev ${name}${unit}o   b $blk $(($unit * 16 + 14))     640 $g_operator
                   1471:        mkdev ${name}${unit}p   b $blk $(($unit * 16 + 15))     640 $g_operator
                   1472:        mkdev r${name}${unit}a  c $chr $(($unit * 16 + 0))      640 $g_operator
                   1473:        mkdev r${name}${unit}b  c $chr $(($unit * 16 + 1))      640 $g_operator
                   1474:        mkdev r${name}${unit}c  c $chr $(($unit * 16 + 2))      640 $g_operator
                   1475:        mkdev r${name}${unit}d  c $chr $(($unit * 16 + 3))      640 $g_operator
                   1476:        mkdev r${name}${unit}e  c $chr $(($unit * 16 + 4))      640 $g_operator
                   1477:        mkdev r${name}${unit}f  c $chr $(($unit * 16 + 5))      640 $g_operator
                   1478:        mkdev r${name}${unit}g  c $chr $(($unit * 16 + 6))      640 $g_operator
                   1479:        mkdev r${name}${unit}h  c $chr $(($unit * 16 + 7))      640 $g_operator
                   1480:        mkdev r${name}${unit}i  c $chr $(($unit * 16 + 8))      640 $g_operator
                   1481:        mkdev r${name}${unit}j  c $chr $(($unit * 16 + 9))      640 $g_operator
                   1482:        mkdev r${name}${unit}k  c $chr $(($unit * 16 + 10))     640 $g_operator
                   1483:        mkdev r${name}${unit}l  c $chr $(($unit * 16 + 11))     640 $g_operator
                   1484:        mkdev r${name}${unit}m  c $chr $(($unit * 16 + 12))     640 $g_operator
                   1485:        mkdev r${name}${unit}n  c $chr $(($unit * 16 + 13))     640 $g_operator
                   1486:        mkdev r${name}${unit}o  c $chr $(($unit * 16 + 14))     640 $g_operator
                   1487:        mkdev r${name}${unit}p  c $chr $(($unit * 16 + 15))     640 $g_operator
1.1       jdolecek 1488: }
1.15      lukem    1489:
                   1490: makedisk_p16high()
                   1491: {
                   1492:        ho=524280       # offset for partition 9 to 16
1.1       jdolecek 1493:        name="$1"; unit="$2"; blk="$3"; chr="$4"
                   1494:
1.15      lukem    1495:        mkdev ${name}${unit}a   b $blk $(($unit * 8 + 0))       640 $g_operator
                   1496:        mkdev ${name}${unit}b   b $blk $(($unit * 8 + 1))       640 $g_operator
                   1497:        mkdev ${name}${unit}c   b $blk $(($unit * 8 + 2))       640 $g_operator
                   1498:        mkdev ${name}${unit}d   b $blk $(($unit * 8 + 3))       640 $g_operator
                   1499:        mkdev ${name}${unit}e   b $blk $(($unit * 8 + 4))       640 $g_operator
                   1500:        mkdev ${name}${unit}f   b $blk $(($unit * 8 + 5))       640 $g_operator
                   1501:        mkdev ${name}${unit}g   b $blk $(($unit * 8 + 6))       640 $g_operator
                   1502:        mkdev ${name}${unit}h   b $blk $(($unit * 8 + 7))       640 $g_operator
                   1503:        mkdev ${name}${unit}i   b $blk $(($unit * 8 + $ho + 8)) 640 $g_operator
                   1504:        mkdev ${name}${unit}j   b $blk $(($unit * 8 + $ho + 9)) 640 $g_operator
                   1505:        mkdev ${name}${unit}k   b $blk $(($unit * 8 + $ho + 10)) 640 $g_operator
                   1506:        mkdev ${name}${unit}l   b $blk $(($unit * 8 + $ho + 11)) 640 $g_operator
                   1507:        mkdev ${name}${unit}m   b $blk $(($unit * 8 + $ho + 12)) 640 $g_operator
                   1508:        mkdev ${name}${unit}n   b $blk $(($unit * 8 + $ho + 13)) 640 $g_operator
                   1509:        mkdev ${name}${unit}o   b $blk $(($unit * 8 + $ho + 14)) 640 $g_operator
                   1510:        mkdev ${name}${unit}p   b $blk $(($unit * 8 + $ho + 15)) 640 $g_operator
                   1511:        mkdev r${name}${unit}a  c $chr $(($unit * 8 + 0))       640 $g_operator
                   1512:        mkdev r${name}${unit}b  c $chr $(($unit * 8 + 1))       640 $g_operator
                   1513:        mkdev r${name}${unit}c  c $chr $(($unit * 8 + 2))       640 $g_operator
                   1514:        mkdev r${name}${unit}d  c $chr $(($unit * 8 + 3))       640 $g_operator
                   1515:        mkdev r${name}${unit}e  c $chr $(($unit * 8 + 4))       640 $g_operator
                   1516:        mkdev r${name}${unit}f  c $chr $(($unit * 8 + 5))       640 $g_operator
                   1517:        mkdev r${name}${unit}g  c $chr $(($unit * 8 + 6))       640 $g_operator
                   1518:        mkdev r${name}${unit}h  c $chr $(($unit * 8 + 7))       640 $g_operator
                   1519:        mkdev r${name}${unit}i  c $chr $(($unit * 8 + $ho + 8)) 640 $g_operator
                   1520:        mkdev r${name}${unit}j  c $chr $(($unit * 8 + $ho + 9)) 640 $g_operator
                   1521:        mkdev r${name}${unit}k  c $chr $(($unit * 8 + $ho + 10)) 640 $g_operator
                   1522:        mkdev r${name}${unit}l  c $chr $(($unit * 8 + $ho + 11)) 640 $g_operator
                   1523:        mkdev r${name}${unit}m  c $chr $(($unit * 8 + $ho + 12)) 640 $g_operator
                   1524:        mkdev r${name}${unit}n  c $chr $(($unit * 8 + $ho + 13)) 640 $g_operator
                   1525:        mkdev r${name}${unit}o  c $chr $(($unit * 8 + $ho + 14)) 640 $g_operator
                   1526:        mkdev r${name}${unit}p  c $chr $(($unit * 8 + $ho + 15)) 640 $g_operator
1.4       jdolecek 1527: }
                   1528:
                   1529: # make only the very few basic disk device nodes - 'a' partition
                   1530: # and raw partition
1.15      lukem    1531: makedisk_minimal()
                   1532: {
1.4       jdolecek 1533:        name=$1; unit=$2; blk=$3; chr=$4
                   1534:        doff=%DISKMINOROFFSET%
1.15      lukem    1535:        ro=%RAWDISK_OFF%
                   1536:        rn=%RAWDISK_NAME%
1.4       jdolecek 1537:
1.15      lukem    1538:        mkdev ${name}${unit}a   b $blk $(($unit * $doff + 0))   640 $g_operator
                   1539:        mkdev ${name}${unit}$rn b $blk $(($unit * $doff + $ro)) 640 $g_operator
                   1540:        mkdev r${name}${unit}a  c $chr $(($unit * $doff + 0))   640 $g_operator
                   1541:        mkdev r${name}${unit}$rn c $chr $(($unit * $doff + $ro)) 640 $g_operator
1.1       jdolecek 1542: }
                   1543:
                   1544: makedev $*

CVSweb <webmaster@jp.NetBSD.org>