Browse Source

hppa is in.

OPENBSD_3_1
todd 23 years ago
parent
commit
d7fd27d454
2 changed files with 332 additions and 273 deletions
  1. +2
    -2
      src/etc/Makefile
  2. +330
    -271
      src/etc/etc.hppa/MAKEDEV

+ 2
- 2
src/etc/Makefile View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.145 2002/02/13 20:04:57 todd Exp $
# $OpenBSD: Makefile,v 1.146 2002/02/13 20:23:01 todd Exp $
TZDIR= /usr/share/zoneinfo
LOCALTIME= US/Pacific
@ -321,7 +321,7 @@ snap_md:
MAKEDEVARCHS+= alpha
MAKEDEVARCHS+= amiga
#MAKEDEVARCHS+= hp300
#MAKEDEVARCHS+= hppa
MAKEDEVARCHS+= hppa
MAKEDEVARCHS+= i386
MAKEDEVARCHS+= mac68k
MAKEDEVARCHS+= macppc


+ 330
- 271
src/etc/etc.hppa/MAKEDEV View File

@ -1,353 +1,412 @@
#!/bin/sh -
#
# $OpenBSD: MAKEDEV,v 1.9 2001/09/06 19:40:21 mickey Exp $
# @(#)MAKEDEV 5.5 (Berkeley) 5/28/91
# THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
# generated from:
#
# OpenBSD: etc.hppa/MAKEDEV.md,v 1.3 2002/02/13 20:21:54 todd Exp
# OpenBSD: MAKEDEV.mi,v 1.26 2002/02/10 21:52:30 deraadt Exp
# OpenBSD: MAKEDEV.sub,v 1.5 2002/01/23 06:02:19 todd Exp
#
# $OpenBSD: MAKEDEV,v 1.10 2002/02/13 20:23:01 todd Exp $
#
# Copyright (c) 2001 Todd T. Fries <todd@OpenBSD.org>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Device "make" file. Valid arguments:
# all makes all known devices, including local devices.
# Tries to make the ``standard'' number of each type.
# std standard devices
# local configuration specific devices
# Tapes:
# st* SCSI tape
# st* SCSI tapes
# Disks:
# fd* floppy disks
# fd* Floppy disk drives (3 1/2", 5 1/4")
# sd* SCSI disks
# cd* CDROM drives
# ccd* "concatenated" pseudo-disks
# cd* SCSI cdrom drives
# ccd* concatenated disk devices
# vnd* "file" pseudo-disks
# rd* RAM disks
# Terminal multiplexors:
# tty0* RS-232 single-port serial interface
# rd* "ramdisk" pseudo-disks
# Terminal ports:
# tty0* NS16x50 serial ports
# Pseudo terminals:
# pty* set of 16 master and slave pseudo terminals
# tty* set of 16 slave psuedo terminals
# pty* set of 16 master pseudo terminals
# Printers:
# lpt* IEEE 1284 cetronics iface
# lpt* IEEE 1284 centronics printer
# Call units:
# Special purpose devices:
# ch* SCSI media changer
# fd file descriptors
# hil HIL input devices
# bpf* packet filter
# hil HP300 HIL input devices
# fd makes fd/* for the fdescfs
# bpf* Berkeley Packet Filter
# tun* network tunnel driver
# pf* Packet Filter
# lkm loadable kernel modules interface
# *random inkernel random number generator
# altq/ ALTQ control interface
# *random inkernel random data source
# xfs* XFS filesystem devices
# altq ALTQ control interface
# ch* SCSI media changer
# ss* SCSI scanners
# uk* SCSI Unknown device
# pdc PDC device
#
PATH=/sbin:/usr/sbin:/bin:/usr/bin
T=$0
PATH=/sbin:/bin/:/usr/bin:/usr/sbin
umask 77
# set this to echo for Echo-Only debugging
[ "$eo" ] || eo=
#
# Utility functions
#
hex ()
hex()
{
case $1 in
[0-9]) echo -n $1 ;;
10) echo -n a;;
11) echo -n b;;
12) echo -n c;;
13) echo -n d;;
14) echo -n e;;
15) echo -n f;;
[0-9]) echo -n $1;;
10) echo -n a;;
11) echo -n b;;
12) echo -n c;;
13) echo -n d;;
14) echo -n e;;
15) echo -n f;;
esac
}
dodisk ()
trunc()
{
rm -f ${1}${2}? r${1}${2}?
mknod ${1}${2}a b $3 $(($5 * 16 + $6 + 0))
mknod ${1}${2}b b $3 $(($5 * 16 + $6 + 1))
mknod ${1}${2}c b $3 $(($5 * 16 + $6 + 2))
mknod ${1}${2}d b $3 $(($5 * 16 + $6 + 3))
mknod ${1}${2}e b $3 $(($5 * 16 + $6 + 4))
mknod ${1}${2}f b $3 $(($5 * 16 + $6 + 5))
mknod ${1}${2}g b $3 $(($5 * 16 + $6 + 6))
mknod ${1}${2}h b $3 $(($5 * 16 + $6 + 7))
mknod ${1}${2}i b $3 $(($5 * 16 + $6 + 8))
mknod ${1}${2}j b $3 $(($5 * 16 + $6 + 9))
mknod ${1}${2}k b $3 $(($5 * 16 + $6 + 10))
mknod ${1}${2}l b $3 $(($5 * 16 + $6 + 11))
mknod ${1}${2}m b $3 $(($5 * 16 + $6 + 12))
mknod ${1}${2}n b $3 $(($5 * 16 + $6 + 13))
mknod ${1}${2}o b $3 $(($5 * 16 + $6 + 14))
mknod ${1}${2}p b $3 $(($5 * 16 + $6 + 15))
mknod r${1}${2}a c $4 $(($5 * 16 + $6 + 0))
mknod r${1}${2}b c $4 $(($5 * 16 + $6 + 1))
mknod r${1}${2}c c $4 $(($5 * 16 + $6 + 2))
mknod r${1}${2}d c $4 $(($5 * 16 + $6 + 3))
mknod r${1}${2}e c $4 $(($5 * 16 + $6 + 4))
mknod r${1}${2}f c $4 $(($5 * 16 + $6 + 5))
mknod r${1}${2}g c $4 $(($5 * 16 + $6 + 6))
mknod r${1}${2}h c $4 $(($5 * 16 + $6 + 7))
mknod r${1}${2}i c $4 $(($5 * 16 + $6 + 8))
mknod r${1}${2}j c $4 $(($5 * 16 + $6 + 9))
mknod r${1}${2}k c $4 $(($5 * 16 + $6 + 10))
mknod r${1}${2}l c $4 $(($5 * 16 + $6 + 11))
mknod r${1}${2}m c $4 $(($5 * 16 + $6 + 12))
mknod r${1}${2}n c $4 $(($5 * 16 + $6 + 13))
mknod r${1}${2}o c $4 $(($5 * 16 + $6 + 14))
mknod r${1}${2}p c $4 $(($5 * 16 + $6 + 15))
chown root.operator ${1}${2}[a-p] r${1}${2}[a-p]
chmod 640 ${1}${2}[a-p] r${1}${2}[a-p]
# XXX pdksh can't seem to deal with locally scoped variables
# in ${foo#$bar} expansions
arg1="$1"
arg2="$2"
case $3 in
l) echo ${arg2#$arg1} ;;
r|*) echo ${arg1#$arg2} ;;
esac
}
#
# End of utility functions
#
unt()
{
# XXX pdksh can't seem to deal with locally scoped variables
# in ${foo#$bar} expansions
arg="$1"
tmp="${arg#[a-zA-Z]*}"
tmp="${tmp%*[a-zA-Z]}"
while [ "$tmp" != "$arg" ]
do
arg=$tmp
tmp="${arg#[a-zA-Z]*}"
tmp="${tmp%*[a-zA-Z]}"
done
echo $arg
}
for i
dodisk()
{
[ "$DEBUG" ] && set -x
n=$(($((${5}*${7:-16}))+${6})) count=0
RMlist="$RMlist $1$2? r$1$2?"
[ 0$7 -ne 8 ] && l="i j k l m n o p"
for d in a b c d e f g h $l
do
M $1$2$d b $3 $(($n+$count)) 640
M r$1$2$d c $4 $(($n+$count)) 640
let count=count+1
done
MKlist="$MKlist;chown root.operator $1$2? r$1$2?"
}
dodisk2()
{
n=$(($(($5*${7:-16}))+$6))
M $1$2a b $3 $n 640 operator
M r$1$2a c $4 $n 640 operator
n=$(($n+2))
M $1$2c b $3 $n 640 operator
M r$1$2c c $4 $n 640 operator
}
# M name b/c major minor [mode] [group]
RMlist="rm -f"
MKlist=":"
mkl() {
[ "${mklist[$1]}" ] && {
mklist[$1]="${mklist[$1]};mknod -m $1 $2 $3 $4 $5"
} || {
mklist[$1]="mknod -m $1 $2 $3 $4 $5"
modes="$modes $1"
}
}
M() {
RMlist="$RMlist $1"
mkl ${5-666} $1 $2 $3 $4
mklist="$mklist $1"
G=${6:-wheel}
[ "$7" ] && {
MKlist="$MKlist;chown $7.$G $1"
} || {
case $G in
wheel)g=0;;kmem)g=2;;operator)g=5;;tty)g=4;;dialer)g=117;;
esac
[ "${grplist[$g]}" ] && {
grplist[$g]="${grplist[$g]} $1"
} || {
groups="$groups $g"
grplist[$g]="chgrp $G $1"
}
}
return 0
}
R() {
[ "$DEBUG" ] && set -x
for i in "$@"
do
U=`unt $i`
[ "$U" ] || U=0
case $i in
ramdisk)
R std fd st0 st1 sd0 sd1 sd2 sd3 rd0
R pty0 hil com0 com1
R bpf0 bpf1 tun0 tun1 lkm random
;;
all)
sh MAKEDEV std fd st0 st1 ccd0 ccd1 ccd2
sh MAKEDEV sd0 sd1 sd2 rd0 rd1 pty0 vnd0 vnd1 vnd2 vnd3
sh MAKEDEV tty00 tty01 tty02 tty03
sh MAKEDEV bpf0 bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7 bpf8 bpf9
sh MAKEDEV pf tun0 tun1 tun2 tun3 lkm random xfs0 altq
sh MAKEDEV local
std)
M console c 0 0 600
M tty c 1 0
M mem c 2 0 640 kmem
M kmem c 2 1 640 kmem
M null c 2 2
M zero c 2 12
M stdin c 16 0
M stdout c 16 1
M stderr c 16 2
M ksyms c 29 0 640 kmem
M drum c 3 0 640 kmem
M klog c 6 0 600
;;
raminst)
sh MAKEDEV std fd st0 st1 sd0 sd1 sd2 sd3 rd0 rd1
sh MAKEDEV pty0 hil tty00 tty01
sh MAKEDEV bpf0 bpf1 tun0 tun1 lkm random
uk*)
M uk$U c 15 $U 640 operator
;;
std)
rm -f console drum kmem mem null zero tty klog stdin stdout stderr ksyms
mknod console c 0 0
mknod tty c 1 0 ; chmod 666 tty
mknod mem c 2 0 ; chmod 640 mem ; chown root.kmem mem
mknod kmem c 2 1 ; chmod 640 kmem ; chown root.kmem kmem
mknod null c 2 2 ; chmod 666 null
mknod zero c 2 12 ; chmod 666 zero
mknod drum c 3 0 ; chmod 640 drum ; chown root.kmem drum
mknod klog c 6 0 ; chmod 600 klog
mknod stdin c 16 0 ; chmod 666 stdin
mknod stdout c 16 1 ; chmod 666 stdout
mknod stderr c 16 2 ; chmod 666 stderr
mknod ksyms c 29 0 ; chmod 640 ksyms ; chown root.kmem ksyms
ss*)
M ss$U c 14 $U 440 operator
RMlist="$RMlist scan$U"
MKlist="$MKlist;umask 77;ln -s ss$U scan$U"
;;
fd)
rm -f fd/*
mkdir fd > /dev/null 2>&1
n=0
(cd fd && while [ $n -lt 64 ]; do mknod $n c 24 $n; n="$(( $n + 1 ))"; done )
chown -R root.wheel fd
chmod 555 fd
chmod 666 fd/*
ch*)
M ch$U c 13 $U 660 operator
;;
st*)
umask 2 ; unit=${i##*[a-z]}
case $i in
st*) name=st; chr=11; blk=5;;
esac
rm -f $name$unit n$name$unit e$name$unit en$name$unit \
r$name$unit nr$name$unit er$name$unit enr$name$unit
mknod $name$unit b $blk $(($unit * 16 + 0))
mknod n$name$unit b $blk $(($unit * 16 + 1))
mknod e$name$unit b $blk $(($unit * 16 + 2))
mknod en$name$unit b $blk $(($unit * 16 + 3))
mknod r$name$unit c $chr $(($unit * 16 + 0))
mknod nr$name$unit c $chr $(($unit * 16 + 1))
mknod er$name$unit c $chr $(($unit * 16 + 2))
mknod enr$name$unit c $chr $(($unit * 16 + 3))
chown root.operator $name$unit n$name$unit e$name$unit en$name$unit \
r$name$unit nr$name$unit er$name$unit enr$name$unit
chmod 660 $name$unit n$name$unit e$name$unit en$name$unit \
r$name$unit nr$name$unit er$name$unit enr$name$unit
umask 77
xfs*)
M xfs$U c 31 $U 600
;;
ch*)
umask 2
name=ch; chr=13
rm -f $name$unit
mknod ${name}${unit} c $chr $unit
chown root.operator ${name}${unit}
chmod 660 ${name}${unit}
umask 77
*random)
n=0
for pre in " " s u p a
do
M ${pre}random c 20 $n 644
n=$(($n+1))
done
;;
bpf*)
unit=${i##*[a-z]}
rm -f bpf$unit
mknod bpf$unit c 17 $unit
chmod 600 bpf$unit
chown root.wheel bpf$unit
altq)
RMlist="mkdir -p altq;$RMlist"
for d in altq cbq wfq afm fifoq red rio localq hfsc cdnr blue priq; do
M altq/$d c 33 $U 644
U=$(($U+1))
done
;;
pf)
rm -f pf
mknod pf c 21 0
chown root.wheel pf
chmod 600 pf
lkm)
M lkm c 19 0 640 kmem
;;
pf*)
M pf c 21 0 600
;;
tun*)
unit=${i##*[a-z]}
rm -f tun$unit
mknod tun$unit c 18 $unit
chmod 600 tun$unit
chown root.wheel tun$unit
M tun$U c 18 $U 600
;;
rd*|cd*)
umask 2 ; unit=${i##*[a-z]}
case $i in
rd*) name=cd; blk=3; chr=9;;
cd*) name=cd; blk=6; chr=12;;
esac
rm -f $name${unit}? r$name${unit}?
mknod ${name}${unit}a b $blk $(($unit * 16 + 0))
mknod ${name}${unit}c b $blk $(($unit * 16 + 2))
mknod r${name}${unit}a c $chr $(($unit * 16 + 0))
mknod r${name}${unit}c c $chr $(($unit * 16 + 2))
chown root.operator ${name}${unit}[a-h] r${name}${unit}[a-h]
chmod 640 ${name}${unit}[a-h] r${name}${unit}[a-h]
umask 77
bpf*)
M bpf$U c 17 $U 600
;;
ccd*|sd*)
umask 2 ; unit=${i##*[a-z]}
fd)
RMlist="mkdir -p fd;$RMlist" n=0
while [ $n -lt 64 ];do M fd/$n c 16 $n;n=$(($n+1));done
MKlist="$MKlist;chmod 555 fd"
;;
lpt*|lpa*)
case $i in
sd*) name=sd; blk=4; chr=10;;
ccd*) name=ccd; blk=1; chr=7;;
lpt*) n=lpt f=0;;
lpa*) n=lpa f=128;;
esac
case $unit in
0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|\
17|18|19|20|21|22|23|24|25|26|27|28|29|30|31)
dodisk $name $unit $blk $chr $unit 0
;;
*)
echo bad unit for disk in: $i
;;
esac
umask 77
M $n$U c 30 $(($U+$f)) 600
;;
vnd*)
umask 2 ; unit=${i##*[a-z]}
blk=2; chr=8;
dodisk vnd $unit $blk $chr $unit 0
dodisk svnd $unit $blk $chr $unit 128
umask 77
pty*)
case $U in
0) off=0 name=p;;
1) off=16 name=q;;
2) off=32 name=r;;
3) off=48 name=s;;
4) off=64 name=t;;
5) off=80 name=u;;
6) off=96 name=v;;
7) off=112 name=w;;
8) off=128 name=x;;
9) off=144 name=y;;
10) off=160 name=z;;
11) off=176 name=P;;
12) off=192 name=Q;;
13) off=206 name=R;;
14) off=224 name=S;;
15) off=240 name=T;;
*) echo bad unit for pty in: $i; continue;;
esac
n=0
while [ $n -lt 16 ]
do
nam=$name$(hex $n)
M tty$nam c 4 $(($off+$n))
M pty$nam c 5 $(($off+$n))
n=$(($n+1))
done
;;
tty0*)
unit=${i##tty0}
case $unit in
0|1|2|3)
rm -f tty${unit} cua${unit}
mknod tty${unit} c 23 ${unit}
mknod cua${unit} c 23 $((${unit} + 128))
;;
*)
echo bad unit for tty in: $i
;;
esac
M tty$U c 23 $U 660 dialer uucp
M cua$U c 23 $(($U+128)) 660 dialer uucp
;;
lpt*)
unit=${i##*[a-z]}
case $unit in
0|1|2|3)
rm -f lpt${unit}
mknod lpt${unit} c 30 ${unit}
;;
*)
echo bad unit for lpt in: $i
;;
esac
rd*)
dodisk2 rd $U 3 9 $U 0
;;
lkm)
rm -f lkm
mknod lkm c 19 0
chown root.kmem lkm
chmod 640 lkm
vnd*)
dodisk vnd $U 2 8 $U 0
dodisk svnd $U 2 8 $U 128
;;
pty*)
class=${i##*[a-z]}
case $class in
0) offset=0 name=p;;
1) offset=16 name=q;;
2) offset=32 name=r;;
3) offset=48 name=s;;
4) offset=64 name=t;;
5) offset=80 name=u;;
6) offset=96 name=v;;
7) offset=112 name=w;;
8) offset=128 name=x;;
9) offset=144 name=y;;
10) offset=160 name=z;;
11) offset=176 name=P;;
12) offset=192 name=Q;;
13) offset=208 name=R;;
14) offset=224 name=S;;
15) offset=240 name=T;;
*) echo bad unit for pty in: $i;;
cd*)
dodisk2 cd $U 6 12 $U 0
;;
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 $class in
0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15)
umask 0
n=0
while [ $n -lt 16 ]
do
nam=$name`hex $n`
rm -f {tty,pty}$nam
mknod tty$nam c 4 "$(( $offset + $n ))"
mknod pty$nam c 5 "$(( $offset + $n ))"
n="$(( $n + 1 ))"
done
umask 77
;;
case $U in
0|1) blk=7; chr=24;;
*) echo bad unit $U for $i; exit 1;;
esac
nam=fd${typnam}
n=$(($(($U*128))+$(($typnum*16))))
M ${nam}a b $blk $n 640 operator
M ${nam}b b $blk $(($n+1)) 640 operator
M ${nam}c b $blk $(($n+2)) 640 operator
M r${nam}a c $chr $n 640 operator
M r${nam}b c $chr $(($n+1)) 640 operator
M r${nam}c c $chr $(($n+2)) 640 operator
;;
random|srandom|urandom|prandom|arandom)
rm -f random urandom srandom prandom arandom
mknod random c 20 0
mknod srandom c 20 1
mknod urandom c 20 2
mknod prandom c 20 3
mknod arandom c 20 4
chown root.wheel random srandom urandom prandom arandom
chmod 644 random srandom urandom prandom arandom
st*)
n=$(($U*16))
for pre in " " n e en
do
M ${pre}st$U b 5 $n 660 operator
M ${pre}rst$U c 11 $n 660 operator
n=$(($n+1))
done
;;
xfs*)
rm -f xfs$unit
mknod xfs$unit c 31 $unit
chmod 600 xfs$unit
chown root.wheel xfs$unit
local)
test -s $T.local && sh $T.local
;;
altq)
mkdir -p altq
chmod 755 altq
unit=0
for dev in altq cbq wfq afm fifoq red rio localq hfsc \
cdnr blue priq; do
rm -f altq/$dev
mknod altq/$dev c 33 $unit
chmod 644 altq/$dev
unit=$(($unit + 1))
done
all)
R xfs0 ss0 ss1 uk0 rndrandom lpa0 lpa1 lpa2 lpt0 lpt1 lpt2
R lkm tty00 tty01 tty02 tty03 pf altq tun0 tun1 tun2 tun3 bpf0
R bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7 bpf8 bpf9 fd1 fd1B fd1C
R fd1D fd1E fd1F fd1G fd1H fd0 fd0B fd0C fd0D fd0E fd0F fd0G
R fd0H rd0 ccd0 ccd1 ccd2 ccd3 vnd0 vnd1 vnd2 vnd3 std cd0 cd1
R ch0 st0 st1 pty0 pty1 fd sd0 sd1 sd2 sd3 sd4
;;
local)
umask 0
test -s MAKEDEV.local && sh MAKEDEV.local
sd*|ccd*)
case $i in
sd*) dodisk sd $U 4 10 $U 0;;
ccd*) dodisk ccd $U 1 7 $U 0;;
esac
;;
*)
echo $i: unknown device
;;
esac
done
}
R "$@"
if [ "$os" = "SunOS" ]; then
eo=transform
transform() {
case $mode in
600) mask=077;;
640) mask=027;;
660) mask=007;;
644) mask=022;;
666) mask=0;;
440) mask=227;;
esac
echo `echo "$@"|sed \
's/mknod -m \([0-9]*\) /umask '$mask';mknod /;s/-m [0-9]* //g;\
s/operator/5/g;s/root.kmem/root.2/g;s/root\./root:/g'`
}
fi
list="$RMlist"
for mode in $modes; do
list="$list;${mklist[$mode]}"
done
for group in $groups; do
list="$list;${grplist[$group]}"
done
list="$list;$MKlist"
if [ "$eo" = "echo" -o "$eo" = "transform" ]; then
$eo "$list"
else
echo "$list" | sh
fi

Loading…
Cancel
Save