From owner-freebsd-arch Thu Jan 23 13:44:48 2003 Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AA1D037B401 for ; Thu, 23 Jan 2003 13:44:46 -0800 (PST) Received: from postfix3-1.free.fr (postfix3-1.free.fr [213.228.0.44]) by mx1.FreeBSD.org (Postfix) with ESMTP id BA03D43ED8 for ; Thu, 23 Jan 2003 13:44:45 -0800 (PST) (envelope-from nsouch@free.fr) Received: from armor.fastether (nas-cbv-11-62-147-116-81.dial.proxad.net [62.147.116.81]) by postfix3-1.free.fr (Postfix) with SMTP id DEBB3C085 for ; Thu, 23 Jan 2003 22:44:38 +0100 (CET) Received: (qmail 12233 invoked by uid 1001); 23 Jan 2003 21:58:48 -0000 Date: Thu, 23 Jan 2003 22:58:48 +0100 From: Nicolas Souchu To: Peter Jeremy Cc: arch@FreeBSD.ORG Subject: Re: the mythical syscons redesign document ( was Re: Porting wscons ) Message-ID: <20030123225848.A12164@armor.fastether> References: <20030122010246.52789.qmail@web13404.mail.yahoo.com> <1043236066.28124.6.camel@builder02.qubesoft.com> <20030122223626.B8449@armor.fastether> <20030123063040.GA16266@cirb503493.alcatel.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20030123063040.GA16266@cirb503493.alcatel.com.au>; from peterjeremy@optushome.com.au on Thu, Jan 23, 2003 at 05:30:40PM +1100 Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Thu, Jan 23, 2003 at 05:30:40PM +1100, Peter Jeremy wrote: > On Wed, Jan 22, 2003 at 10:36:26PM +0100, Nicolas Souchu wrote: > >On Wed, Jan 22, 2003 at 11:47:46AM +0000, Doug Rabson wrote: > >> The main sticking point for this stuff is that console is needed before > >> the device tree is probed. > > > >The approach of KGI is to provide a very basic/minimal driver for console boot > >that can be overlaped later by fully probed graphic board drivers. This is > >somehow how VGA adapter is organized, with the video_switch used immediatly > >and later the vga_isa.c glue-code for newbus full attachement. [...] > > The existing console code gets around this by being excessively chummy > with the hardware (and I gather KGI works the same way). The downside > is that this is very non-portable - you need separate low-level console > code for each architecture and for each different possible console > device. Depends on what the console code is for you. syscons currently works on TGA Alpha adapters which is totally non ISA/VGA hardware. The hardwired code is part of dev/fb, not dev/syscons. We have to separate console implementation from rendering (fb, fonts) and even video drivers. I have some good understanding of Doug's newbus and newbus is more a driver than a console issue. The fact is that if you want to display the console output, you need some rendering and a graphic/text driver and yes the later makes assumption on the OS bus/io architecture. If you consider PCI, the bus standard is simple and detailed enough to allow any code to browse it, detect some hardware and perform basic I/O to setup a linear framebuffer and set a mode. This is what I would call a minimal/basic driver. Of course, when the OS boots the hardware has to be reprobed and this minimal driver has to be substituted by a soft one using the OS resources/methods. KGI has its own bus abstraction layer (far more simple than FreeBSD one's) that should allow to write simple I/O methods for PCI on different architectures. Extending this bus layer to accept other kind of busses is part of the TODOs... -- Nicholas Souchu - nsouch@free.fr - nsouch@FreeBSD.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message