From owner-freebsd-current@FreeBSD.ORG Sun Feb 29 22:39:41 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5D38816A4CE; Sun, 29 Feb 2004 22:39:41 -0800 (PST) Received: from ns1.xcllnt.net (209-128-86-226.BAYAREA.NET [209.128.86.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0628143D1D; Sun, 29 Feb 2004 22:39:41 -0800 (PST) (envelope-from marcel@xcllnt.net) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by ns1.xcllnt.net (8.12.10/8.12.10) with ESMTP id i216dYOE086154; Sun, 29 Feb 2004 22:39:34 -0800 (PST) (envelope-from marcel@piii.pn.xcllnt.net) Received: from dhcp01.pn.xcllnt.net (localhost [127.0.0.1]) i216dYnm012507; Sun, 29 Feb 2004 22:39:34 -0800 (PST) (envelope-from marcel@dhcp01.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.12.11/8.12.11/Submit) id i216dXkK012506; Sun, 29 Feb 2004 22:39:33 -0800 (PST) (envelope-from marcel) Date: Sun, 29 Feb 2004 22:39:33 -0800 From: Marcel Moolenaar To: Peter Grehan Message-ID: <20040301063933.GA12001@dhcp01.pn.xcllnt.net> References: <4042C2CA.8020104@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4042C2CA.8020104@freebsd.org> User-Agent: Mutt/1.4.2.1i cc: Ken Smith cc: freebsd-alpha@freebsd.org cc: freebsd-current@freebsd.org Subject: Re: One more patch for Alpha console issues... X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Mar 2004 06:39:41 -0000 On Mon, Mar 01, 2004 at 02:57:46PM +1000, Peter Grehan wrote: > > Any further thoughts? > > The problem is that make_dev() calls devlock(), which requires > curthread to be valid to take out a mutex. > > The fix is to put the hand-crafting of proc0, thread0 and pcpu > data and mutex_init to be *before* the call to cninit(). This > is why i386 works. Not really. The fix is to not call make_dev() at all this early. You want to call cninit() as early as possible. Delaying cninit() is a work-around for broken console devices. -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net