#!/bin/sh

# Devices are generated by this script in the same order that they are listed
# in the Documentation/devices.txt file in the Linux 2.4.18 and5.21 kernel
# sources. This includes devices that are not currently relevant to ELKS, to
# encourage the use of common node numbers when these devices are eventually
# implemented.
#
# Where different node numbers are currently used by ELKS, the current ELKS
# node numbers are generated by lines labelled "Currently" and the relevant
# Linux node numbers are generated by lines labelled "Ought to be".
#
# Refer to the MAKESET command, also in this directory, for usage details.

LINK=ln
MKDEV=mknod
MKSET=./MAKESET

##############################################################################
# Ensure required auxilliary script is present.

if ! test -f "$MKSET"
then
    echo ERROR: \"$MKSET\" script missing, unable to continue.
    exit 1
fi

##############################################################################
# Create memory devices.

	$MKDEV mem	c 1 1
	$MKDEV kmem	c 1 2
	$MKDEV null	c 1 3
#	$MKDEV port	c 1 4
	$MKDEV zero	c 1 5
#	$MKDEV core	c 1 6
	$MKDEV full	c 1 7
#	$MKDEV random	c 1 8
#	$MKDEV urandom	c 1 9
#	$MKDEV aio	c 1 10

##############################################################################
# RAM disks.

	$MKSET   0 7  $MKDEV ram b 1

	$LINK  ram1	ramdisk

##############################################################################
# Pseudo-TTY master devices. These are not yet supported by the ELKS kernel.

#	$MKSET   0 15 $MKDEV ptyp x 2
#	$MKSET  16 15 $MKDEV ptyq x 2
#	$MKSET  32 15 $MKDEV ptyr x 2
#	$MKSET  48 15 $MKDEV ptys x 2
#	$MKSET  64 15 $MKDEV ptyt x 2
#	$MKSET  80 15 $MKDEV ptyu x 2
#	$MKSET  96 15 $MKDEV ptyv x 2
#	$MKSET 112 15 $MKDEV ptyw x 2
#	$MKSET 128 15 $MKDEV ptyx x 2
#	$MKSET 144 15 $MKDEV ptyy x 2
#	$MKSET 160 15 $MKDEV ptyz x 2
#	$MKSET 176 15 $MKDEV ptya x 2
#	$MKSET 192 15 $MKDEV ptyb x 2
#	$MKSET 208 15 $MKDEV ptyc x 2
#	$MKSET 224 15 $MKDEV ptyd x 2
#	$MKSET 240 15 $MKDEV ptye x 2

##############################################################################
# Floppy diskettes. Only the auto-detect nodes are listed.

	$MKDEV fd0	b 3 128 	# Currently.
	$MKDEV fd1	b 3 192 	# Currently.

#	$MKSET   0 3  $MKDEV fd b 2	# Ought to be.

##############################################################################
# Pseudo-TTY master devices. These are not yet supported by the ELKS kernel.

#	$MKSET   0 15 $MKDEV ttyp x 3
#	$MKSET  16 15 $MKDEV ttyq x 3
#	$MKSET  32 15 $MKDEV ttyr x 3
#	$MKSET  48 15 $MKDEV ttys x 3
#	$MKSET  64 15 $MKDEV ttyt x 3
#	$MKSET  80 15 $MKDEV ttyu x 3
#	$MKSET  96 15 $MKDEV ttyv x 3
#	$MKSET 112 15 $MKDEV ttyw x 3
#	$MKSET 128 15 $MKDEV ttyx x 3
#	$MKSET 144 15 $MKDEV ttyy x 3
#	$MKSET 160 15 $MKDEV ttyz x 3
#	$MKSET 176 15 $MKDEV ttya x 3
#	$MKSET 192 15 $MKDEV ttyb x 3
#	$MKSET 208 15 $MKDEV ttyc x 3
#	$MKSET 224 15 $MKDEV ttyd x 3
#	$MKSET 240 15 $MKDEV ttye x 3

##############################################################################
# Direct IDE disks, Primary channel.

	$MKSET   0 15 $MKDEV hda b 5	# Currently.
	$MKSET  64 15 $MKDEV hdb b 5	# Currently.

#	$MKSET   0 63 $MKDEV hda b 3	# Ought to be.
#	$MKSET  64 63 $MKDEV hdb b 3	# Ought to be.

##############################################################################
# Virtual consoles. Note that tty4 through tty7 can't be enabled at this
# time because of the possible conflict with ttyS0 through ttyS3 which
# used to use the node numbers these now use. However, it is expected that
# this restriction can be removed in the near future.

# CM: ELKS wants tty1 to be minor 0, so we can't use $MKSET

	$MKDEV tty1	c 4 0
	$MKDEV tty2	c 4 1
	$MKDEV tty3	c 4 2
	$MKDEV tty4	c 4 3

#	$MKSET  0 3  $MKDEV tty c 4	# Currently
#	$MKSET  0 15 $MKDEV tty c 4	# Soon to be

# Serial ports, as detected by the ROM BIOS.

	$MKSET 64 3  $MKDEV ttyS c 4

##############################################################################
# Alternate TTY devices. These are not yet supported.

	$MKDEV tty	c 5 0
