Date: Tue, 16 Mar 2004 15:23:44 -0500 From: Ken Smith <kensmith@cse.Buffalo.EDU> To: Marcel Moolenaar <marcel@xcllnt.net> Cc: freebsd-sparc64@freebsd.org Subject: Re: Console patch part II... Message-ID: <20040316202344.GB5888@electra.cse.Buffalo.EDU> In-Reply-To: <20040316194041.GA48477@ns1.xcllnt.net> References: <20040316055650.GA15182@electra.cse.Buffalo.EDU> <20040316064541.GA12961@dhcp01.pn.xcllnt.net> <20040316070004.GA16684@electra.cse.Buffalo.EDU> <20040316070937.GA13045@dhcp01.pn.xcllnt.net> <20040316073406.GC17054@electra.cse.Buffalo.EDU> <20040316194041.GA48477@ns1.xcllnt.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 16, 2004 at 11:40:41AM -0800, Marcel Moolenaar wrote: > On Tue, Mar 16, 2004 at 02:34:06AM -0500, Ken Smith wrote: > > On Mon, Mar 15, 2004 at 11:09:37PM -0800, Marcel Moolenaar wrote: > > > > > You need to fix the code to call cninit() soon enough that you > > > never need to panic before it? > > > > Expanding slightly... cninit() currently is before the first printf()'s > > or calls to panic(). But it can't stay there, at least some of the > > potential consoles (e.g. Kris's Creator-3D) wind up calling make_dev() > > and that was causing his panic's. > > Fix syscons. > > > Alpha had this same problem and the end solution for alpha is more or > > less identical to what I'm proposing with the kludge hack. > > I accepted the hack on alpha simply because there's no developer > base to put in the work to actually fix the problem. Now that > sparc64 appears to suffer from the same, I'm passionately of the > opinion that we cannot kluge our way out of this. > > > - [ This is a new thought... ] Restructure all the potential > > console drivers to be like ofw_console is. ofw_console doesn't > > call make_dev() in its attach routine. Instead it uses a > > sysinit() to handle the make_dev() later in the boot sequence > > instead of doing at attach time. > > Look at uart(4). It does everything right and consequently does not > force us to delay cninit() or kdb_init() for that matter. With > uart(4), you do not need ofw_console(4) most of the time. Your > problem is therefore not that cninit() is called to soon. Your > problem is that syscons is broken. Ok, sorry. You sent this while I was editing the reply I made a few minutes ago. I'm off to look at syscons then. -- Ken Smith - From there to here, from here to | kensmith@cse.buffalo.edu there, funny things are everywhere. | - Theodore Geisel |
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040316202344.GB5888>