Subject: Re: TTY virtualization driver
To: NetBSD Kernel Technical Discussion List <tech-kern@netbsd.org>
From: Greywolf <greywolf@starwolf.com>
List: tech-kern
Date: 01/24/2002 20:17:20
# Well, ttys are getting to be pretty archaic things, and perhaps my vast,
# but now long past, experiences with using them extensively is biasing my
# desire to have them behave more uniformly.  While not everyone builds
# terminal servers, UUCP dial-out gateways, etc., these days, they are
# still viable applications for NetBSD.

Indeed they are.  The value of a serial interface to an OS is vastly
underrated (until the poor unfortunate soul who has the need of some
wizardry to be performed on their soul-stolen system).  Let us hope
this never disappears only to be replaced by something even more
inexplicably bizarre.

# To my mind if I have N serial ports in a given machine then it should
# have /dev/tty0 through /dev/ttyN (with any number of leading zeros to
# appease those such as myself who like such things).  It does not matter
# if two or a few are on the CPU board, and another four are on some card
# plugged into one type of bus, and another 128 or more are plugged into
# four or more cards on yet another type of bus, and so on, and so on.
#
# In the good old days when one vendor controlled all the hardware and all
# the software (and many/most of the applications! :-), we usually had
# only had one type of serial driver and all your /dev/ttyN's were
# probably given one device major number (as they were on AT&T 3B2's, even
# with different types of serial cards, eg. PORTS and EPORTS).

...have you ever, perchance, worked on a VAX?  They numbered things
quite differently depending upon the model of the multiport array
provided by Digital.

# As the application user and/or programmer I should not have to know that
# some low-level driver talks to one set, and another to some other set,
# nor even how many are in any given set.  I really do want one minor
# number for all the serial ports in the system.

As an application user/programmer, you don't need to know that.  You
just go with what the user decides to configure.  If you're solely
an apps user/programmer, you then get your information from someone
who knows more about the system than you do.  Or you read the manual
pages, if you're going to be serious about programming for this
platform.

The interface to the terminal is pretty uniform; it's merely the driver
that moves.

# > Fear mongering?
#
# The mapping of /dev/console is not going to move in any sane real-world
# kernel configuration no matter how many serial port cards are flipped
# around in any given machine.  Suggesting that it will and using that as
# an excuse not to have a "virtual" tty driver upper layer to hide the
# irrelevant differences in low-level serial port drivers is most
# definitely fear mongering.

You didn't read what I wrote, did you?

"I think I'll put a getty onto the serial port that talks to the other
machine's console."

I wasn't talking about /dev/console.  I was talking about a serial
connection on a different port that I've just had reconfigured out
from under me.
				--*greywolf;
--
NetBSD: priapic OS