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>