Add unit2minor() and use it where appropriate so that we handle
units > 255 properly. Fix usio while I'm there
This commit is contained in:
parent
584b694b75
commit
2bc268486d
121
etc/MAKEDEV
121
etc/MAKEDEV
@ -215,6 +215,12 @@ ttyminor()
|
|||||||
echo $m
|
echo $m
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Convert a unit number to a minor number.
|
||||||
|
unit2minor()
|
||||||
|
{
|
||||||
|
echo $(((($1 >> 8) << 16) | ($1 % 256)))
|
||||||
|
}
|
||||||
|
|
||||||
# Raw partition for disks
|
# Raw partition for disks
|
||||||
dkrawpart=2
|
dkrawpart=2
|
||||||
|
|
||||||
@ -623,7 +629,7 @@ pt[0-9]*)
|
|||||||
unit=0
|
unit=0
|
||||||
fi
|
fi
|
||||||
unit=`expr $unit + 1 - 1`
|
unit=`expr $unit + 1 - 1`
|
||||||
mknod ${name}${unit} c $chr $unit
|
mknod ${name}${unit} c $chr `unit2minor $unit`
|
||||||
;;
|
;;
|
||||||
|
|
||||||
# SCSI SES/SAF-TE type driver
|
# SCSI SES/SAF-TE type driver
|
||||||
@ -635,7 +641,7 @@ ses[0-9]*)
|
|||||||
unit=0
|
unit=0
|
||||||
fi
|
fi
|
||||||
unit=`expr $unit + 1 - 1`
|
unit=`expr $unit + 1 - 1`
|
||||||
mknod ${name}${unit} c $chr $unit
|
mknod ${name}${unit} c $chr `unit2minor $unit`
|
||||||
;;
|
;;
|
||||||
# SCSI target mode sample driver
|
# SCSI target mode sample driver
|
||||||
targ[0-9]*)
|
targ[0-9]*)
|
||||||
@ -646,7 +652,7 @@ targ[0-9]*)
|
|||||||
unit=0
|
unit=0
|
||||||
fi
|
fi
|
||||||
unit=`expr $unit + 1 - 1`
|
unit=`expr $unit + 1 - 1`
|
||||||
mknod ${name}${unit} c $chr $unit
|
mknod ${name}${unit} c $chr `unit2minor $unit`
|
||||||
mknod ${name}.ctl c $chr 0xffff00ff
|
mknod ${name}.ctl c $chr 0xffff00ff
|
||||||
;;
|
;;
|
||||||
|
|
||||||
@ -663,7 +669,7 @@ xpt*)
|
|||||||
while [ $i -lt $units ]; do
|
while [ $i -lt $units ]; do
|
||||||
dname=$name$i
|
dname=$name$i
|
||||||
rm -rf $dname r$dname
|
rm -rf $dname r$dname
|
||||||
mknod $dname c $chr $i root:operator
|
mknod $dname c $chr `unit2minor $i` root:operator
|
||||||
i=$(($i + 1))
|
i=$(($i + 1))
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
@ -681,7 +687,7 @@ pass*)
|
|||||||
while [ $i -lt $units ]; do
|
while [ $i -lt $units ]; do
|
||||||
dname=$name$i
|
dname=$name$i
|
||||||
rm -rf $dname r$dname
|
rm -rf $dname r$dname
|
||||||
mknod $dname c $chr $i root:operator
|
mknod $dname c $chr `unit2minor $i` root:operator
|
||||||
i=$(($i + 1))
|
i=$(($i + 1))
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
@ -892,27 +898,27 @@ wst*)
|
|||||||
|
|
||||||
iic*)
|
iic*)
|
||||||
unit=`expr $i : 'iic\(.*\)'`
|
unit=`expr $i : 'iic\(.*\)'`
|
||||||
mknod iic$unit c 105 $unit
|
mknod iic$unit c 105 `unit2minor $unit`
|
||||||
;;
|
;;
|
||||||
|
|
||||||
smb*)
|
smb*)
|
||||||
unit=`expr $i : 'smb\(.*\)'`
|
unit=`expr $i : 'smb\(.*\)'`
|
||||||
mknod smb$unit c 106 $unit
|
mknod smb$unit c 106 `unit2minor $unit`
|
||||||
;;
|
;;
|
||||||
|
|
||||||
pcfclock*)
|
pcfclock*)
|
||||||
unit=`expr $i : 'pcfclock\(.*\)'`
|
unit=`expr $i : 'pcfclock\(.*\)'`
|
||||||
mknod pcfclock$unit c 140 $unit
|
mknod pcfclock$unit c 140 `unit2minor $unit`
|
||||||
;;
|
;;
|
||||||
|
|
||||||
ppi*)
|
ppi*)
|
||||||
unit=`expr $i : 'ppi\(.*\)'`
|
unit=`expr $i : 'ppi\(.*\)'`
|
||||||
mknod ppi$unit c 82 $unit
|
mknod ppi$unit c 82 `unit2minor $unit`
|
||||||
;;
|
;;
|
||||||
|
|
||||||
pps*)
|
pps*)
|
||||||
unit=`expr $i : 'pps\(.*\)'`
|
unit=`expr $i : 'pps\(.*\)'`
|
||||||
mknod pps$unit c 89 $unit
|
mknod pps$unit c 89 `unit2minor $unit`
|
||||||
;;
|
;;
|
||||||
|
|
||||||
usb)
|
usb)
|
||||||
@ -922,25 +928,25 @@ usb)
|
|||||||
|
|
||||||
usb*)
|
usb*)
|
||||||
unit=`expr $i : 'usb\(.*\)'`
|
unit=`expr $i : 'usb\(.*\)'`
|
||||||
mknod usb$unit c 108 $unit root:operator
|
mknod usb$unit c 108 `unit2minor $unit` root:operator
|
||||||
chmod 0660 usb$unit
|
chmod 0660 usb$unit
|
||||||
;;
|
;;
|
||||||
|
|
||||||
uhid*)
|
uhid*)
|
||||||
unit=`expr $i : 'uhid\(.*\)'`
|
unit=`expr $i : 'uhid\(.*\)'`
|
||||||
mknod uhid$unit c 122 $unit
|
mknod uhid$unit c 122 `unit2minor $unit`
|
||||||
;;
|
;;
|
||||||
|
|
||||||
ums*)
|
ums*)
|
||||||
unit=`expr $i : 'ums\(.*\)'`
|
unit=`expr $i : 'ums\(.*\)'`
|
||||||
mknod ums$unit c 111 $unit
|
mknod ums$unit c 111 `unit2minor $unit`
|
||||||
;;
|
;;
|
||||||
|
|
||||||
ulpt*)
|
ulpt*)
|
||||||
unit=`expr $i : 'ulpt\(.*\)'`
|
unit=`expr $i : 'ulpt\(.*\)'`
|
||||||
minor=$unit
|
minor=`unit2minor $unit`
|
||||||
mknod ulpt$unit c 113 $minor
|
mknod ulpt$unit c 113 $minor
|
||||||
minor=`expr $unit + 64`
|
minor=`unit2minor \`expr $unit + 64\``
|
||||||
mknod unlpt$unit c 113 $minor # and the 'no prime' version
|
mknod unlpt$unit c 113 $minor # and the 'no prime' version
|
||||||
;;
|
;;
|
||||||
|
|
||||||
@ -951,38 +957,39 @@ ugen*)
|
|||||||
echo $i - Invalid unit number
|
echo $i - Invalid unit number
|
||||||
fi
|
fi
|
||||||
if [ -z "${endpoint}" ]; then # ugen0 & ugen0.1 - ugen0.15
|
if [ -z "${endpoint}" ]; then # ugen0 & ugen0.1 - ugen0.15
|
||||||
mknod ugen$unit c 114 $(($unit * 16))
|
mknod ugen$unit c 114 `unit2minor $(($unit * 16))`
|
||||||
i=1
|
i=1
|
||||||
while [ $i -lt 16 ]; do
|
while [ $i -lt 16 ]; do
|
||||||
mknod ugen$unit.$i c 114 $(($unit * 16 + $i))
|
mknod ugen$unit.$i c 114 \
|
||||||
|
`unit2minor $(($unit * 16 + $i))`
|
||||||
i=$(($i + 1))
|
i=$(($i + 1))
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
minor=$(($unit * 16 + $endpoint))
|
minor=`minor2unit $(($unit * 16 + $endpoint))`
|
||||||
mknod ugen$unit.$endpoint c 114 $minor
|
mknod ugen$unit.$endpoint c 114 $minor
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
urio*)
|
urio*)
|
||||||
unit=`expr $i : 'urio\(.*\)'`
|
unit=`expr $i : 'urio\(.*\)'`
|
||||||
mknod urio$unit c 143 $unit
|
mknod urio$unit c 143 `minor2unit $unit`
|
||||||
;;
|
;;
|
||||||
|
|
||||||
usio*)
|
usio*)
|
||||||
unit=`expr $i : 'usio\(.*\)'`
|
unit=`expr $i : 'usio\(.*\)'`
|
||||||
minor=$(($minor + 128))
|
minor=`unit2minor $(($unit + 128))`
|
||||||
mknod usio$unit c 138 $minor
|
mknod usio$unit c 138 $minor
|
||||||
;;
|
;;
|
||||||
|
|
||||||
lpt*)
|
lpt*)
|
||||||
unit=`expr $i : 'lpt\(.*\)'`
|
unit=`expr $i : 'lpt\(.*\)'`
|
||||||
mknod lpt$unit c 16 $unit
|
mknod lpt$unit c 16 `unit2minor $unit`
|
||||||
mknod lpctl$unit c 16 `expr $unit + 128`
|
mknod lpctl$unit c 16 `unit2minor \`expr $unit + 128\``
|
||||||
;;
|
;;
|
||||||
|
|
||||||
tw*)
|
tw*)
|
||||||
unit=`expr $i : 'tw\(.*\)'`
|
unit=`expr $i : 'tw\(.*\)'`
|
||||||
mknod tw$unit c 19 $unit root:operator
|
mknod tw$unit c 19 `unit2minor $unit` root:operator
|
||||||
;;
|
;;
|
||||||
|
|
||||||
# Use this to create virtual consoles for syscons, pcvt or codrv
|
# Use this to create virtual consoles for syscons, pcvt or codrv
|
||||||
@ -993,7 +1000,7 @@ vty*)
|
|||||||
units=`expr $i : 'vty\(.*\)'`
|
units=`expr $i : 'vty\(.*\)'`
|
||||||
i=0
|
i=0
|
||||||
while [ $i -lt $units ]; do
|
while [ $i -lt $units ]; do
|
||||||
mknod ttyv$(printf %01x $i) c $chr $i
|
mknod ttyv$(printf %01x $i) c $chr `unit2minor $i`
|
||||||
i=$(($i + 1))
|
i=$(($i + 1))
|
||||||
done
|
done
|
||||||
ln -fs ttyv0 vga # XXX X still needs this pccons relic
|
ln -fs ttyv0 vga # XXX X still needs this pccons relic
|
||||||
@ -1003,7 +1010,7 @@ bpf*)
|
|||||||
nbpf=`expr $i : 'bpf\(.*\)$'`
|
nbpf=`expr $i : 'bpf\(.*\)$'`
|
||||||
unit=0
|
unit=0
|
||||||
while [ $unit -le $nbpf ]; do
|
while [ $unit -le $nbpf ]; do
|
||||||
mknod bpf$unit c 23 $unit
|
mknod bpf$unit c 23 `unit2minor $unit`
|
||||||
unit=$(($unit + 1))
|
unit=$(($unit + 1))
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
@ -1296,13 +1303,15 @@ cuaR?)
|
|||||||
mse*)
|
mse*)
|
||||||
unit=`expr $i : 'mse\(.*\)'`
|
unit=`expr $i : 'mse\(.*\)'`
|
||||||
chr=27
|
chr=27
|
||||||
mknod mse$unit c $chr `expr $unit '*' 2 + 1` # non-blocking for X11
|
# non-blocking for X11
|
||||||
|
mknod mse$unit c $chr `unit2minor \`expr $unit '*' 2 + 1\``
|
||||||
;;
|
;;
|
||||||
|
|
||||||
psm*)
|
psm*)
|
||||||
unit=`expr $i : 'psm\(.*\)'`
|
unit=`expr $i : 'psm\(.*\)'`
|
||||||
chr=21
|
chr=21
|
||||||
mknod psm$unit c $chr `expr $unit '*' 2 + 1` # non-blocking for X11
|
# non-blocking for X11
|
||||||
|
mknod psm$unit c $chr `unit2minor \`expr $unit '*' 2 + 1\``
|
||||||
;;
|
;;
|
||||||
|
|
||||||
mouse*)
|
mouse*)
|
||||||
@ -1349,16 +1358,16 @@ snd*)
|
|||||||
ln -fs music$unit music
|
ln -fs music$unit music
|
||||||
ln -fs pss$unit pss
|
ln -fs pss$unit pss
|
||||||
|
|
||||||
mknod mixer$unit c $chr `expr $unit '*' 16 + 0`
|
mknod mixer$unit c $chr `unit2minor \`expr $unit '*' 16 + 0\``
|
||||||
mknod sequencer$unit c $chr `expr $unit '*' 16 + 1`
|
mknod sequencer$unit c $chr `unit2minor \`expr $unit '*' 16 + 1\``
|
||||||
mknod midi$unit c $chr `expr $unit '*' 16 + 2`
|
mknod midi$unit c $chr `unit2minor \`expr $unit '*' 16 + 2\``
|
||||||
mknod dsp$unit c $chr `expr $unit '*' 16 + 3`
|
mknod dsp$unit c $chr `unit2minor \`expr $unit '*' 16 + 3\``
|
||||||
mknod audio$unit c $chr `expr $unit '*' 16 + 4`
|
mknod audio$unit c $chr `unit2minor \`expr $unit '*' 16 + 4\``
|
||||||
mknod dspW$unit c $chr `expr $unit '*' 16 + 5`
|
mknod dspW$unit c $chr `unit2minor \`expr $unit '*' 16 + 5\``
|
||||||
mknod sndstat c $chr 6
|
mknod sndstat c $chr 6
|
||||||
# minor number 7 is unused
|
# minor number 7 is unused
|
||||||
mknod music$unit c $chr `expr $unit '*' 16 + 8`
|
mknod music$unit c $chr `unit2minor \`expr $unit '*' 16 + 8\``
|
||||||
mknod pss$unit c $chr `expr $unit '*' 16 + 9`
|
mknod pss$unit c $chr `unit2minor \`expr $unit '*' 16 + 9\``
|
||||||
# minor number 10 is unused
|
# minor number 10 is unused
|
||||||
mknod midistat c $chr 11
|
mknod midistat c $chr 11
|
||||||
# minor numbers 12-15 are unused
|
# minor numbers 12-15 are unused
|
||||||
@ -1372,10 +1381,10 @@ vat)
|
|||||||
|
|
||||||
gsc*)
|
gsc*)
|
||||||
unit=`expr $i : 'gsc\(.*\)'`
|
unit=`expr $i : 'gsc\(.*\)'`
|
||||||
mknod gsc${unit} c 47 $unit
|
mknod gsc${unit} c 47 `unit2minor $unit`
|
||||||
mknod gsc${unit}p c 47 $(($unit + 8))
|
mknod gsc${unit}p c 47 `unit2minor $(($unit + 8))`
|
||||||
mknod gsc${unit}d c 47 $(($unit + 32))
|
mknod gsc${unit}d c 47 `unit2minor $(($unit + 32))`
|
||||||
mknod gsc${unit}pd c 47 $(($unit + 40))
|
mknod gsc${unit}pd c 47 `unit2minor $(($unit + 40))`
|
||||||
chmod 666 gsc${unit}*
|
chmod 666 gsc${unit}*
|
||||||
;;
|
;;
|
||||||
|
|
||||||
@ -1392,7 +1401,7 @@ apmctl)
|
|||||||
card*)
|
card*)
|
||||||
unit=`expr $i : 'card\(.*\)'`
|
unit=`expr $i : 'card\(.*\)'`
|
||||||
chr=50
|
chr=50
|
||||||
mknod card$unit c $chr $unit
|
mknod card$unit c $chr `unit2minor $unit`
|
||||||
chmod 644 card$unit
|
chmod 644 card$unit
|
||||||
;;
|
;;
|
||||||
|
|
||||||
@ -1427,21 +1436,21 @@ spigot)
|
|||||||
|
|
||||||
ctx?)
|
ctx?)
|
||||||
unit=`expr $i : 'ctx\(.*\)'`
|
unit=`expr $i : 'ctx\(.*\)'`
|
||||||
mknod ctx$unit c 40 $unit
|
mknod ctx$unit c 40 `unit2minor $unit`
|
||||||
chmod 444 ctx$unit
|
chmod 444 ctx$unit
|
||||||
;;
|
;;
|
||||||
|
|
||||||
meteor?)
|
meteor?)
|
||||||
unit=`expr $i : 'meteor\(.*\)'`
|
unit=`expr $i : 'meteor\(.*\)'`
|
||||||
mknod meteor$unit c 67 $unit
|
mknod meteor$unit c 67 `unit2minor $unit`
|
||||||
chmod 444 meteor$unit
|
chmod 444 meteor$unit
|
||||||
;;
|
;;
|
||||||
|
|
||||||
bktr?)
|
bktr?)
|
||||||
unit=`expr $i : 'bktr\(.*\)'`
|
unit=`expr $i : 'bktr\(.*\)'`
|
||||||
mknod bktr$unit c 92 $unit
|
mknod bktr$unit c 92 `unit2minor $unit`
|
||||||
mknod tuner$unit c 92 $((16 + $unit ))
|
mknod tuner$unit c 92 `unit2minor $((16 + $unit ))`
|
||||||
mknod vbi$unit c 92 $((32 + $unit ))
|
mknod vbi$unit c 92 `unit2minor $((32 + $unit ))`
|
||||||
chmod 444 bktr$unit tuner$unit vbi$unit
|
chmod 444 bktr$unit tuner$unit vbi$unit
|
||||||
;;
|
;;
|
||||||
|
|
||||||
@ -1449,7 +1458,7 @@ tun*)
|
|||||||
ntun=`expr $i : 'tun\(.*\)$'`
|
ntun=`expr $i : 'tun\(.*\)$'`
|
||||||
unit=0
|
unit=0
|
||||||
while [ $unit -le $ntun ]; do
|
while [ $unit -le $ntun ]; do
|
||||||
mknod tun$unit c 52 $unit uucp:dialer
|
mknod tun$unit c 52 `unit2minor $unit` uucp:dialer
|
||||||
unit=$(($unit + 1))
|
unit=$(($unit + 1))
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
@ -1458,7 +1467,7 @@ tap*)
|
|||||||
ntap=`expr $i : 'tap\(.*\)$'`
|
ntap=`expr $i : 'tap\(.*\)$'`
|
||||||
unit=0
|
unit=0
|
||||||
while [ $unit -le $ntap ]; do
|
while [ $unit -le $ntap ]; do
|
||||||
mknod tap$unit c 149 $unit root:network
|
mknod tap$unit c 149 `unit2minor $unit` root:network
|
||||||
unit=$(($unit + 1))
|
unit=$(($unit + 1))
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
@ -1470,7 +1479,7 @@ sysmouse)
|
|||||||
|
|
||||||
snp?)
|
snp?)
|
||||||
unit=`expr $i : 'snp\(.*\)'`
|
unit=`expr $i : 'snp\(.*\)'`
|
||||||
mknod snp$unit c 53 $unit
|
mknod snp$unit c 53 `unit2minor $unit`
|
||||||
;;
|
;;
|
||||||
|
|
||||||
# dufault@hda.com: If I do much more work on other A-D boards
|
# dufault@hda.com: If I do much more work on other A-D boards
|
||||||
@ -1533,7 +1542,7 @@ ipl)
|
|||||||
kbd*)
|
kbd*)
|
||||||
unit=`expr $i : 'kbd\(.*\)'`
|
unit=`expr $i : 'kbd\(.*\)'`
|
||||||
chr=112
|
chr=112
|
||||||
mknod kbd$unit c $chr $unit
|
mknod kbd$unit c $chr `unit2minor $unit`
|
||||||
;;
|
;;
|
||||||
|
|
||||||
i4b)
|
i4b)
|
||||||
@ -1546,33 +1555,33 @@ i4bctl)
|
|||||||
|
|
||||||
i4brbch*)
|
i4brbch*)
|
||||||
unit=`expr $i : 'i4brbch\(.*\)'`
|
unit=`expr $i : 'i4brbch\(.*\)'`
|
||||||
mknod i4brbch$unit c 57 $unit
|
mknod i4brbch$unit c 57 `unit2minor $unit`
|
||||||
;;
|
;;
|
||||||
|
|
||||||
i4bteld*)
|
i4bteld*)
|
||||||
offset=64
|
offset=64
|
||||||
unit=`expr $i : 'i4bteld\(.*\)'`
|
unit=`expr $i : 'i4bteld\(.*\)'`
|
||||||
mknod i4bteld$unit c 56 `expr $offset + $unit `
|
mknod i4bteld$unit c 56 `unit2minor \`expr $offset + $unit\``
|
||||||
;;
|
;;
|
||||||
|
|
||||||
i4btel*)
|
i4btel*)
|
||||||
unit=`expr $i : 'i4btel\(.*\)'`
|
unit=`expr $i : 'i4btel\(.*\)'`
|
||||||
mknod i4btel$unit c 56 $unit
|
mknod i4btel$unit c 56 `unit2minor $unit`
|
||||||
;;
|
;;
|
||||||
|
|
||||||
i4btrc*)
|
i4btrc*)
|
||||||
unit=`expr $i : 'i4btrc\(.*\)'`
|
unit=`expr $i : 'i4btrc\(.*\)'`
|
||||||
mknod i4btrc$unit c 59 $unit
|
mknod i4btrc$unit c 59 `unit2minor $unit`
|
||||||
;;
|
;;
|
||||||
|
|
||||||
mlx*)
|
mlx*)
|
||||||
unit=`expr $i : 'mlx\(.*\)'`
|
unit=`expr $i : 'mlx\(.*\)'`
|
||||||
mknod mlx$unit c 130 $unit
|
mknod mlx$unit c 130 `unit2minor $unit`
|
||||||
;;
|
;;
|
||||||
|
|
||||||
3dfx*)
|
3dfx*)
|
||||||
unit=`expr $i : '3dfx\(.*\)'`
|
unit=`expr $i : '3dfx\(.*\)'`
|
||||||
mknod 3dfx$unit c 107 $unit
|
mknod 3dfx$unit c 107 `unit2minor $unit`
|
||||||
ln -sf 3dfx$unit 3dfx
|
ln -sf 3dfx$unit 3dfx
|
||||||
;;
|
;;
|
||||||
|
|
||||||
@ -1582,7 +1591,7 @@ agpgart)
|
|||||||
|
|
||||||
twe*)
|
twe*)
|
||||||
unit=`expr $i : 'twe\(.*\)'`
|
unit=`expr $i : 'twe\(.*\)'`
|
||||||
mknod twe$unit c 146 $unit
|
mknod twe$unit c 146 `unit2minor $unit`
|
||||||
;;
|
;;
|
||||||
|
|
||||||
local)
|
local)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user