From 7ae378c085956fef8706774cc3caa4f71908c7fe Mon Sep 17 00:00:00 2001 From: miod <> Date: Mon, 16 Feb 2004 18:58:54 +0000 Subject: [PATCH] Move the real knowledge of MI devices to a specific file, MAKEDEV.common. While there, allow the comment char and the divert section for md script fragments to be overriden. No functional change (yet). disabused ok deraadt@ --- src/etc/MAKEDEV.common | 553 +++++++++++++++++++++++++++++++++++++ src/etc/MAKEDEV.mi | 604 +---------------------------------------- src/etc/MAKEDEV.sub | 10 +- 3 files changed, 568 insertions(+), 599 deletions(-) create mode 100644 src/etc/MAKEDEV.common diff --git a/src/etc/MAKEDEV.common b/src/etc/MAKEDEV.common new file mode 100644 index 00000000..ca1003ee --- /dev/null +++ b/src/etc/MAKEDEV.common @@ -0,0 +1,553 @@ +vers(a, {-$OpenBSD: MAKEDEV.common,v 1.1 2004/02/16 18:58:54 miod Exp $-})dnl +divert(1)dnl +dnl +dnl Common device definitions. +dnl +dnl This file contains the MI device definitions (as well as some MD +dnl definitions not cleaned up yet...) +dnl +dnl Diversions: (upon termination, concatenated output queues) +dnl +dnl 0 - very top +dnl 1 - descriptions of devices +dnl 2 - init of script, function definitions, etc +dnl 3 - beginning of global recursive R() function +dnl 7 - body of MAKEDEV, device creations, etc +dnl 9 - end +dnl +dnl Diversions 2, 3 and 7 are not filled when generating the manual page. +dnl +dnl HOW TO ADD A DEVICE: +dnl +dnl In this file, you must use at least two macros: +dnl +dnl Use '__devitem(uniqueid, name-pattern, description)' to create an entry +dnl in the description at the top of the generated MAKEDEV file: +dnl +dnl __devitem(sca, sca*, Sugar Generic device)dnl +dnl __devitem(cry, crypto, hardware crypto access driver)dnl +dnl +dnl This is ultimately shown as: +dnl +dnl # sca* Sugar Generic device +dnl # crypto hardware crypto access driver +dnl +dnl Use '_mkdev(uniqueid, shell-pattern, {-shell-script-})dnl' to create +dnl a shell script fragment used to 'create' the device (be sure to match +dnl the uniqueid from above): +dnl +dnl _mkdev(sca, sca*, {-M sca$U c major_sca_c $U +dnl M rsca$U b major_sca_b Add($U, 128)-})dnl +dnl _mkdev(cry, crypto, {-M crypto c major_cry_c 0-})dnl +dnl +dnl This is ultimately expanded into: +dnl +dnl sca*) +dnl M sca$U c 24 $U +dnl M sca$U b 42 $(($U+128)) +dnl ;; +dnl +dnl crypto) +dnl M crypto c 47 0 +dnl ;; +dnl +dnl In the MAKEDEV.md file, add a '_DEV(uniqueid, charmajor, blockmajor)' +dnl entry: +dnl +dnl _DEV(sca, 24, 42) +dnl _DEV(cry, 47) +dnl +dnl Final step is to use the 'target/twrget' macros to have the 'all)' target +dnl generate one or more device(s). Usage of 'target/twrget' is: +dnl target(target_name, device_name [, append_string ] .. ) +dnl twrget(target_name, uniqueid, device_name, [, append_string ] .. ) +dnl +dnl target_name a unique name that later is used as an argument to +dnl 'show_target()' (which expands all devices for a +dnl given 'target_name'). +dnl uniqueid same as 'uniqueid' above +dnl device_name string representing the device to be mknod'ed +dnl append_string for each append_string, `device_name' is prepended +dnl +dnl Note: 'target(a,b,c)' is equivalent to 'twrget(a,b,b,c)' +dnl +dnl +dnl For a short example: +dnl +dnl target(all, std)dnl +dnl target(all, sca, 0, 1, 2, 3)dnl +dnl twrget(all, cry, crypto)dnl +dnl +dnl would expand to: +dnl +dnl all) +dnl R std sca0 sca1 sca2 sca3 crypto +dnl ;; +dnl +dnl presuming '_DEV(sca, ?, ?)' and '_DEV(std)' were in the MAKEDEV.md file. +dnl +dnl +dnl Everything is 'automatically' added to 'MAKEDEV' based on whether or +dnl not the '_DEV()' entry has a corresponding _mkdev() and __devitem() +dnl entry in MAKEDEV.mi (this file). +dnl +dnl Note: be very wary of adding whitespace, carriage returns, or not +dnl finishing a macro with ')dnl' .. otherwise, extra blank lines show up +dnl in the output. +dnl +dnl TODO: +dnl +dnl make a 'disktgt' macro that automatically does: +dnl disktgt(rd, {-rd-}) +dnl +dnl target(all,rd,0) +dnl target(ramd,rd,0) +dnl disk_q(rd) +dnl __devitem(rd, {-rd*-}, {-rd-})dnl +dnl +dnl Note: not all disks are generated in 'all)'. (e.g. vax has a lot of +dnl disks that are not generated by 'all)') +dnl +target(all, mcd, 0)dnl +twrget(all, fdesc, fd)dnl +target(all, st, 0, 1)dnl +target(all, std)dnl +target(all, raid, 0, 1, 2, 3)dnl +target(all, rz, 0, 1, 2, 3, 4)dnl +target(all, hp, 0, 1, 2, 3)dnl +target(all, ra, 0, 1, 2, 3)dnl +target(all, rx, 0, 1)dnl +target(all, wd, 0, 1, 2, 3)dnl +target(all, xd, 0, 1, 2, 3)dnl +target(all, systrace)dnl +target(all, pctr)dnl +target(all, pctr0)dnl +target(all, pf)dnl +twrget(all, cry, crypto)dnl +target(all, apm)dnl +twrget(all, tth, ttyh, 0, 1)dnl +target(all, ttyA, 0, 1)dnl +target(all, ttyB, 0, 1, 2, 3, 4, 5)dnl +twrget(all, attyB, ttyB, 0, 1, 2, 3, 4)dnl +target(all, tty0, 0, 1, 2, 3)dnl +twrget(all, mac_tty0, tty0, 0, 1)dnl +twrget(all, tzs, tty, a, b, c, d)dnl +twrget(all, czs, cua, a, b, c, d)dnl +target(all, ttyc, 0, 1, 2, 3, 4, 5, 6, 7)dnl +twrget(all, com, tty0, 0, 1, 2, 3)dnl +target(all, lkm)dnl +twrget(all, mmcl, mmclock)dnl +target(all, lpt, 0, 1, 2)dnl +twrget(all, lpt, lpa, 0, 1, 2)dnl +target(all, joy, 0, 1)dnl +twrget(all, rnd, random)dnl +target(all, uk, 0)dnl +target(all, wt, 0)dnl +target(all, wdt, 0)dnl +twrget(all, au, audio, 0)dnl +twrget(all, speak, speaker)dnl +target(all, asc, 0)dnl +target(all, music, 0)dnl +target(all, radio, 0)dnl +target(all, tuner, 0)dnl +target(all, rmidi, 0, 1, 2, 3, 4, 5, 6, 7)dnl +target(all, usbs)dnl +target(all, adb)dnl +target(all, iop, 0, 1)dnl +target(all, pci)dnl +twrget(all, wsmouse, wscons)dnl +twrget(all, grf_mac, grf, 0, 1, 2, 3)dnl +target(all, par, 0)dnl +twrget(all, amouse, mouse, 0, 1)dnl +twrget(all, akbd, kbd)dnl +target(all, apci, 0)dnl +target(all, ppi, 0)dnl +target(all, view0, 0, 1, 2, 3, 4, 5)dnl +target(all, local)dnl +target(all, gpr, 0)dnl +target(all, ptm)dnl +dnl +_mkdev(all, {-all-}, {-dnl +show_target(all)dnl +-})dnl +dnl +dnl XXX some arches use ramd, others ramdisk - needs to be fixed eventually +__devitem(ramdisk, ramdisk, Ramdisk kernel devices)dnl +dnl +target(usb, usb, 0, 1)dnl +target(usb, urio, 0)dnl +twrget(usb, uscan, uscanner, 0)dnl +target(usb, uhid, 0, 1, 2, 3)dnl +target(usb, ulpt, 0, 1)dnl +target(usb, ugen, 0, 1)dnl +target(usb, ttyU, 0, 1)dnl +dnl +__devitem({-usbs-}, usbs, All USB devices)dnl +_mkdev(usbs, usbs, {-dnl +show_target({-usb-})dnl +-})dnl +__devtitle(tap, Tapes)dnl +__devitem(wt, {-wt* -}, Archive/Wangtek QIC-cartridge tape drives)dnl +_mkdev(wt, wt*, +{-name=wt + n=Mult($U, 8) m=Add($n, 4) + M $name$U b major_wt_b $n 640 operator + M r$name$U c major_wt_c $n 640 operator + M n$name$U b major_wt_b $m 640 operator + M nr$name$U c major_wt_c $m 640 operator-})dnl +__devitem(tz, tz*, {-DEC TK50 cartridge tape drives-})dnl +__devitem(st, {-st*-}, SCSI tape drives)dnl +_mkdev(st, st*, {-n=Mult($U, 16) + for pre in " " n e en + do + M ${pre}st$U b major_st_b $n 660 operator + M ${pre}rst$U c major_st_c $n 660 operator + n=Add($n, 1) + done-})dnl +__devitem(ct, ct*, HP300 HP-IB cartridge tape drives)dnl +__devitem(mt, mt*, (Magnetic) 9-track reel tape drives)dnl +__devitem(ht, ht*, MASSBUS TM03 and TU?? devices)dnl +__devitem(tm, tm*, UNIBUS TM11 and TE10 emulations (e.g. Emulex TC-11))dnl +__devitem(ts, ts*, UNIBUS TS11)dnl +__devitem(ut, ut*, UNIBUS TU45 emulations (e.g. 9700))dnl +__devtitle(dis, Disks)dnl +dnl REMOVE __devitem(rz, rz*, SCSI disks)dnl +__devitem(sd, {-sd*-}, {-SCSI disks, includes flopticals-})dnl +__devitem(hd, {-hd*-}, HP300 HP-IB disks)dnl +__devitem(cd, {-cd*-}, SCSI cdrom drives)dnl +__devitem(acd, acd*, ATAPI cdrom drives)dnl +_mkdev(cd, cd*, {-dodisk2 cd $U major_cd_b major_cd_c $U 0{--}ifstep(cd)-})dnl +__devitem(mcd, mcd*, Mitsumi cdrom drives)dnl +_mkdev(mcd, mcd*, {-dodisk2 mcd $U major_mcd_b major_mcd_c $U 0{--}ifstep(mcd)dnl +-})dnl +__devitem(ch, {-ch*-}, SCSI media changers)dnl +_mcdev(ch, ch*, ch, {-major_ch_c-}, 660, operator)dnl +__devitem(uk, uk*, SCSI unknown devices)dnl +_mcdev(uk, uk*, uk, {-major_uk_c-}, 640, operator)dnl +__devitem(ss, ss*, SCSI scanners)dnl +_mkdev(ss, ss*, {-M ss$U c major_ss_c Mult($U,16) 640 operator + M nss$U c major_ss_c Add(Mult($U,16),1) 640 operator + M enss$U c major_ss_c Add(Mult($U,16),3) 640 operator + RMlist="$RMlist scan$U" + MKlist="$MKlist;umask 77;ln -s ss$U scan$U"-})dnl +__devitem(ses, ses*, SES/SAF-TE SCSI devices)dnl +_mkdev(ses, ses*, {-M ses$U c major_ses_c $U 640 operator-})dnl +dnl XXX see ramdisk above +__devitem(ramd, ramdisk, Ramdisk kernel devices)dnl +_mkdev(ramd, ramdisk, {-dnl +show_target(ramd)dnl +-})dnl +target(ramd, std)dnl +target(ramd, random)dnl +target(ramd, bpf, 0)dnl +__devitem(rd, {-rd*-}, quote(rd)pseudo-disks)dnl +_mkdev(rd, rd*, {-dodisk2 rd $U major_rd_b major_rd_c $U 0{--}ifstep(rd)-})dnl +__devitem(xd, xd*, Xylogic 753/7053 disks)dnl +__devitem(xy, xy*, {- Xylogic 450/451 disks-})dnl +__devitem(flo, {-fd*-}, {-Floppy disk drives (3 1/2"{-,-} 5 1/4")-})dnl +_mkdev(flo, fd*, +{-typnam=$U${i#fd[01]*} + case $typnam in + 0|1) typnum=0;; # no type specified, assume A + *A) typnum=0; typnam=0;; + *B) typnum=1;; + *C) typnum=2;; + *D) typnum=3;; + *E) typnum=4;; + *F) typnum=5;; + *G) typnum=6;; + *H) typnum=7;; + *) echo bad type $typnam for $i; exit 1;; + esac + case $U in + 0|1) blk=major_flo_b; chr=major_flo_c;; + *) echo bad unit $U for $i; exit 1;; + esac + nam=fd${typnam} + n=Add(Mult($U, 128), Mult($typnum, 16)) + M ${nam}a b $blk $n 640 operator + M ${nam}b b $blk Add($n, 1) 640 operator + M ${nam}c b $blk Add($n, 2) 640 operator + M r${nam}a c $chr $n 640 operator + M r${nam}b c $chr Add($n, 1) 640 operator + M r${nam}c c $chr Add($n, 2) 640 operator-}, 664)dnl +__devitem(iop, iop*, I2O controller devices)dnl +_mcdev(iop, iop*, iop, {-major_iop_c-}, 660)dnl +__devitem(wdt, wdt0, Watchdog timer)dnl +_mcdev(wdt, wdt0, wdt, {-major_wdt_c-}, 440, operator)dnl +__devitem(wd, {-wd*-}, {-quote(winchester)disk drives (ST506, IDE, ESDI, RLL, ...)-})dnl +__devitem(ccd, ccd*, Concatenated disk devices)dnl +__devitem(raid, raid*, RAIDframe disk devices)dnl +__devitem(vnd, vnd*, quote(file)pseudo-disk devices)dnl +_mkdev(vnd, vnd*, {-dodisk vnd $U major_vnd_b major_vnd_c $U 0{--}ifstep(vnd) + dodisk svnd $U major_vnd_b major_vnd_c $U 2048{--}ifstep(vnd)-})dnl +__devitem(ra, ra*, {-MSCP disks-})dnl +__devitem(hp, hp*, {-MASSBUSS disks-})dnl +__devitem(hk, hk*, {-UNIBUS RK06 and RK07 disks-})dnl +__devitem(up, up*, {-Other UNIBUS devices-})dnl +__devitem(rb, rb*, {-730 IDC w/ RB80 and/or RB02-})dnl +__devitem(rx, rx*, {-RX02 floppy disks-})dnl +__devitem(rl, rl*, {-UNIBUS RL02-})dnl +__devitem(hd, hd*, {-HDC9224 disks-})dnl +dnl +dnl For normal disk devices, add a disk_q entry; anything else define like +dnl the rest (such as vnd above). +dnl +disk_q({-ccd-})dnl +disk_q({-hd-})dnl +disk_q({-hk-})dnl +disk_q({-hp-})dnl +disk_q({-ra-})dnl +disk_q({-raid-})dnl +disk_q({-rb-})dnl +disk_q({-rl-})dnl +disk_q({-rx-})dnl +disk_q({-sd-})dnl +disk_q({-xy-})dnl +disk_q({-xd-})dnl +disk_q({-up-})dnl +disk_q({-wd-})dnl +disk_q({-rz-})dnl +_mkdev({-disks-}, {-undefine({-C_ase-})show_disks()undefine({-C_ase-})-}, +{-case $i in +show_disks2()dnl + esac-})dnl +__mkdev({-disks-}){--}dnl +dnl +__devtitle(cons, Console ports)dnl +__devitem(wscons, ttyC0, Minimal wscons devices)dnl +twrget(wscons, wscons, ttyC, cfg, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b)dnl +target(wscons, wsmux)dnl +target(wscons, wskbd, 0, 1, 2, 3)dnl +target(wscons, wsmouse, 0, 1, 2, 3)dnl +_mkdev({-wscons-}, {-wscons-}, {-dnl +show_target(wscons)dnl +-})dnl +__devitem(wsdisp, ttyC-F*, wscons display devices)dnl +_mkdev({-wsdisp-}, tty[C-F]*, {-U=${i##tty[C-F]} + case $i in + ttyC*) n=C m=expr(0*256);; + ttyD*) n=D m=expr(1*256);; + ttyE*) n=E m=expr(2*256);; + ttyF*) n=F m=expr(3*256);; + esac + case $U in + [0-9a-f]) M tty$n$U c major_wsdisp_c {-$(( 16#$U + $m ))-} 600;; + cfg) M tty${n}cfg c major_wsdisp_c Add(255,$m) 600;; + *) echo bad unit $U for $i; exit 1;; + esac-})dnl +__devitem(wskbd, wskbd*, wscons keyboards)dnl +_mkdev(wskbd, wskbd*, {-M wskbd$U c major_wskbd_c $U 600-})dnl +__devitem(wsmux, wsmux, wscons keyboard/mouse mux devices)dnl +_mkdev(wsmux, wsmux|wsmouse|wskbd, {-M wsmouse c major_wsmux_c 0 600 + M wskbd c major_wsmux_c 1 600-})dnl +__devitem(pcons, console, PROM console)dnl +__devtitle(point, Pointing devices)dnl +__devitem(wsmouse, wsmouse*, wscons mice)dnl +_mkdev(wsmouse, wsmouse*, {-M wsmouse$U c major_wsmouse_c $U 600-})dnl +__devtitle(pty, Pseudo terminals)dnl +__devitem(ptm, ptm, pty master device)dnl +_mkdev(ptm, ptm, {-M ptm c major_ptm_c 0 666-})dnl +__devitem(tty, tty*, Set of 16 slave pseudo terminals)dnl +__devitem(pty, pty*, Set of 16 master pseudo terminals)dnl +_mkdev(pty, pty*, {-if [ $U -gt 15 ]; then + echo bad unit for pty in: $i + continue + fi + set -A tbl p q r s t u v w x y z P Q R S T + name=${tbl[$U]} + n=0 + while [ $n -lt 16 ] + do + nam=$name$(hex $n) + off=Mult($U, 16) + M tty$nam c major_tty_c Add($off, $n) + M pty$nam c major_pty_c Add($off, $n) + n=Add($n, 1) + done-})dnl +__devitem(dc, dc*, {-4 channel serial interface (keyboard{-,-} mouse{-,-}modem{-,-} printer)-})dnl +__devtitle(prn, Printers)dnl +__devitem(par, par*, On-board parallel port)dnl +__devitem(lpt, lpt*, IEEE 1284 centronics printer)dnl +_mkdev(lpt, lpt*|lpa*, +{-case $i in + lpt*) n=lpt f=0;; + lpa*) n=lpa f=128;; + esac + M $n$U c major_lpt_c Add($U, $f) 600-})dnl +__devitem(lpa, lpa*, Polled printer port)dnl +__devitem(ppi, ppi*, HP-IB plotters)dnl +__devtitle({-usb-}, USB devices)dnl +__devitem({-usb-}, usb*, Bus control devices used by usbd for attach/detach)dnl +_mkdev({-usb-}, usb*, {-[ "$i" = "usb" ] && u= || u=$U + M usb$u c major_usb_c $U 660-})dnl +__devitem(uhid, uhid*, Generic HID devices)dnl +_mcdev({-uhid-}, uhid*, {-uhid-}, {-major_uhid_c-}, 660)dnl +__devitem(ulpt, ulpt*, Printer devices)dnl +_mcdev({-ulpt-}, ulpt*, {-ulpt-}, {-major_ulpt_c-}, 660)dnl +__devitem(ttyU, ttyU*, USB serial ports)dnl +_mkdev({-ttyU-}, {-ttyU[0-9a-zA-Z]-}, {-U=${i#ttyU*} + o=$(alph2d $U) + M ttyU$U c major_ttyU_c $o 660 dialer uucp-})dnl +__devitem(urio, urio*, Diamond Multimedia Rio 500)dnl +_mcdev({-urio-}, urio*, {-urio-}, {-major_urio_c-}, 660)dnl +__devitem(uscan, uscanner*, Scanners)dnl +_mcdev({-uscan-}, uscanner*, {-uscanner-}, {-major_uscan_c-}, 660)dnl +__devitem(ugen, ugen*, Generic USB devices)dnl +_mkdev(ugen, ugen*, {-n=Mult($U, 16) + for j in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 + do + M ugen$U.$j c major_ugen_c Add($n, $j) 660 + done-})dnl +__devtitle(call, Call units)dnl +__devtitle(term, Terminal ports)dnl +__devitem(dca, dca*, HP200/300 single port serial interface)dnl +__devitem(dcm, dcm*, HP200/300 4 port serial mux interface)dnl +__devitem(apci, apci*, HP400 4 port serial mux interface)dnl +__devitem({-com-}, {-tty[0-7][0-9a-f]-}, NS16x50 serial ports)dnl +_mkdev(com, {-tty[0-7][0-9a-f]-}, {-U=${i#tty*} + o=$(h2d $U) + M tty$U c major_com_c $o 660 dialer uucp + M cua$U c major_com_c Add($o, 128) 660 dialer uucp-})dnl +__devitem(ttyc, ttyc*, Cyclades serial ports)dnl +__devitem(tzs, tty[a-z]*, Zilog 8530 Serial Port)dnl +_mkdev(tzs, {-tty[a-z]-}, {-u=${i#tty*} + case $u in + a) n=0 ;; + b) n=1 ;; + c) n=4 ;; + d) n=5 ;; + *) echo unknown tty device $i ;; + esac + M tty$u c major_tzs_c $n 660 dialer uucp-})dnl +__devitem(tth, ttyh*, Sab82532 serial devices)dnl +_mkdev(tth, ttyh*, {-M ttyh$U c major_tth_c $U 660 dialer uucp-})dnl +__devitem(czs, cua[a-z]*, Zilog 8530 Serial Port)dnl +_mkdev(czs, cua[a-z], {-u=${i#cua*} + case $u in + a) n=0 ;; + b) n=1 ;; + c) n=4 ;; + d) n=5 ;; + *) echo unknown cua device $i ;; + esac + M cua$u c major_czs_c Add($n, 128) 660 dialer uucp-})dnl +__devitem(tty0, tty00, Standard serial port)dnl +__devitem(mac_tty0, tty00, Standard serial port)dnl +__devitem(ttyz, tty[a-d], On-board zs serial ports)dnl +__devitem(cuaz, cua[a-d], On-board zs serial ports)dnl +__devitem(ttyB, ttyB?, DEC 3000 ZS8530 ("scc") serial ports)dnl +__devitem(scc, scc*, 82530 serial interface)dnl +__devtitle(spec, Special purpose devices)dnl +__devitem(apm, apm, Power management device)dnl +_mkdev(apm, apm*, {-M apm c major_apm_c 0 644 + M apmctl c major_apm_c 8 644-})dnl +__devitem(pctr, pctr*, PC Performance Tuning Register access device)dnl +_mkdev(pctr, pctr, {-M pctr c major_pctr_c 0 644-})dnl +__devitem(systrace, systrace*, System call tracing device)dnl +_mkdev(systrace, systrace, {-M systrace c major_systrace_c 0 644-})dnl +__devitem(au, audio*, Audio devices)dnl +_mkdev(au, audio*, {-M sound$U c major_au_c $U + M mixer$U c major_au_c Add($U, 16) + M audio$U c major_au_c Add($U, 128) + M audioctl$U c major_au_c Add($U, 192) + MKlist="$MKlist;[ -e audio ] || ln -s audio$U audio" + MKlist="$MKlist;[ -e mixer ] || ln -s mixer$U mixer" + MKlist="$MKlist;[ -e sound ] || ln -s sound$U sound" + MKlist="$MKlist;[ -e audioctl ] || ln -s audioctl$U audioctl"-})dnl +__devitem(asc, asc*, ASC Audio device)dnl +_mkdev(asc, asc*, {-M asc$U major_asc_c 0-})dnl +__devitem(music, music*, MIDI devices)dnl +_mkdev(music, music*, {-M music$U c major_music_c $U + M sequencer$U c major_music_c Add($U, 128) + MKlist="$MKlist;[ -e music ] || ln -s music$U music" + MKlist="$MKlist;[ -e sequencer ] || ln -s sequencer$U sequencer"-})dnl +__devitem(radio, radio*, FM tuner devices)dnl +_mkdev(radio, radio*, {-M radio$U c major_radio_c $U + MKlist="$MKlist;[ -e radio ] || ln -s radio$U radio"-})dnl +__devitem(fdesc, fd, fd/* nodes for fdescfs)dnl +_mkdev(fdesc, fd, {-RMlist="mkdir -p fd;$RMlist" n=0 + while [ $n -lt 64 ];do M fd/$n c major_fdesc_c $n;n=Add($n, 1);done + MKlist="$MKlist;chmod 555 fd"-})dnl +__devitem(grf_mac, grf*, Raw interface to the mac68k graphics devices)dnl +__devitem(ite, ite*, Terminal emulator interface to HP300 graphics devices)dnl +__devitem({-hil-}, {-hil-}, HP-HIL input devices)dnl +__devitem(oppr, openprom)dnl +_cdev(oppr, openprom, 70, 0)dnl +__devitem(cry, crypto, Hardware crypto access driver)dnl +_mkdev(cry, crypto, {-M crypto c major_cry_c-} 0)dnl +__devitem(pf, pf*, Packet Filter)dnl +_mkdev(pf, {-pf*-}, {-M pf c major_pf_c 0 600-})dnl +__devitem(bpf, bpf*, Berkeley Packet Filter)dnl +_mkdev(bpf, {-bpf*-}, {-M bpf$U c major_bpf_c $U 600-}, 600)dnl +_mkdev(tun, {-tun*-}, {-M tun$U c major_tun_c $U 600-}, 600)dnl +__devitem(speak, speaker, PC speaker)dnl +_mkdev(speak, speaker, {-M speaker c major_speak_c 0 600-})dnl +__devitem(lkm, lkm, Loadable kernel modules interface)dnl +_cdev(lkm, lkm, {-major_lkm_c-}, 0, 640, _lkm)dnl +__devitem(mmcl, mmclock, Memory mapped clock)dnl +__devitem(tun, tun*, Network tunnel driver)dnl +__devitem(rnd, *random, In-kernel random data source)dnl +_mkdev(rnd, *random, {-n=0 + for pre in " " s u p a + do + M ${pre}random c major_rnd_c $n 644 + n=Add($n, 1) + done-}, 644)dnl +__devitem(joy, joy*, Joystick driver)dnl +_mcdev(joy, joy*, joy, {-major_joy_c-}, 666)dnl +__devitem(mag, magma*, Magma multiport cards)dnl +__devitem(bppmag, bppmag[mno], Magma parallel port)dnl +__devitem(spif, spif*, quote(spif)multiport cards)dnl +__devitem(bppsp, bpp[jkl], quote(spif)parallel port)dnl +_mkdev(mag, magma*, {-case $U in + 0) offset=0 nam=m;; + 1) offset=16 nam=n;; + 2) offset=32 nam=o;; + *) echo "bad unit for $i: $U"; exit 127;; + esac + offset=Mult($U, 64) + n=0 + while [ $n -lt 16 ] + do + name=${nam}`hex $n` + M tty$name c major_mag_c Add($offset, $n) 660 dialer uucp + n=Add($n, 1) + done + M bpp${nam}0 c major_bppmag_c Add($offset, 0) 600 + M bpp${nam}1 c major_bppmag_c Add($offset, 1) 600-})dnl +_mkdev(spif, spif*, {-case $U in + 0) offset=0 nam=j;; + 1) offset=16 nam=k;; + 2) offset=32 nam=l;; + *) echo "bad unit for $i: $U"; exit 127;; + esac + offset=Mult($U, 64) + n=0 + while [ $n -lt 8 ] + do + name=${nam}`hex $n` + M tty$name c major_spif_c Add($offset, $n) 660 dialer uucp + n=Add($n, 1) + done + M bpp${nam}0 c major_bppsp_c Add($offset, 0) 600-})dnl +__devitem(bpp, bpp*, Parallel port)dnl +_mkdev(bpp, {-bpp*-}, {-M bpp$U c major_bpp_c $U 600-}, 600)dnl +__devitem(xfs, xfs*, XFS filesystem node)dnl +_mcdev(xfs, xfs*, xfs, {-major_xfs_c-}, 600)dnl +__devitem(hil, hil, HP-HIL input devices)dnl +__devitem(rmidi, rmidi*, Raw MIDI devices)dnl +_mcdev(rmidi, rmidi*, rmidi, {-major_rmidi_c-}, 666)dnl +__devtitle(plat, Platform-specific devices)dnl +__devitem(bktr, bktr*, Video frame grabbers)dnl +_mcdev(bktr, bktr*, bktr, {-major_bktr_c-}, 644)dnl +__devitem(tuner, tuner*, Tuner devices)dnl +_mkdev(tuner, tuner*, {-M tuner$U c major_bktr_c Add(Mult($U, 2), 16) 644-}, 644)dnl +__devitem(pci, pci, PCI bus device)dnl +_mkdev(pci, pci, {-M pci c major_pci_c 0 600-}, 600)dnl +__devitem(adb, adb, Apple Desktop bus event interface)dnl +_mkdev(adb, adb, {-M adb c major_adb_c 0-})dnl +__devitem(pdc, pdc, PDC device)dnl +__devitem(gpr, gpr*, GPR400 smartcard reader)dnl +_mcdev(gpr, gpr*, gpr, {-major_gpr_c-})dnl +_mkdev(local, local, {-test -s $T.local && sh $T.local-})dnl diff --git a/src/etc/MAKEDEV.mi b/src/etc/MAKEDEV.mi index f92f941e..194861b3 100644 --- a/src/etc/MAKEDEV.mi +++ b/src/etc/MAKEDEV.mi @@ -1,6 +1,7 @@ +define(COMM,`#')dnl include(MAKEDEV.sub)dnl dnl -vers(a, {-$OpenBSD: MAKEDEV.mi,v 1.71 2004/02/14 17:24:30 todd Exp $-})dnl +vers(a, {-$OpenBSD: MAKEDEV.mi,v 1.72 2004/02/16 18:58:53 miod Exp $-})dnl dnl divert(1)dnl {-#-} @@ -18,184 +19,14 @@ divert(1)dnl {-#-} ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF {-#-} OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. {-#-} +define(quote,{-"$1" -})dnl +include(MAKEDEV.common)dnl dnl -dnl Diversions: (upon termination, concatenated output queues) -dnl -dnl 0 - very top -dnl 1 - descriptions of devices -dnl 2 - init of script, function definitions, etc -dnl 3 - beginning of global recursive R() function -dnl 7 - body of MAKEDEV, device creations, etc -dnl 9 - end -dnl -dnl HOW TO ADD A DEVICE: -dnl -dnl In this file, you must use at least two macros: -dnl -dnl Use '__devitem(uniqueid, name-pattern, description)' to create an entry -dnl in the description at the top of the generated MAKEDEV file: -dnl -dnl __devitem(sca, sca*, Sugar Generic device)dnl -dnl __devitem(cry, crypto, hardware crypto access driver)dnl -dnl -dnl This is ultimately shown as: -dnl -dnl # sca* Sugar Generic device -dnl # crypto hardware crypto access driver -dnl -dnl Use '_mkdev(uniqueid, shell-pattern, {-shell-script-})dnl' to create -dnl a shell script fragment used to 'create' the device (be sure to match -dnl the uniqueid from above): -dnl -dnl _mkdev(sca, sca*, {-M sca$U c major_sca_c $U -dnl M rsca$U b major_sca_b Add($U, 128)-})dnl -dnl _mkdev(cry, crypto, {-M crypto c major_cry_c 0-})dnl -dnl -dnl This is ultimately expanded into: -dnl -dnl sca*) -dnl M sca$U c 24 $U -dnl M sca$U b 42 $(($U+128)) -dnl ;; -dnl -dnl crypto) -dnl M crypto c 47 0 -dnl ;; -dnl -dnl In the MAKEDEV.md file, add a '_DEV(uniqueid, charmajor, blockmajor)' -dnl entry: -dnl -dnl _DEV(sca, 24, 42) -dnl _DEV(cry, 47) -dnl -dnl Final step is to use the 'target/twrget' macros to have the 'all)' target -dnl generate one or more device(s). Usage of 'target/twrget' is: -dnl target(target_name, device_name [, append_string ] .. ) -dnl twrget(target_name, uniqueid, device_name, [, append_string ] .. ) -dnl -dnl target_name a unique name that later is used as an argument to -dnl 'show_target()' (which expands all devices for a -dnl given 'target_name'). -dnl uniqueid same as 'uniqueid' above -dnl device_name string representing the device to be mknod'ed -dnl append_string for each append_string, `device_name' is prepended -dnl -dnl Note: 'target(a,b,c)' is equivalent to 'twrget(a,b,b,c)' -dnl -dnl -dnl For a short example: -dnl -dnl target(all, std)dnl -dnl target(all, sca, 0, 1, 2, 3)dnl -dnl twrget(all, cry, crypto)dnl -dnl -dnl would expand to: -dnl -dnl all) -dnl R std sca0 sca1 sca2 sca3 crypto -dnl ;; -dnl -dnl presuming '_DEV(sca, ?, ?)' and '_DEV(std)' were in the MAKEDEV.md file. -dnl -dnl -dnl Everything is 'automatically' added to 'MAKEDEV' based on whether or -dnl not the '_DEV()' entry has a corresponding _mkdev() and __devitem() -dnl entry in MAKEDEV.mi (this file). -dnl -dnl Note: be very wary of adding whitespace, carriage returns, or not -dnl finishing a macro with ')dnl' .. otherwise, extra blank lines show up -dnl in the output. -dnl -dnl TODO: -dnl -dnl make a 'disktgt' macro that automatically does: -dnl disktgt(rd, {-rd-}) -dnl -dnl target(all,rd,0) -dnl target(ramd,rd,0) -dnl disk_q(rd) -dnl __devitem(rd, {-rd*-}, {-rd-})dnl -dnl -dnl Note: not all disks are generated in 'all)'. (e.g. vax has a lot of -dnl disks that are not generated by 'all)') -dnl -dnl -_mkdev(loc, local, {-test -s $T.local && sh $T.local-})dnl -dnl -__devtitle(make, Device "make" file. Valid arguments)dnl -__devitem({-all-}, {-all-}, -{-makes all known devices{-,-} including local devices. +__devtitle(make, {-Device "make" file. Valid arguments-})dnl +__devitem({-all-}, {-all-}, {-makes all known devices{-,-} including local devices. {-#-} Tries to make the ``standard'' number of each type.-})dnl -dnl -dnl -target(all, mcd, 0)dnl -twrget(all, fdesc, fd)dnl -target(all, st, 0, 1)dnl -target(all, std)dnl -target(all, raid, 0, 1, 2, 3)dnl -target(all, rz, 0, 1, 2, 3, 4)dnl -target(all, hp, 0, 1, 2, 3)dnl -target(all, ra, 0, 1, 2, 3)dnl -target(all, rx, 0, 1)dnl -target(all, wd, 0, 1, 2, 3)dnl -target(all, xd, 0, 1, 2, 3)dnl -twrget(all, aflo, fd, 0, 1, 2, 3)dnl -target(all, systrace)dnl -target(all, pctr)dnl -target(all, pctr0)dnl -target(all, pf)dnl -twrget(all, cry, crypto)dnl -target(all, apm)dnl -twrget(all, tth, ttyh, 0, 1)dnl -target(all, ttyA, 0, 1)dnl -target(all, ttyB, 0, 1, 2, 3, 4, 5)dnl -twrget(all, attyB, ttyB, 0, 1, 2, 3, 4)dnl -target(all, tty0, 0, 1, 2, 3)dnl -twrget(all, mac_tty0, tty0, 0, 1)dnl -twrget(all, tzs, tty, a, b, c, d)dnl -twrget(all, czs, cua, a, b, c, d)dnl -target(all, ttyc, 0, 1, 2, 3, 4, 5, 6, 7)dnl -twrget(all, com, tty0, 0, 1, 2, 3)dnl -target(all, lkm)dnl -twrget(all, mmcl, mmclock)dnl -target(all, lpt, 0, 1, 2)dnl -twrget(all, lpt, lpa, 0, 1, 2)dnl -target(all, joy, 0, 1)dnl -twrget(all, rnd, random)dnl -target(all, uk, 0)dnl -target(all, wt, 0)dnl -target(all, wdt, 0)dnl -twrget(all, au, audio, 0)dnl -twrget(all, speak, speaker)dnl -target(all, asc, 0)dnl -target(all, music, 0)dnl -target(all, radio, 0)dnl -target(all, tuner, 0)dnl -target(all, rmidi, 0, 1, 2, 3, 4, 5, 6, 7)dnl -target(all, usbs)dnl -target(all, adb)dnl -target(all, iop, 0, 1)dnl -target(all, pci)dnl -twrget(all, wsmouse, wscons)dnl -twrget(all, grf_mac, grf, 0, 1, 2, 3)dnl -target(all, par, 0)dnl -twrget(all, amouse, mouse, 0, 1)dnl -twrget(all, akbd, kbd)dnl -target(all, apci, 0)dnl -target(all, ppi, 0)dnl -target(all, view0, 0, 1, 2, 3, 4, 5)dnl -target(all, local)dnl -target(all, gpr, 0)dnl -target(all, ptm)dnl -dnl -_mkdev(all, {-all-}, {-dnl -show_target(all)dnl --})dnl -dnl -__devitem(ramdisk, ramdisk, devices to be put on ramdisk-based media)dnl -__devitem(std, {-std-}, standard devices)dnl -dnl -dnl +__devitem(std,{-std-},Standard devices)dnl +__devitem(local,local,Configuration specific devices)dnl dnl dnl _std dnl @@ -205,7 +36,7 @@ dnl $3: ksyms dnl $4: drum dnl $5: klog dnl -define({-_std-}, {-dnl +define({-_std-},{-dnl std) M console c 0 0 600 M tty c $1 0 @@ -220,423 +51,8 @@ std) M drum c $4 0 640 kmem M klog c $5 0 600-})dnl dnl -target(usb, usb, 0, 1)dnl -target(usb, urio, 0)dnl -twrget(usb, uscan, uscanner, 0)dnl -target(usb, uhid, 0, 1, 2, 3)dnl -target(usb, ulpt, 0, 1)dnl -target(usb, ugen, 0, 1)dnl -target(usb, ttyU, 0, 1)dnl -dnl -__devitem({-usbs-}, usbs, make USB devices)dnl -_mkdev(usbs, usbs, {-dnl -show_target({-usb-})dnl --})dnl -__devtitle(tap, Tapes)dnl -__devitem(wt, {-wt* -}, QIC-interface (e.g. not SCSI) 3M cartridge tape)dnl -_mkdev(wt, wt*, -{-name=wt - n=Mult($U, 8) m=Add($n, 4) - M $name$U b major_wt_b $n 640 operator - M r$name$U c major_wt_c $n 640 operator - M n$name$U b major_wt_b $m 640 operator - M nr$name$U c major_wt_c $m 640 operator-})dnl -__devitem(tz, tz*, {-SCSI tapes{-,-} DEC TK50 cartridge tape-})dnl -__devitem(st, {-st*-}, SCSI tapes)dnl -_mkdev(st, st*, {-n=Mult($U, 16) - for pre in " " n e en - do - M ${pre}st$U b major_st_b $n 660 operator - M ${pre}rst$U c major_st_c $n 660 operator - n=Add($n, 1) - done-})dnl -__devitem(ct, ct*, HP300 HP-IB cartridge tape)dnl -__devitem(mt, mt*, (Magnetic) 9-track reel tape)dnl -__devitem(ht, ht*, massbus tm03 & tu??)dnl -__devitem(tm, tm*, unibus tm11 & te10 emulations (e.g. Emulex tc-11))dnl -__devitem(ts, ts*, unibus ts11)dnl -__devitem(ut, ut*, unibus tu45 emulations (e.g.si 9700))dnl -__devtitle(dis, Disks)dnl -__devitem(rz, rz*, SCSI disks)dnl -__devitem(sd, {-sd*-}, {-SCSI disks, includes flopticals-})dnl -__devitem(hd, {-hd*-}, HP300 HP-IB disks)dnl -__devitem(cd, {-cd*-}, SCSI cdrom drives)dnl -__devitem(acd, acd*, ATAPI cdrom drives)dnl -_mkdev(cd, cd*, {-dodisk2 cd $U major_cd_b major_cd_c $U 0{--}ifstep(cd)-})dnl -__devitem(mcd, mcd*, Mitsumi cdrom drives)dnl -_mkdev(mcd, mcd*, {-dodisk2 mcd $U major_mcd_b major_mcd_c $U 0{--}ifstep(mcd)dnl --})dnl -__devitem(ch, {-ch*-}, SCSI media changer)dnl -_mcdev(ch, ch*, ch, {-major_ch_c-}, 660, operator)dnl -__devitem(uk, uk*, SCSI Unknown device)dnl -_mcdev(uk, uk*, uk, {-major_uk_c-}, 640, operator)dnl -__devitem(ss, ss*, SCSI scanners)dnl -_mkdev(ss, ss*, {-M ss$U c major_ss_c Mult($U,16) 640 operator - M nss$U c major_ss_c Add(Mult($U,16),1) 640 operator - M enss$U c major_ss_c Add(Mult($U,16),3) 640 operator - RMlist="$RMlist scan$U" - MKlist="$MKlist;umask 77;ln -s ss$U scan$U"-})dnl -__devitem(ses, ses*, SES/SAF-TE SCSI devices)dnl -_mkdev(ses, ses*, {-M ses$U c major_ses_c $U 640 operator-})dnl -__devitem(ramd, ramdisk, makes all devices for a ramdisk kernel)dnl arc -_mkdev(ramd, ramdisk, {-dnl -show_target(ramd)dnl --})dnl -target(ramd, std)dnl -target(ramd, random)dnl -target(ramd, bpf, 0)dnl -__devitem(rd, {-rd*-}, "rd" pseudo-disks)dnl -_mkdev(rd, rd*, {-dodisk2 rd $U major_rd_b major_rd_c $U 0{--}ifstep(rd)-})dnl -__devitem(xd, xd*, Xylogic 753/7053 disks)dnl -__devitem(xy, xy*, {- Xylogic 450/451 disks-})dnl -__devitem(flo, {-fd*-}, {-Floppy disk drives (3 1/2"{-,-} 5 1/4")-})dnl -_mkdev(flo, fd*, -{-typnam=$U${i#fd[01]*} - case $typnam in - 0|1) typnum=0;; # no type specified, assume A - *A) typnum=0; typnam=0;; - *B) typnum=1;; - *C) typnum=2;; - *D) typnum=3;; - *E) typnum=4;; - *F) typnum=5;; - *G) typnum=6;; - *H) typnum=7;; - *) echo bad type $typnam for $i; exit 1;; - esac - case $U in - 0|1) blk=major_flo_b; chr=major_flo_c;; - *) echo bad unit $U for $i; exit 1;; - esac - nam=fd${typnam} - n=Add(Mult($U, 128), Mult($typnum, 16)) - M ${nam}a b $blk $n 640 operator - M ${nam}b b $blk Add($n, 1) 640 operator - M ${nam}c b $blk Add($n, 2) 640 operator - M r${nam}a c $chr $n 640 operator - M r${nam}b c $chr Add($n, 1) 640 operator - M r${nam}c c $chr Add($n, 2) 640 operator-}, 664)dnl -__devitem(aflo, ramdisk, devices needed for install floppies)dnl -_mkdev(aflo, fd*, {-case $U in 0|1|2|3) - M fd${U}a b major_aflo_b Mult($U, 16) 640 operator - M fd${U}b b major_aflo_b Add(Mult($U, 16), 1) 640 operator - M rfd${U}a c major_aflo_c Mult($U, 16) 640 operator - M rfd${U}b c major_aflo_c Add(Mult($U, 16), 1) 640 operator;; - *) echo bad unit for floppy disk in: $i;; - esac-})dnl -__devitem(iop, iop*, I2O controller device)dnl -_mcdev(iop, iop*, iop, {-major_iop_c-}, 660)dnl -__devitem(wdt, wdt0, watchdog timer)dnl -_mcdev(wdt, wdt0, wdt, {-major_wdt_c-}, 440, operator)dnl -__devitem(local, local, configuration specific devices)dnl -__devitem(wd, {-wd*-}, {-"winchester" disk drives (ST506, IDE, ESDI, RLL, ...)-})dnl -__devitem(ccd, ccd*, concatenated disk devices)dnl -__devitem(raid, raid*, RAIDframe disk devices)dnl -__devitem(vnd, vnd*, "file" pseudo-disks)dnl -_mkdev(vnd, vnd*, {-dodisk vnd $U major_vnd_b major_vnd_c $U 0{--}ifstep(vnd) - dodisk svnd $U major_vnd_b major_vnd_c $U 2048{--}ifstep(vnd)-})dnl -__devitem(ra, ra*, {-MSCP disks (ra??, hd??)-})dnl -__devitem(hp, hp*, {-massbuss rm??-})dnl -__devitem(hk, hk*, {-unibus rk06 and rk07-})dnl -__devitem(up, up*, {-other unibus devices (e.g. on Emulex sc-21v controller)-})dnl -__devitem(rb, rb*, {-730 idc w/ rb80 and/or rb02-})dnl -__devitem(rx, rx*, {-MSCP floppy disk (rx33/50/...)-})dnl -__devitem(rl, rl*, {-unibus r102-})dnl -__devitem(hd, hd*, {-HDC9224 hd disks on VS2000-})dnl -dnl -dnl For normal disk devices, add a disk_q entry; anything else define like -dnl the rest (such as vnd above). -dnl -disk_q({-ccd-})dnl -disk_q({-hd-})dnl -disk_q({-hk-})dnl -disk_q({-hp-})dnl -disk_q({-ra-})dnl -disk_q({-raid-})dnl -disk_q({-rb-})dnl -disk_q({-rl-})dnl -disk_q({-rx-})dnl -disk_q({-sd-})dnl -disk_q({-xy-})dnl -disk_q({-xd-})dnl -disk_q({-up-})dnl -disk_q({-wd-})dnl -disk_q({-rz-})dnl -dnl -__devitem(loc, local, configuration specific devices)dnl -_mkdev(loc, local, {-test -s $T.local && sh $T.local-})dnl -_mkdev({-disks-}, {-undefine({-C_ase-})show_disks()undefine({-C_ase-})-}, -{-case $i in -show_disks2()dnl - esac-})dnl -__mkdev({-disks-}){--}dnl -dnl -__devtitle(cons, Console ports)dnl -__devitem(ttyv0, ttyv0, pccons or pcvt screen 0)dnl -__devitem(ttyv, ttyv*, pcvt)dnl -__devitem(wscons, ttyC0, wscons screen 0)dnl -twrget(wscons, wscons, ttyC, cfg, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b)dnl -target(wscons, wsmux)dnl -target(wscons, wskbd, 0, 1, 2, 3)dnl -target(wscons, wsmouse, 0, 1, 2, 3)dnl -_mkdev({-wscons-}, {-wscons-}, {-dnl -show_target(wscons)dnl --})dnl -__devitem(wsdisp, ttyC-F*, wscons virtual consoles)dnl -_mkdev({-wsdisp-}, tty[C-F]*, {-U=${i##tty[C-F]} - case $i in - ttyC*) n=C m=expr(0*256);; - ttyD*) n=D m=expr(1*256);; - ttyE*) n=E m=expr(2*256);; - ttyF*) n=F m=expr(3*256);; - esac - case $U in - [0-9a-f]) M tty$n$U c major_wsdisp_c {-$(( 16#$U + $m ))-} 600;; - cfg) M tty${n}cfg c major_wsdisp_c Add(255,$m) 600;; - *) echo bad unit $U for $i; exit 1;; - esac-})dnl -__devitem(wskbd, wskbd*, wscons keyboards)dnl -_mkdev(wskbd, wskbd*, {-M wskbd$U c major_wskbd_c $U 600-})dnl -__devitem(wsmux, wsmux, wscons keyboard/mouse mux devices)dnl -_mkdev(wsmux, wsmux|wsmouse|wskbd, {-M wsmouse c major_wsmux_c 0 600 - M wskbd c major_wsmux_c 1 600-})dnl -__devitem(pcons, console, PROM console)dnl -__devtitle(point, Pointing devices)dnl -__devitem(wsmouse, wsmouse*, wscons mice)dnl -_mkdev(wsmouse, wsmouse*, {-M wsmouse$U c major_wsmouse_c $U 600-})dnl -__devitem(quad, quadmouse, "quadrature mouse")dnl -__devtitle(pty, Pseudo terminals)dnl -__devitem(ptm, ptm, pty master device)dnl -_mkdev(ptm, ptm, {-M ptm c major_ptm_c 0 666-})dnl -__devitem(tty, tty*, set of 16 slave pseudo terminals)dnl -__devitem(pty, pty*, set of 16 master pseudo terminals)dnl -_mkdev(pty, pty*, {-if [ $U -gt 15 ]; then - echo bad unit for pty in: $i - continue - fi - set -A tbl p q r s t u v w x y z P Q R S T - name=${tbl[$U]} - n=0 - while [ $n -lt 16 ] - do - nam=$name$(hex $n) - off=Mult($U, 16) - M tty$nam c major_tty_c Add($off, $n) - M pty$nam c major_pty_c Add($off, $n) - n=Add($n, 1) - done-})dnl -__devitem(dc, dc*, {-4 channel serial interface (keyboard{-,-} mouse{-,-}modem{-,-} printer)-})dnl -__devtitle(prn, Printers)dnl -__devitem(par, par*, motherboard parallel port)dnl -__devitem(lpt, lpt*, IEEE 1284 centronics printer)dnl -_mkdev(lpt, lpt*|lpa*, -{-case $i in - lpt*) n=lpt f=0;; - lpa*) n=lpa f=128;; - esac - M $n$U c major_lpt_c Add($U, $f) 600-})dnl -__devitem(lpa, lpa*, interruptless lp)dnl -__devitem(ppi, ppi*, HP-IB plotters)dnl -__devtitle({-usb-}, USB devices)dnl -__devitem({-usb-}, usb*, Bus control devices used by usbd for attach/detach)dnl -_mkdev({-usb-}, usb*, {-[ "$i" = "usb" ] && u= || u=$U - M usb$u c major_usb_c $U 660-})dnl -__devitem(uhid, uhid*, Generic HID devices)dnl -_mcdev({-uhid-}, uhid*, {-uhid-}, {-major_uhid_c-}, 660)dnl -__devitem(ulpt, ulpt*, Printer devices)dnl -_mcdev({-ulpt-}, ulpt*, {-ulpt-}, {-major_ulpt_c-}, 660)dnl -__devitem(ttyU, ttyU*, Serial ports)dnl -_mkdev({-ttyU-}, {-ttyU[0-9a-zA-Z]-}, {-U=${i#ttyU*} - o=$(alph2d $U) - M ttyU$U c major_ttyU_c $o 660 dialer uucp-})dnl -__devitem(urio, urio*, Diamond Multimedia Rio 500)dnl -_mcdev({-urio-}, urio*, {-urio-}, {-major_urio_c-}, 660)dnl -__devitem(uscan, uscanner*, Scanners)dnl -_mcdev({-uscan-}, uscanner*, {-uscanner-}, {-major_uscan_c-}, 660)dnl -__devitem(ugen, ugen*, Generic device)dnl -_mkdev(ugen, ugen*, {-n=Mult($U, 16) - for j in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 - do - M ugen$U.$j c major_ugen_c Add($n, $j) 660 - done-})dnl -__devtitle(cpu, Cpus)dnl -__devitem(cpu, cpu*, cpus)dnl -__devtitle(call, Call units)dnl -__devtitle(term, Terminal ports)dnl -__devtitle(termp, Terminal multiplexers)dnl -__devitem(dca, dca*, HP200/300 single port serial interface)dnl -__devitem(dcm, dcm*, HP200/300 4 port serial mux interface)dnl -__devitem(apci, apci*, HP400 4 port serial mux interface)dnl -__devitem({-com-}, {-tty[0-7][0-9a-f]-}, NS16x50 serial ports)dnl -_mkdev(com, {-tty[0-7][0-9a-f]-}, {-U=${i#tty*} - o=$(h2d $U) - M tty$U c major_com_c $o 660 dialer uucp - M cua$U c major_com_c Add($o, 128) 660 dialer uucp-})dnl -__devitem(ttyc, ttyc*, Cyclades serial ports)dnl -__devitem(tzs, tty[a-z]*, Zilog 8530 Serial Port)dnl -_mkdev(tzs, {-tty[a-z]-}, {-u=${i#tty*} - case $u in - a) n=0 ;; - b) n=1 ;; - c) n=4 ;; - d) n=5 ;; - *) echo unknown tty device $i ;; - esac - M tty$u c major_tzs_c $n 660 dialer uucp-})dnl -__devitem(tth, ttyh*, Sab82532 serial devices)dnl -_mkdev(tth, ttyh*, {-M ttyh$U c major_tth_c $U 660 dialer uucp-})dnl -__devitem(czs, cua[a-z]*, Zilog 8530 Serial Port)dnl -_mkdev(czs, cua[a-z], {-u=${i#cua*} - case $u in - a) n=0 ;; - b) n=1 ;; - c) n=4 ;; - d) n=5 ;; - *) echo unknown cua device $i ;; - esac - M cua$u c major_czs_c Add($n, 128) 660 dialer uucp-})dnl -__devitem(arm_tty, tty*, {-alias for PC COM ports{-,-} this is what the system really wants-})dnl -__devitem(tty0, tty00, standard serial port)dnl -__devitem(mac_tty0, tty00, standard serial port)dnl -__devitem(ttyA, ttyA*, mfc serial ports)dnl -__devitem(ttyz, tty[a-d], onboard zs serial ports)dnl -__devitem(cuaz, cua[a-d], onboard zs serial ports)dnl -__devitem(ttyB, ttyB?, DEC 3000 ZS8530 ("scc") serial ports)dnl -__devitem(scc, scc*, 82530 serial interface)dnl -__devtitle(spec, Special purpose devices)dnl -__devitem(apm, apm , power management device)dnl -_mkdev(apm, apm*, {-M apm c major_apm_c 0 644 - M apmctl c major_apm_c 8 644-})dnl -__devitem(pcmcia, pcmcia*, PCMCIA card drivers)dnl -__devitem(pctr, pctr*, PC Performance Tuning Register access device)dnl -_mkdev(pctr, pctr, {-M pctr c major_pctr_c 0 644-})dnl -__devitem(systrace, systrace*, system call tracing device)dnl -_mkdev(systrace, systrace, {-M systrace c major_systrace_c 0 644-})dnl -__devitem(au, audio*, audio device)dnl -_mkdev(au, audio*, {-M sound$U c major_au_c $U - M mixer$U c major_au_c Add($U, 16) - M audio$U c major_au_c Add($U, 128) - M audioctl$U c major_au_c Add($U, 192) - MKlist="$MKlist;[ -e audio ] || ln -s audio$U audio" - MKlist="$MKlist;[ -e mixer ] || ln -s mixer$U mixer" - MKlist="$MKlist;[ -e sound ] || ln -s sound$U sound" - MKlist="$MKlist;[ -e audioctl ] || ln -s audioctl$U audioctl"-})dnl -__devitem(asc, asc*, ASC Audio device)dnl -_mkdev(asc, asc*, {-M asc$U major_asc_c 0-})dnl -__devitem(music, music*, midi devices)dnl -_mkdev(music, music*, {-M music$U c major_music_c $U - M sequencer$U c major_music_c Add($U, 128) - MKlist="$MKlist;[ -e music ] || ln -s music$U music" - MKlist="$MKlist;[ -e sequencer ] || ln -s sequencer$U sequencer"-})dnl -__devitem(radio, radio*, FM tuner device)dnl -_mkdev(radio, radio*, {-M radio$U c major_radio_c $U - MKlist="$MKlist;[ -e radio ] || ln -s radio$U radio"-})dnl -__devitem(fdesc, fd, makes fd/* for the fdescfs)dnl -_mkdev(fdesc, fd, {-RMlist="mkdir -p fd;$RMlist" n=0 - while [ $n -lt 64 ];do M fd/$n c major_fdesc_c $n;n=Add($n, 1);done - MKlist="$MKlist;chmod 555 fd"-})dnl -__devtitle(graph, Graphics devices)dnl -__devitem(grf_mac, grf*, {-custom chip (grf0){-,-} Retina Z2/Z3 (grf1/grf2){-,-} -{-#-} Cirrus boards (grf3){-,-} A2410 (grf4) video or -{-#-} CyberVision 64 (grf5)-})dnl -__devitem(ite, ite*, terminal emulator interface to HP300 graphics devices)dnl -__devitem({-hil-}, {-hil-}, HP300 HIL input devices)dnl -__devitem(oppr, openprom)dnl -_cdev(oppr, openprom, 70, 0)dnl -__devitem(cry, crypto, hardware crypto access driver)dnl -_mkdev(cry, crypto, {-M crypto c major_cry_c-} 0)dnl -__devitem(pf, pf*, Packet Filter)dnl -_mkdev(pf, {-pf*-}, {-M pf c major_pf_c 0 600-})dnl -__devitem(bpf, bpf*, Berkeley Packet Filter)dnl -_mkdev(bpf, {-bpf*-}, {-M bpf$U c major_bpf_c $U 600-}, 600)dnl -_mkdev(tun, {-tun*-}, {-M tun$U c major_tun_c $U 600-}, 600)dnl -__devitem(speak, speaker, pc speaker)dnl -_mkdev(speak, speaker, {-M speaker c major_speak_c 0 600-})dnl -__devitem(kbd, kbd, keyboard (provides events, for X11))dnl -_cdev(kbd, kbd, {-major_kbd_c-}, 0, 600)dnl -__devitem(kbd_atari, kbd, Atari keyboard)dnl -__devitem(akbd, kbd, Amiga keyboard)dnl -__devitem(rkbd, kbd, raw keyboard)dnl -__devitem(kbdctl, kbdctl, keyboard control)dnl -__devitem(beep, beep, riscpc speaker)dnl -__devitem(iic, iic*, IIC bus device)dnl -__devitem(rtc, rtc*, RTC device)dnl -__devitem(view, view*, generic interface to graphic displays)dnl -__devitem(aconf, aconf, {-autoconfig information (not yet)-})dnl -__devitem(mouse-, mouse-*, "mouse link")dnl -__devitem(mouse, mouse, mouse (provides events, for X11))dnl -__devitem(amouse, mouse*, Amiga mice)dnl -__devitem(lkm, lkm, loadable kernel modules interface)dnl -_cdev(lkm, lkm, {-major_lkm_c-}, 0, 640, _lkm)dnl -__devitem(mmcl, mmclock, memory mapped clock)dnl -__devitem(tun, tun*, network tunnel driver)dnl -__devitem(rnd, *random, inkernel random data source)dnl -_mkdev(rnd, *random, {-n=0 - for pre in " " s u p a - do - M ${pre}random c major_rnd_c $n 644 - n=Add($n, 1) - done-}, 644)dnl -__devitem(joy, joy*, joystick driver)dnl -_mcdev(joy, joy*, joy, {-major_joy_c-}, 666)dnl -__devitem(mag, magma*, magma card (makes 16 tty and 2 bpp))dnl -__devitem(bppmag, bppmag[mno], magma parallel port device)dnl -__devitem(spif, spif*, spif card (makes 8 tty and 1 bpp))dnl -__devitem(bppsp, bpp[jkl], spif parallel port device)dnl -_mkdev(mag, magma*, {-case $U in - 0) offset=0 nam=m;; - 1) offset=16 nam=n;; - 2) offset=32 nam=o;; - *) echo "bad unit for $i: $U"; exit 127;; - esac - offset=Mult($U, 64) - n=0 - while [ $n -lt 16 ] - do - name=${nam}`hex $n` - M tty$name c major_mag_c Add($offset, $n) 660 dialer uucp - n=Add($n, 1) - done - M bpp${nam}0 c major_bppmag_c Add($offset, 0) 600 - M bpp${nam}1 c major_bppmag_c Add($offset, 1) 600-})dnl -_mkdev(spif, spif*, {-case $U in - 0) offset=0 nam=j;; - 1) offset=16 nam=k;; - 2) offset=32 nam=l;; - *) echo "bad unit for $i: $U"; exit 127;; - esac - offset=Mult($U, 64) - n=0 - while [ $n -lt 8 ] - do - name=${nam}`hex $n` - M tty$name c major_spif_c Add($offset, $n) 660 dialer uucp - n=Add($n, 1) - done - M bpp${nam}0 c major_bppsp_c Add($offset, 0) 600-})dnl -__devitem(bpp, bpp*, parallel port devices)dnl -_mkdev(bpp, {-bpp*-}, {-M bpp$U c major_bpp_c $U 600-}, 600)dnl -__devitem(xfs, xfs*, XFS filesystem devices)dnl -_mcdev(xfs, xfs*, xfs, {-major_xfs_c-}, 600)dnl -__devitem(hil, hil, HIL input devices)dnl -__devitem(rmidi, rmidi*, raw midi devices)dnl -_mcdev(rmidi, rmidi*, rmidi, {-major_rmidi_c-}, 666)dnl -__devtitle(plat, Platform-specific devices)dnl -__devitem(fb, fb*, framebuffer device)dnl -__devitem(bktr, bktr*, video capturing)dnl -_mcdev(bktr, bktr*, bktr, {-major_bktr_c-}, 644)dnl -__devitem(tuner, tuner*, tuner device)dnl -_mkdev(tuner, tuner*, {-M tuner$U c major_bktr_c Add(Mult($U, 2), 16) 644-}, 644)dnl -__devitem(pci, pci, PCI bus device)dnl -_mkdev(pci, pci, {-M pci c major_pci_c 0 600-}, 600)dnl -__devitem(adb, adb, Apple Desktop bus event interface)dnl -_mkdev(adb, adb, {-M adb c major_adb_c 0-})dnl -__devitem(pdc, pdc, PDC device)dnl -_mkdev(local, local, {-test -s $T.local && sh $T.local-}, 666)dnl -__devitem(gpr, gpr*, gpr400 pcmcia device)dnl -_mcdev(gpr, gpr*, gpr, {-major_gpr_c-})dnl -dnl divert(1)dnl +define(__mddivert,7)dnl include(etc.MACHINE/MAKEDEV.md)dnl dnl dnl diff --git a/src/etc/MAKEDEV.sub b/src/etc/MAKEDEV.sub index f318e1c6..6462ea1b 100644 --- a/src/etc/MAKEDEV.sub +++ b/src/etc/MAKEDEV.sub @@ -1,4 +1,4 @@ -dnl $OpenBSD: MAKEDEV.sub,v 1.10 2004/02/14 17:24:31 todd Exp $ +dnl $OpenBSD: MAKEDEV.sub,v 1.11 2004/02/16 18:58:53 miod Exp $ dnl dnl Copyright (c) 2001-2004 Todd T. Fries dnl @@ -66,8 +66,8 @@ dnl store a version string for 'this' file dnl dnl vers ( uniqueidstring, versionstring, subdir ) dnl -dnl example1: vers(__file__, {-$OpenBSD: MAKEDEV.sub,v 1.10 2004/02/14 17:24:31 todd Exp $-}) -dnl example2: vers(__file__, {-$OpenBSD: MAKEDEV.sub,v 1.10 2004/02/14 17:24:31 todd Exp $-}, etc.MACHINE) +dnl example1: vers(__file__, {-$OpenBSD: MAKEDEV.sub,v 1.11 2004/02/16 18:58:53 miod Exp $-}) +dnl example2: vers(__file__, {-$OpenBSD: MAKEDEV.sub,v 1.11 2004/02/16 18:58:53 miod Exp $-}, etc.MACHINE) dnl dnl if subdir is defined, prepend it to the filename in the version string dnl @@ -78,7 +78,7 @@ define({-vers-}, dnl dnl Version info for this file: dnl -vers(__file__, {-$OpenBSD: MAKEDEV.sub,v 1.10 2004/02/14 17:24:31 todd Exp $-})dnl +vers(__file__, {-$OpenBSD: MAKEDEV.sub,v 1.11 2004/02/16 18:58:53 miod Exp $-})dnl dnl dnl define({-_addsubdir-}, @@ -86,7 +86,7 @@ define({-_addsubdir-}, dnl dnl do the 'showing' of the version info dnl -define({-do_vers-}, {-# $1-})dnl +define({-do_vers-}, {-COMM $1-})dnl dnl dnl show version function, to be called at the place when all versions are dnl queued, and it is time to show all of them