|
|
@ -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 |
|
|
|