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>