#	$MKDEV console	c 5 1
#	$MKDEV ptmx	c 5 2

##############################################################################
# Parallel devices, as detected by the ROM BIOS.

	$MKSET  0 3  $MKDEV lp c 6

##############################################################################
# Loopback devices. These are not yet supported.

#	$MKSET  0 15 $MKDEV loop c 7

##############################################################################
# TCPDEV, used by ktcp

	mknod tcpdev c 8 0

##############################################################################
# SCSI disks. These are not yet supported.

#	$MKSET   0 15 $MKDEV sda b 8
#	$MKSET  16 15 $MKDEV sdb b 8
#	$MKSET  32 15 $MKDEV sdc b 8
#	$MKSET  48 15 $MKDEV sdd b 8
#	$MKSET  64 15 $MKDEV sde b 8
#	$MKSET  80 15 $MKDEV sdf b 8
#	$MKSET  96 15 $MKDEV sdg b 8
#	$MKSET 112 15 $MKDEV sdh b 8
#	$MKSET 128 15 $MKDEV sdi b 8
#	$MKSET 144 15 $MKDEV sdj b 8
#	$MKSET 160 15 $MKDEV sdk b 8
#	$MKSET 176 15 $MKDEV sdl b 8
#	$MKSET 192 15 $MKDEV sdm b 8
#	$MKSET 208 15 $MKDEV sdn b 8
#	$MKSET 224 15 $MKDEV sdo b 8
#	$MKSET 240 15 $MKDEV sdp b 8

##############################################################################
# SCSI tapes. These are not yet supported.

#	$MKSET   0 31 $MKDEV st c 9
#	$MKSET  32 31 $MKDEV st c 9 l
#	$MKSET  64 31 $MKDEV st c 9 m
#	$MKSET  96 31 $MKDEV st c 9 a
#	$MKSET 128 31 $MKDEV nst c 9
#	$MKSET 160 31 $MKDEV nst c 9 l
#	$MKSET 192 31 $MKDEV nst c 9 m
#	$MKSET 224 31 $MKDEV nst c 9 a

##############################################################################
# Metadisk (RAID) devices. These are not yet supported.

#	$MKSET   0 15 $MKDEV md b 9

##############################################################################
# SCSI CD-ROM devices. These are not yet supported.

#	$MKSET   0 15 $MKDEV scd b 11

##############################################################################
# MSCDEX CD-ROM devices. These are not yet supported.

#	$MKSET   0 15 $MKDEV doscd b 12

##############################################################################
# 8-bit MFM/RLL controllers. These are not yet supported.

#	$MKSET   0 63 $MKDEV xda b 13
#	$MKSET  64 63 $MKDEV xdb b 13

##############################################################################
# BIOS hard disks.

	$MKSET   0 15 $MKDEV bda b 3	# Currently
	$MKSET  64 15 $MKDEV bdb b 3	# Currently
#	$MKSET 128 15 $MKDEV bdc b 3	# Currently
#	$MKSET 192 15 $MKDEV bdd b 3	# Currently

#	$MKSET   0 63 $MKDEV bda b 14	# Ought to be
#	$MKSET  64 63 $MKDEV bdb b 14	# Ought to be
#	$MKSET 128 63 $MKDEV bdc b 14	# Ought to be
#	$MKSET 192 63 $MKDEV bdd b 14	# Ought to be

##############################################################################
# Joysticks. These are not yet supported.

#	$MKSET   0 15 $MKDEV js c 15
#	$MKSET 128 15 $MKDEV djs c 15

##############################################################################
# Generic SCSI devics. These are not yet supported.

#	$MKSET   0 15 $MKDEV sg c 21

##############################################################################
# Direct IDE disks, Secondary channel. These are not yet supported.

#	$MKSET   0 63 $MKDEV hdc b 22
#	$MKSET  64 63 $MKDEV hdd b 22

##############################################################################
# Direct IDE disks, Tertiary channel. These are not yet supported.

#	$MKSET   0 63 $MKDEV hde b 33
#	$MKSET  64 63 $MKDEV hdf b 33

##############################################################################
# Z80-SIO devices. These are not yet supported.

#	$MKSET   0  7 $MKDEV scc c 34

##############################################################################
# Direct IDE disks, Quaternary channel. These are not yet supported.

#	$MKSET   0 63 $MKDEV hde b 34
#	$MKSET  64 63 $MKDEV hdf b 34

##############################################################################
# Direct IDE disks, Quinternary channel. These are not yet supported.

#	$MKSET   0 63 $MKDEV hdg b 56
#	$MKSET  64 63 $MKDEV hdh b 56

##############################################################################
# Direct IDE disks, Quaternary channel. These are not yet supported.

#	$MKSET   0 63 $MKDEV hdi b 57
#	$MKSET  64 63 $MKDEV hdj b 57

##############################################################################
# SCSI Media Changer. These are not yet supported.

#	$MKSET   0 15 $MKDEV sch c 86

##############################################################################
# I2C bus drivers. These are not yet supported.

#	$MKSET   0 7  $MKDEV i2c c 89

##############################################################################
# Conrad Electronic Parallel Port Radio Clocks. These are not yet supported.

#	$MKSET	 0 1  $MKDEV pcfclock c 181

##############################################################################
# EOF.
