Subject: console code overhaul
To: None <port-sparc@netbsd.org, port-sun3@netbsd.org>
From: Paul Kranenburg <pk@cs.few.eur.nl>
List: port-sparc
Date: 02/29/2000 17:18:16
I will shortly commit a fairly extensive set of changes to the console
code. This change will partly restore the way the console was handled
before the zs driver went MI. The reasons for this:

	- the console should (and can) work if only PROM primitives
	  are available for I/O. The current code is tied to the
	  `zs' driver so hard that the kernel panics or the console 
	  is simply dead whenever it's attached to slightly different
	  hardware (c.f. Javastation 1).

	- theoretically, the (Sun) keyboard driver (and the mouse too,
	  for that matter) can be configured to attach to some other
	  serial hardware.

	- console configuration depends on device unit numbers that
	  are hard-coded in the kernel configuration file.


The new code simply runs the console through PROM primitives only until
a device driver detects that it is attaching the console input or output
device, in which case it can redirect console I/O through one or more
of its own entry points. There's now also some support to route
console input and output through different channels; however, attaching
different channels to /dev/console is still a challenge..

Since the console configuration stuff is firmly tied to information
provided by the machine's PROM, I cannot possibly test these changes
on every possible sparc (or sun3) model.  If you find anything amiss,
please send me mail (or post in this forum) about it.

-pk