Subject: Re: cn_tab and consdev redirection from serial terminal to Graphics Card (69030)
To: None <tech-kern@netbsd.org>
From: Valeriy E. Ushakov <uwe@ptc.spbu.ru>
List: tech-kern
Date: 11/14/2003 14:11:13
Anand,

On Fri, Nov 14, 2003 at 16:15:36 +0900, Toru Nishimura wrote:

> >   /*
> >    * XXX: console attachment needs rethinking
> >    */
> >   if (isconsole) {
[...]
> It's wrong to call wsdisplay_cnattach() there.  There is a reason
> why ctfb_common_init() exists.   It should encapsulate whole
> hardware initialization and WSCONS display subsystem binding
> (I donno why ctfb_hw_setup(sc) exists separately).  The point
> is this can be called in two ways.
> 
> 1. If the graphics display was console, ABCcnattach() must be called
> -before- configure() device emulation is started.  Later configure()
> calls ctfb_pci_attach().  This time the device must notice console
> binding has been already done.  It's the sole reason why isconsole
> variable exists.
> 
> 2. If the display was -not- console, your ctfb_pci_attach() would be
> called for the very first time initialization.  In this case
> malloc() API is available.

I have really nothing to add here to what Toru said, but I'd like to
note that

1. igsfb(4) was originally written for sparc, that has a very
   different approach to attaching console (hence all the XXX).

2. you should have used -current code, that was rewritten to support
   NetBSD/netwinder and so is structured in a way that Toru outlines
   above.

SY, Uwe
-- 
uwe@ptc.spbu.ru                         |       Zu Grunde kommen
http://www.ptc.spbu.ru/~uwe/            |       Ist zu Grunde gehen