From owner-cvs-all Tue Sep 8 18:53:56 1998 Return-Path: Received: (from daemon@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA27492 for cvs-all-outgoing; Tue, 8 Sep 1998 18:53:56 -0700 (PDT) (envelope-from owner-cvs-all) Received: from pluto.plutotech.com (mail.plutotech.com [206.168.67.137]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA27486; Tue, 8 Sep 1998 18:53:54 -0700 (PDT) (envelope-from gibbs@plutotech.com) Received: from narnia.plutotech.com (narnia.plutotech.com [206.168.67.130]) by pluto.plutotech.com (8.8.7/8.8.5) with ESMTP id TAA02512; Tue, 8 Sep 1998 19:53:41 -0600 (MDT) Message-Id: <199809090153.TAA02512@pluto.plutotech.com> X-Mailer: exmh version 2.0.2 2/24/98 To: Bill Paul cc: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/pci if_xl.c In-reply-to: Your message of "Tue, 08 Sep 1998 16:42:10 PDT." <199809082342.QAA27283@freefall.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 08 Sep 1998 19:47:35 -0600 From: "Justin T. Gibbs" Sender: owner-cvs-all@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >wpaul 1998/09/08 16:42:10 PDT > > Modified files: > sys/pci if_xl.c > Log: ... > - Disable the 'background' autonegotiation performed during bootstrap. > What happens currently is that the driver starts an autoneg session, > the sets a timeout in the ifnet structure and returns. Later, when the > timer expires, the watchdog routine calls the autoneg handler to check > the results of the session. The problem with this is that the session > may not complete until some point after we have started to mount NFS > filesystems, which can cause the mounts to fail. This is especially > troublesome if booting with an NFS rootfs: we need the interface up > and running before reaching the mountroot() code. This is what the interrupt driven config hook mechanism is designed to address. It fires your hook once interrupt and timeout services are available and prevents the system boot from continuing until you remove your hook. See kern/subr_autoconf.c for details. -- Justin