Skip site navigation (1)Skip section navigation (2)
Date:      22 Jan 2003 11:47:46 +0000
From:      Doug Rabson <dfr@nlsystems.com>
To:        "Pedro F. Giffuni" <giffunip@yahoo.com>
Cc:        Marcel Moolenaar <marcel@xcllnt.net>, arch@FreeBSD.ORG
Subject:   Re: the mythical syscons redesign document ( was Re: Porting wscons )
Message-ID:  <1043236066.28124.6.camel@builder02.qubesoft.com>
In-Reply-To: <20030122010246.52789.qmail@web13404.mail.yahoo.com>
References:  <20030122010246.52789.qmail@web13404.mail.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2003-01-22 at 01:02, Pedro F. Giffuni wrote:
>  --- Marcel Moolenaar <marcel@xcllnt.net> ha scritto:
> > On Tue, Jan 21, 2003 at 05:47:13AM +0100, Pedro F.
> > Giffuni wrote:
> > > OK, I found it:
> > > 
> > >
> >
> http://www.freebsd.org/cgi/getmsg.cgi?fetch=302402+322879+/usr/local/www/db/text/1998/freebsd-current/19980802.freebsd-current
> > 
> > It makes perfect sense to me why this hasn't been
> > implemented. Not
> > because it's wrong, but because it's impractical.
> 
> Ahem... the original document is from 1993. By those
> years it was probably ahead of it's time :-). I think
> there is one important thing that must be learned:
> 
> What ever is done nowadays, must be based on an OO
> design.
> 
> In support to this, Newbus (which wasn't even a plan
> in those years) is our friend.
> I propose the following approach:
> 
> 1) properly newbussify all the devices used by our
> console.
> 2) newbussify syscons (it doesn't use methods, does
> it?) and clean the PC specifics as much as possible.
> 3) port and newbussify wscons.
> 4) find a way to run the both at the same time.

The main sticking point for this stuff is that console is needed before
the device tree is probed. I think the right approach will be to define
a set of interfaces for the video console and then implement those
interfaces using the lower-level kobj system. This allows you to put
together a working console output system before the rest of the system
is up and running.

You can even use kobj before malloc is working if you are careful. I
once had a prototype system on alpha which used kobj for all the
busspace i/o primitives. It worked pretty well with kobj but I later
changed it to use fixed arrays of function pointers because there was
some interest in porting it over to 4.x which didn't have kobj at the
time. I always preferred the kobj version since it had a nice stable
ABI.



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1043236066.28124.6.camel>