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

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

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

CVSweb <webmaster@jp.NetBSD.org>