From owner-freebsd-arm@FreeBSD.ORG Thu Oct 11 14:55:59 2012 Return-Path: Delivered-To: arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E8853D1B; Thu, 11 Oct 2012 14:55:58 +0000 (UTC) (envelope-from freebsd@damnhippie.dyndns.org) Received: from duck.symmetricom.us (duck.symmetricom.us [206.168.13.214]) by mx1.freebsd.org (Postfix) with ESMTP id 8F81C8FC0A; Thu, 11 Oct 2012 14:55:58 +0000 (UTC) Received: from damnhippie.dyndns.org (daffy.symmetricom.us [206.168.13.218]) by duck.symmetricom.us (8.14.5/8.14.5) with ESMTP id q9BEXh0e081030; Thu, 11 Oct 2012 08:33:43 -0600 (MDT) (envelope-from freebsd@damnhippie.dyndns.org) Received: from [172.22.42.240] (revolution.hippie.lan [172.22.42.240]) by damnhippie.dyndns.org (8.14.3/8.14.3) with ESMTP id q9BEXe82083125; Thu, 11 Oct 2012 08:33:40 -0600 (MDT) (envelope-from freebsd@damnhippie.dyndns.org) Subject: Re: Towards an ARM system-building script From: Ian Lepore To: Tim Kientzle In-Reply-To: References: <0DCAC001-FF06-431A-A486-2B50BE913B0D@bsdimp.com> <7E18623F-3945-4EA0-B332-5A5C717B20F0@kientzle.com> <9896AA3E-D8A0-4CE8-8160-4672AA07388F@cheney.net> <6B74ADD7-3266-4919-BEB4-B10E0C1BAB58@kientzle.com> <5679C679-A434-4714-BE61-4DC093DA7F34@kientzle.com> <8C1192B3-EC56-4D9E-824E-774700FB2EE9@kientzle.com> <1349876577.1123.30.camel@revolution.hippie.lan> Content-Type: text/plain; charset="us-ascii" Date: Thu, 11 Oct 2012 08:33:40 -0600 Message-ID: <1349966020.1123.63.camel@revolution.hippie.lan> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: arm@freebsd.org, Oleksandr Tymoshenko X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Oct 2012 14:55:59 -0000 On Thu, 2012-10-11 at 00:16 -0700, Tim Kientzle wrote: > On Oct 10, 2012, at 3:08 PM, Giovanni Trematerra wrote: > > > On Wed, Oct 10, 2012 at 3:42 PM, Ian Lepore > > wrote: > >> On Tue, 2012-10-09 at 23:42 +0200, Giovanni Trematerra wrote: > >>> I booted a kernel with your suggestion but I get a panic during > >>> initialization of ue0 I think > >> > >> It looks like bootpc_init() is getting called before USB has found the > >> ethernet adapter. It might be fixable with a simple patch such as the > >> following, but I really don't know whether this will work, and even if > >> it does, whether it's a good idea (hopefully someone more knowledgable > >> will offer an opinion). But if nothing else it's an interesting > >> experiment to try. > > > > I think the patch is wrong at least in my case. > > I had to run the "usb start" command from U-boot to have > > ethernet card of PandaBoard working. > > What happens if you disable BOOTP in the kernel? > > That might help clarify whether the Ethernet isn't > working at all or whether the Ethernet isn't getting > started early enough for BOOTP. > > Tim > It's very clear from the panic message and the dmesg output that the usb stack hasn't finished enumerating the bus and thus hasn't instantiated the ue0 device before bootpc_init() is called. The only part I'm unsure about is whether it's safe to call root_mount_wait() from within boopc_init(). I don't know if there are any rules about calling root_mount_wait() (locking, which thread(s) can call it, etc). I'm also a bit unsure about the whole concept of using root_mount_wait() as a proxy for "all usb devices have been enumerated." That seems, conceptually, like relying on an undocumented side effect of a routine. I'm also not sure it actually works... on freebsd 8.2 at least, I've seen usb devices appear after root is mounted (hard-wired onto the motherboard devices, not removables). -- Ian