From owner-freebsd-current@FreeBSD.ORG Sat Oct 3 15:45:10 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E6C5C106568B for ; Sat, 3 Oct 2009 15:45:09 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.freebsd.org (Postfix) with ESMTP id 972C18FC12 for ; Sat, 3 Oct 2009 15:45:09 +0000 (UTC) Received: from [IPv6:::1] (pooker.samsco.org [168.103.85.57]) (authenticated bits=0) by pooker.samsco.org (8.14.2/8.14.2) with ESMTP id n93Fj3EY032681; Sat, 3 Oct 2009 09:45:03 -0600 (MDT) (envelope-from scottl@samsco.org) Mime-Version: 1.0 (Apple Message framework v1075.2) Content-Type: text/plain; charset=us-ascii; format=flowed; delsp=yes From: Scott Long In-Reply-To: Date: Sat, 3 Oct 2009 09:45:02 -0600 Content-Transfer-Encoding: 7bit Message-Id: <3D59CB10-7589-41F7-A00F-73224F16C6A7@samsco.org> References: <20091002150931.K35591@pooker.samsco.org> <200910030953.17359.hselasky@c2i.net> <3307DF7C-2FEF-468B-85F4-095BB7E3EE8F@samsco.org> <200910031230.51044.hselasky@c2i.net> To: Scott Long X-Mailer: Apple Mail (2.1075.2) X-Spam-Status: No, score=-2.7 required=3.8 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.8 X-Spam-Checker-Version: SpamAssassin 3.1.8 (2007-02-13) on pooker.samsco.org Cc: freebsd-current@freebsd.org, Hans Petter Selasky Subject: Re: [PATCH] Fix for USB media not found at boot X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 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: Sat, 03 Oct 2009 15:45:10 -0000 On Oct 3, 2009, at 9:05 AM, Scott Long wrote: > On Oct 3, 2009, at 4:30 AM, Hans Petter Selasky wrote: >> On Saturday 03 October 2009 10:19:57 Scott Long wrote: >>> config_intrhook system will sleep after all >> >> Then why do you need the intr hook callback? >> > > The config_intrhook lets you know that interrupts are enabled, the > scheduler is running, and mountroot hasn't run yet. It provides a > very convenient and standard way to do exactly what we want with USB > enumeration. > Now that I'm awake, let me explain more. I'm moving USB from the mount_root_hold() API to the config_intrhook() API because the latter provides proper boot ordering with CAM, which the former does not. Though my published patch doesn't rely on the CAM system in order to function, if you want umass devices to be discovered in time, you need it. What I didn't realize when I published my patch is that my approach is incomplete; I'm working to fix that, but it will likely require some significant work inside of USB. Scott