Subject: Re: console device selection
To: Simon Burge <simonb@NetBSD.org>
From: Garrett D'Amore <garrett_damore@tadpole.com>
List: tech-kern
Date: 09/01/2006 23:32:05
Simon Burge wrote:
> Garrett D'Amore wrote:
>
>   
>> somewhere in common kernel code, we can then have:
>>
>> #if NRADEON > 0
>>     radeonfb_register();
>> #endif
>>     
>
> If you do this, use link sets.  We don't want to have to update common
> code for new device drivers, and spread any more #ifdef mess around than
> we need to.
>
>   
>> We also need to assume that machdep code might register machdep console
>> devices, e.g. custom serial ports, etc.  We don't want to store those
>> all in the common.c, but machdep code can call the cons_register()
>> routine for those before calling master consinit.
>>
>> The above is merely a strawman, intended to spark discussion.  I really
>> don't want to have #if NRADEON, etc. in every port that might have a PCI
>> bus, for example.
>>     
>
> Link sets can address this too.
>
> Simon.
>   

Thanks.   This is helpful.  It would be nice if we had some
documentation in section 9 about link sets.  (Even though these
apparently use compiler builtins, it would be nice have docs.)

Given this, how do folks feel about having wscons have this framework
for selecting console devices?  It would mean tweaking a bunch of
console devices.  But it would solve/cleanup the problem.  As we are
getting more and more devices that can be console devices, it seems like
we need a unified way to select amongst them, especially as many of
these devices are potentially on expansion busses.

-- 
Garrett D'Amore, Principal Software Engineer
Tadpole Computer / Computing Technologies Division,
General Dynamics C4 Systems
http://www.tadpolecomputer.com/
Phone: 951 325-2134  Fax: 951 325-2191