Subject: Re: Console Magic redux
To: None <cgd@sibyte.com, eeh@netbsd.org, torek@BSDI.COM>
From: None <eeh@netbsd.org>
List: tech-kern
Date: 11/27/2000 15:55:55
	>Drivers may think they are the console but be very wrong.
	>On some machines, like SPARC, one device can register as the console
	>only to find another device has replaced it later.

	Erm, are consoles dynamic, then, or are these devices just
	mistaken to begin with?

Neither, really.

The console can be one of:

		A serial port driver

		A keyboard line discipline layered on top of a serial
		port driver

		A keyboard driver

		The PROM console driver.

The PROM console driver attaches only if no other device has claimed
the console.

A serial driver on the console input path will think it's the console
even if it is attached to a keyboard.  If it is attached to a keyboard
then the keyboard driver really should be the console, but it requires
the serial driver's I/O routines to operate.

Finally, there is the case with mismatched input and output.  We
actually support this configuration so you can have two separate
drivers as the console, one for input and one for output.

	(I personally still think the "right" way to handle console-ness
	is to autoconfig as usual, then have the top-level kernel open
	the appropriate I/O stream -- which may even be a network connection
	-- and hold it open forever as "the console".  But this is another
	matter entirely...)

How does the top-level kernel determine which I/O stream should be
the console?

Eduardo