Sync
authordrahn <drahn@openbsd.org>
Wed, 28 Apr 2021 03:32:36 +0000 (03:32 +0000)
committerdrahn <drahn@openbsd.org>
Wed, 28 Apr 2021 03:32:36 +0000 (03:32 +0000)
etc/etc.riscv64/MAKEDEV [new file with mode: 0644]
share/man/man8/man8.riscv64/MAKEDEV.8 [new file with mode: 0644]

diff --git a/etc/etc.riscv64/MAKEDEV b/etc/etc.riscv64/MAKEDEV
new file mode 100644 (file)
index 0000000..f46be2b
--- /dev/null
@@ -0,0 +1,516 @@
+#!/bin/sh -
+#
+# THIS FILE AUTOMATICALLY GENERATED.  DO NOT EDIT.
+# generated from:
+#
+#      OpenBSD: etc.riscv64/MAKEDEV.md,v 1.1 2021/04/28 03:26:25 drahn Exp 
+#      OpenBSD: MAKEDEV.common,v 1.113 2021/02/12 10:26:33 jsg Exp 
+#      OpenBSD: MAKEDEV.mi,v 1.83 2016/09/11 03:06:31 deraadt Exp 
+#      OpenBSD: MAKEDEV.sub,v 1.14 2005/02/07 06:14:18 david Exp 
+#
+#
+# Copyright (c) 2001-2004 Todd T. Fries <todd@OpenBSD.org>
+#
+# Permission to use, copy, modify, and distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+# Device "make" file.  Valid arguments:
+#      all     makes all known devices, including local devices.
+#              Tries to make the ``standard'' number of each type.
+#      ramdisk Ramdisk kernel devices
+#      std     Standard devices
+#      local   Configuration specific devices
+# Disks:
+#      cd*     ATAPI and SCSI CD-ROM drives
+#      rd*     "rd" pseudo-disks
+#      sd*     SCSI disks, including flopticals
+#      vnd*    "file" pseudo-disk devices
+# Tapes:
+#      ch*     SCSI media changers
+# Terminal ports:
+#      tty[0-7][0-9a-f]        NS16x50 serial ports
+# Pseudo terminals:
+#      ptm     pty master device
+#      pty*    Set of 62 master pseudo terminals
+#      tty*    Set of 62 slave pseudo terminals
+# Console ports:
+#      ttyC-J* wscons display devices
+#      wscons  Minimal wscons devices
+#      wskbd*  wscons keyboards
+#      wsmux   wscons keyboard/mouse mux devices
+# Pointing devices:
+#      wsmouse*        wscons mice
+# Printers:
+# USB devices:
+#      ttyU*   USB serial ports
+#      uall    All USB devices
+#      ugen*   Generic USB devices
+#      uhid*   Generic HID devices
+#      fido    fido/* nodes
+#      ulpt*   Printer devices
+#      usb*    Bus control devices used by usbd for attach/detach
+# Special purpose devices:
+#      apm     Power Management Interface
+#      audio*  Audio devices
+#      bio     ioctl tunnel pseudo-device
+#      bktr*   Video frame grabbers
+#      bpf     Berkeley Packet Filter
+#      dt      Dynamic Tracer
+#      diskmap Disk mapper
+#      fd      fd/* nodes
+#      fuse    Userland Filesystem
+#      gpio*   General Purpose Input/Output
+#      hotplug devices hot plugging
+#      ipmi*   IPMI BMC access
+#      pci*    PCI bus devices
+#      pf*     Packet Filter
+#      pppx*   PPP Multiplexer
+#      pppac*  PPP Access Concentrator
+#      radio*  FM tuner devices
+#      *random In-kernel random data source
+#      rmidi*  Raw MIDI devices
+#      tun*    Network tunnel driver
+#      tap*    Ethernet tunnel driver
+#      uk*     Unknown SCSI devices
+#      video*  Video V4L2 devices
+#      vscsi*  Virtual SCSI controller
+#      switch* Switch driver
+#      kstat   Kernel Statistics
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+T=$0
+
+# set this to echo for Echo-Only debugging
+[ "$eo" ] || eo=
+
+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;;
+       esac
+}
+
+alph2d()
+{
+       local t="$1"
+       local p="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
+       local sub=${p%${t}*}
+       echo ${#sub}
+}
+
+h2d()
+{
+       local s="$1"
+       local f=${s%*[0-9a-f]} n=${s#[0-9a-f]*}
+
+       echo $(($(_h2d $f)*16+ $(_h2d $n) ))
+}
+
+_h2d()
+{
+       case $1 in
+       [0-9]) echo -n $1;;
+       a) echo -n 10;;
+       b) echo -n 11;;
+       c) echo -n 12;;
+       d) echo -n 13;;
+       e) echo -n 14;;
+       f) echo -n 15;;
+       esac
+}
+
+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
+}
+
+dodisk()
+{
+       [ "$DEBUG" ] && set -x
+       n=$(($((${5}*${7:-16}))+${6})) count=0
+       [ 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 operator
+               M r$1$2$d       c $4 $(($n+$count)) 640 operator
+               let count=count+1
+       done
+}
+
+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[0]="rm -f"
+
+mkl() {
+       : ${mklist[0]:=";mknod"}
+       mklist[${#mklist[*]}]=" -m $1 $2 $3 $4 $5"
+}
+
+M() {
+       RMlist[${#RMlist[*]}]=$1
+       mkl ${5-666} $1 $2 $3 $4
+       G=${6:-wheel}
+       [ "$7" ] && {
+               MKlist[${#MKlist[*]}]="&& chown $7:$G $1"
+       } || {
+               case $G in
+               wheel)
+                       [ ${#whlist[*]} = 0 ] && whlist[0]="&& chgrp wheel"
+                       whlist[${#whlist[*]}]="$1"
+               ;;
+               operator)
+                       [ ${#oplist[*]} = 0 ] && oplist[0]="&& chgrp operator"
+                       oplist[${#oplist[*]}]="$1"
+               ;;
+               *)
+                       MKlist[${#MKlist[*]}]="&& chgrp $G $1";
+               esac
+       }
+       return 0
+}
+
+R() {
+[ "$DEBUG" ] && set -x
+for i in "$@"
+do
+U=`unt $i`
+[ "$U" ] || U=0
+
+case $i in
+ramdisk)
+       R std bpf wd0 sd0 tty00 tty01 rd0 bio diskmap
+       R cd0 ttyC0 wskbd0 wskbd1 wskbd2 random
+       ;;
+
+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 22 0
+       M stdout        c 22 1
+       M stderr        c 22 2
+       M ksyms         c 50 0 640 kmem
+       M klog          c 7 0 600
+       M openprom      c 70 0 600
+       ;;
+
+
+kstat)
+       M kstat c 51 0 640
+       ;;
+
+switch*)
+       M switch$U c 97 $U 600
+       ;;
+
+vscsi*)
+       M vscsi$U c 89 $U 600
+       ;;
+
+video*)
+       M video$U  c 44 $U 600
+       MKlist[${#MKlist[*]}]=";[ -e video ] || ln -s video$U video"
+       ;;
+
+uk*)
+       M uk$U c 20 $U 640 operator
+       ;;
+
+tap*)
+       M tap$U c 93 $U 600
+       ;;
+
+tun*)
+       M tun$U c 40 $U 600
+       ;;
+
+rmidi*)
+       M rmidi$U c 52 $U 660 _sndiop
+       ;;
+
+*random)
+       M urandom c 45 0 644
+       RMlist[${#RMlist[*]}]=random
+       MKlist[${#MKlist[*]}]=";ln -s urandom random"
+       ;;
+
+radio*)
+       M radio$U       c 76 $U
+       MKlist[${#MKlist[*]}]=";[ -e radio ] || ln -s radio$U radio"
+       ;;
+
+pppac*)
+       M pppac$U c 99 $U 600
+       ;;
+
+pppx*)
+       M pppx$U c 91 $U 600
+       ;;
+
+pf*)
+       M pf c 73 0 600
+       ;;
+
+pci*)
+       M pci$U c 72 $U 600
+       MKlist[${#MKlist[*]}]=";[ -h pci ] || ln -sf pci0 pci"
+       ;;
+
+ipmi*)
+       M ipmi$U c 96 $U 600
+       ;;
+
+hotplug)
+       M hotplug c 82 $U 400
+       ;;
+
+gpio*)
+       M gpio$U c 88 $U 600
+       ;;
+
+fuse)
+       M fuse$U c 92 $U 600
+       ;;
+
+fd)
+       RMlist[${#RMlist[*]}]=";mkdir -p fd;rm -f" n=0
+       while [ $n -lt 64 ];do M fd/$n c 22 $n;n=$(($n+1));done
+       MKlist[${#MKlist[*]}]=";chmod 555 fd"
+       ;;
+
+diskmap)
+       M diskmap c 90 0 640 operator
+       ;;
+
+dt)
+       M dt c 30 0 600
+       ;;
+
+bpf)
+       M bpf c 23 0 600
+       M bpf0 c 23 0 600
+       ;;
+
+bktr*)
+       M bktr$U c 49 $U 644
+       ;;
+
+bio)
+       M bio c 79 0 600
+       ;;
+
+audio*)
+       M audio$U       c 42 $U 660 _sndiop
+       M audioctl$U    c 42 $(($U+192)) 660 _sndiop
+       ;;
+
+apm*)
+       M apm   c 83 0 644
+       M apmctl        c 83 8 644
+       ;;
+
+usb*)
+       [ "$i" = "usb" ] && u= || u=$U
+       M usb$u c 61 $U 640
+       ;;
+
+ulpt*)
+       M ulpt$U c 64 $U 600
+       ;;
+
+fido)
+       RMlist[${#RMlist[*]}]=";mkdir -p fido;rm -f" n=0
+       while [ $n -lt 4 ];do M fido/$n c 98 $n 666;n=$(($n+1));done
+       MKlist[${#MKlist[*]}]=";chmod 555 fido"
+       ;;
+
+uhid*)
+       M uhid$U c 62 $U 600
+       ;;
+
+ugen*)
+       n=$(($U*16))
+       for j in 0{0,1,2,3,4,5,6,7,8,9} 1{0,1,2,3,4,5}
+       do
+               M ugen$U.$j c 63 $(($n+10#$j)) 600
+       done
+       ;;
+
+uall)
+       R ttyU0 ttyU1 ttyU2 ttyU3 ugen0 ugen1 ugen2 ugen3 ugen4 ugen5
+       R ugen6 ugen7 ulpt0 ulpt1 fido uhid0 uhid1 uhid2 uhid3 uhid4
+       R uhid5 uhid6 uhid7 usb0 usb1 usb2 usb3 usb4 usb5 usb6 usb7
+       ;;
+
+ttyU[0-9a-zA-Z])
+       U=${i#ttyU*}
+       o=$(alph2d $U)
+       M ttyU$U c 66 $o 660 dialer root
+       M cuaU$U c 66 $(($o+128)) 660 dialer root
+       ;;
+
+wsmouse[0-9]*)
+       M wsmouse$U c 68 $U 600
+       ;;
+
+wsmux|wsmouse|wskbd)
+       M wsmouse c 69 0 600
+       M wskbd c 69 1 600
+       ;;
+
+wskbd[0-9]*)
+       M wskbd$U c 67 $U 600
+       ;;
+
+wscons)
+       R wsmouse0 wsmouse1 wsmouse2 wsmouse3 wsmouse4 wsmouse5
+       R wsmouse6 wsmouse7 wsmouse8 wsmouse9 wskbd0 wskbd1 wskbd2
+       R wskbd3 wsmux ttyCcfg ttyC0 ttyC1 ttyC2 ttyC3 ttyC4 ttyC5
+       R ttyC6 ttyC7 ttyC8 ttyC9 ttyCa ttyCb
+       ;;
+
+tty[C-J]*)
+       U=${i##tty[C-J]}
+       case $i in
+       ttyC*) n=C m=0;;
+       ttyD*) n=D m=256;;
+       ttyE*) n=E m=512;;
+       ttyF*) n=F m=768;;
+       ttyG*) n=G m=1024;;
+       ttyH*) n=H m=1280;;
+       ttyI*) n=I m=1536;;
+       ttyJ*) n=J m=1792;;
+       esac
+       case $U in
+       [0-9a-f]) M tty$n$U c 12 $((16#$U+$m)) 600;;
+       cfg) M tty${n}cfg c 12 $((255+$m)) 600;;
+       *) echo bad unit $U for $i; exit 1;;
+       esac
+       ;;
+
+pty*)
+       if [ $U -gt 15 ]; then
+               echo bad unit for pty in: $i
+               continue
+       fi
+       set -A letters p q r s t u v w x y z P Q R S T
+       set -A suffixes 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q \
+           r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X \
+           Y Z
+
+       name=${letters[$U]}
+       n=0
+       while [ $n -lt 62 ]
+       do
+               nam=$name${suffixes[$n]}
+               off=$(($U*62))
+               M tty$nam c 5 $(($off+$n))
+               M pty$nam c 6 $(($off+$n))
+               n=$(($n+1))
+       done
+       ;;
+
+ptm)
+       M ptm c 81 0 666
+       ;;
+
+tty[0-7][0-9a-f])
+       U=${i#tty*}
+       o=$(h2d $U)
+       M tty$U c 8 $o 660 dialer root
+       M cua$U c 8 $(($o+128)) 660 dialer root
+       ;;
+
+ch*)
+       M ch$U c 17 $U 660 operator
+       ;;
+
+vnd*)
+       dodisk vnd $U 14 41 $U 0
+       ;;
+
+rd*)
+       dodisk2 rd $U 8 47 $U 0
+       ;;
+
+cd*)
+       dodisk2 cd $U 6 15 $U 0
+       ;;
+
+local)
+       test -s $T.local && sh $T.local
+       ;;
+
+all)
+       R switch0 switch1 switch2 switch3 ipmi0 gpio0 gpio1 gpio2
+       R bktr0 vnd0 vnd1 vnd2 vnd3 sd0 sd1 sd2 sd3 sd4 sd5 sd6 sd7
+       R sd8 sd9 cd0 cd1 rd0 tap0 tap1 tap2 tap3 tun0 tun1 tun2 tun3
+       R bio pty0 diskmap vscsi0 ch0 audio0 audio1 audio2 audio3
+       R kstat dt bpf fuse pppac pppx hotplug ptm local wscons pci0
+       R pci1 pci2 pci3 uall rmidi0 rmidi1 rmidi2 rmidi3 rmidi4
+       R rmidi5 rmidi6 rmidi7 radio0 video0 video1 uk0 random tty00
+       R tty01 tty02 tty03 tty04 tty05 tty06 tty07 tty08 tty09 tty0a
+       R tty0b apm pf std fd
+       ;;
+
+sd*)
+       case $i in
+       sd*) dodisk sd $U 4 13 $U 0;;
+       esac
+       ;;
+
+*)
+       echo $i: unknown device
+       ;;
+esac
+done
+}
+R "$@"
+{
+echo -n ${RMlist[*]}
+echo -n ${mklist[*]}
+echo -n ${MKlist[*]}
+echo -n ${whlist[*]}
+echo ${oplist[*]}
+} | if [ "$eo" = "echo" ]; then
+       cat
+else
+       sh
+fi
diff --git a/share/man/man8/man8.riscv64/MAKEDEV.8 b/share/man/man8/man8.riscv64/MAKEDEV.8
new file mode 100644 (file)
index 0000000..2699760
--- /dev/null
@@ -0,0 +1,262 @@
+.\" $OpenBSD: MAKEDEV.8,v 1.1 2021/04/28 03:32:36 drahn Exp $
+.\"
+.\" THIS FILE AUTOMATICALLY GENERATED.  DO NOT EDIT.
+.\" generated from:
+.\"
+.\"    OpenBSD: etc.riscv64/MAKEDEV.md,v 1.1 2021/04/28 03:26:25 drahn Exp 
+.\"    OpenBSD: MAKEDEV.common,v 1.113 2021/02/12 10:26:33 jsg Exp 
+.\"    OpenBSD: MAKEDEV.man,v 1.9 2017/06/06 08:11:23 tb Exp 
+.\"    OpenBSD: MAKEDEV.mansub,v 1.2 2004/02/20 19:13:01 miod Exp 
+.\"
+.\" Copyright (c) 2004, Miodrag Vallat
+.\" Copyright (c) 2001-2004 Todd T. Fries <todd@OpenBSD.org>
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.Dd $Mdocdate: April 28 2021 $
+.Dt MAKEDEV 8 riscv64
+.Os
+.Sh NAME
+.Nm MAKEDEV
+.Nd create system and device special files
+.Sh SYNOPSIS
+.Nm MAKEDEV
+.Op Ar name ...
+.Sh DESCRIPTION
+The shell script
+.Nm ,
+found in the
+.Pa /dev
+directory, is used to create various special files.
+See
+.Xr intro 4
+for a more complete discussion of special files.
+.Pp
+.Nm
+takes any number of device names as arguments, where the names are
+the common abbreviation for the device or group of devices.
+Files are created in the current working directory.
+.Pp
+Where a device name is followed by a star
+.Sq * ,
+the star must be replaced by a unit number.
+If units are expected for a device but not provided,
+.Nm
+will supply the standard numbers in most cases.
+.Pp
+The riscv64 supports the following devices:
+.Pp
+.Sy Special device names
+.Bl -tag -width tenletters -compact
+.It Ar all
+Creates special files for all devices on riscv64.
+.It Ar ramdisk
+Ramdisk kernel devices.
+.It Ar std
+Creates the
+.Sq standard
+devices (console, klog, kmem, ksyms, mem, null,
+stderr, stdin, stdout, tty, zero)
+which are absolutely necessary for the system to function properly.
+.It Ar local
+Creates configuration-specific devices, by invoking the shell file
+.Pa MAKEDEV.local .
+.El
+.Pp
+.Sy Disks
+.Bl -tag -width tenletters -compact
+.It Ar cd*
+ATAPI and SCSI CD-ROM drives, see
+.Xr cd 4 .
+.It Ar rd*
+.Dq rd
+pseudo-disks, see
+.Xr rd 4 .
+.It Ar sd*
+SCSI disks, including flopticals, see
+.Xr sd 4 .
+.It Ar vnd*
+.Dq file
+pseudo-disk devices, see
+.Xr vnd 4 .
+.El
+.Pp
+.Sy Tapes
+.Bl -tag -width tenletters -compact
+.It Ar ch*
+SCSI media changers, see
+.Xr ch 4 .
+.El
+.Pp
+.Sy Terminal ports
+.Bl -tag -width tenletters -compact
+.It Ar tty[0-7][0-9a-f]
+NS16x50 serial ports, see
+.Xr com 4 .
+.El
+.Pp
+.Sy Pseudo terminals
+.Bl -tag -width tenletters -compact
+.It Ar ptm
+pty master device, see
+.Xr ptm 4 .
+.It Ar pty*
+Set of 62 master pseudo terminals, see
+.Xr pty 4 .
+.It Ar tty*
+Set of 62 slave pseudo terminals, see
+.Xr tty 4 .
+.El
+.Pp
+.Sy Console ports
+.Bl -tag -width tenletters -compact
+.It Ar ttyC-J*
+wscons display devices, see
+.Xr wsdisplay 4 .
+.It Ar wscons
+Minimal wscons devices, see
+.Xr wscons 4 .
+.It Ar wskbd*
+wscons keyboards, see
+.Xr wskbd 4 .
+.It Ar wsmux
+wscons keyboard/mouse mux devices, see
+.Xr wsmux 4 .
+.El
+.Pp
+.Sy Pointing devices
+.Bl -tag -width tenletters -compact
+.It Ar wsmouse*
+wscons mice, see
+.Xr wsmouse 4 .
+.El
+.Pp
+.Sy Printers
+.Bl -tag -width tenletters -compact
+.El
+.Pp
+.Sy USB devices
+.Bl -tag -width tenletters -compact
+.It Ar ttyU*
+USB serial ports, see
+.Xr ucom 4 .
+.It Ar uall
+All USB devices, see
+.Xr usb 4 .
+.It Ar ugen*
+Generic USB devices, see
+.Xr ugen 4 .
+.It Ar uhid*
+Generic HID devices, see
+.Xr uhid 4 .
+.It Ar fido
+fido/* nodes, see
+.Xr fido 4 .
+.It Ar ulpt*
+Printer devices, see
+.Xr ulpt 4 .
+.It Ar usb*
+Bus control devices used by usbd for attach/detach, see
+.Xr usb 4 .
+.El
+.Pp
+.Sy Special purpose devices
+.Bl -tag -width tenletters -compact
+.It Ar apm
+Power Management Interface, see
+.Xr apm 4 .
+.It Ar audio*
+Audio devices, see
+.Xr audio 4 .
+.It Ar bio
+ioctl tunnel pseudo-device, see
+.Xr bio 4 .
+.It Ar bktr*
+Video frame grabbers, see
+.Xr bktr 4 .
+.It Ar bpf
+Berkeley Packet Filter, see
+.Xr bpf 4 .
+.It Ar dt
+Dynamic Tracer, see
+.Xr dt 4 .
+.It Ar diskmap
+Disk mapper, see
+.Xr diskmap 4 .
+.It Ar fd
+fd/* nodes, see
+.Xr fd 4 .
+.It Ar fuse
+Userland Filesystem, see
+.Xr fuse 4 .
+.It Ar gpio*
+General Purpose Input/Output, see
+.Xr gpio 4 .
+.It Ar hotplug
+devices hot plugging, see
+.Xr hotplug 4 .
+.It Ar ipmi*
+IPMI BMC access, see
+.Xr ipmi 4 .
+.It Ar pci*
+PCI bus devices, see
+.Xr pci 4 .
+.It Ar pf*
+Packet Filter, see
+.Xr pf 4 .
+.It Ar pppx*
+PPP Multiplexer, see
+.Xr pppx 4 .
+.It Ar pppac*
+PPP Access Concentrator, see
+.Xr pppac 4 .
+.It Ar radio*
+FM tuner devices, see
+.Xr radio 4 .
+.It Ar *random
+In-kernel random data source, see
+.Xr random 4 .
+.It Ar rmidi*
+Raw MIDI devices, see
+.Xr midi 4 .
+.It Ar tun*
+Network tunnel driver, see
+.Xr tun 4 .
+.It Ar tap*
+Ethernet tunnel driver, see
+.Xr tap 4 .
+.It Ar uk*
+Unknown SCSI devices, see
+.Xr uk 4 .
+.It Ar video*
+Video V4L2 devices, see
+.Xr video 4 .
+.It Ar vscsi*
+Virtual SCSI controller, see
+.Xr vscsi 4 .
+.It Ar switch*
+Switch driver, see
+.Xr switch 4 .
+.It Ar kstat
+Kernel Statistics, see
+.Xr kstat 4 .
+.El
+.Sh FILES
+.Bl -tag -width /dev -compact
+.It Pa /dev
+The special file directory.
+.El
+.Sh SEE ALSO
+.Xr intro 4 ,
+.Xr config 8 ,
+.Xr mknod 8