From owner-freebsd-alpha Thu Feb 24 18:24:25 2000 Delivered-To: freebsd-alpha@freebsd.org Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by hub.freebsd.org (Postfix) with ESMTP id C0B3337C0D3 for ; Thu, 24 Feb 2000 18:24:18 -0800 (PST) (envelope-from gallatin@cs.duke.edu) Received: from grasshopper.cs.duke.edu (grasshopper.cs.duke.edu [152.3.145.30]) by duke.cs.duke.edu (8.9.3/8.9.3) with ESMTP id VAA21492; Thu, 24 Feb 2000 21:24:14 -0500 (EST) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.9.3/8.9.1) id VAA50097; Thu, 24 Feb 2000 21:23:43 -0500 (EST) (envelope-from gallatin@cs.duke.edu) From: Andrew Gallatin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: Thu, 24 Feb 2000 21:23:43 -0500 (EST) To: Steve Sizemore Cc: freebsd-alpha@FreeBSD.ORG Subject: Re: xp1000 kernel panics In-Reply-To: <20000224153843.A147862@cmpharm.ucsf.edu> References: <20000224153843.A147862@cmpharm.ucsf.edu> X-Mailer: VM 6.43 under 20.4 "Emerald" XEmacs Lucid Message-ID: <14517.59248.195064.508397@grasshopper.cs.duke.edu> Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Steve Sizemore writes: > On an XP1000, for the last few days I've been unable to boot a kernel > built from -current. The message is > > panic: resource_list_alloc: resource entry is busy > > The same kernel works fine on a PC164LX, and the XP1000 boots an older > kernel built from a cvsup on 2/17. > FreeBSD 4.0-CURRENT #5: Thu Feb 17 09:59:38 PST 2000 > > Help? I was assuming that Soren would commit this sometime soon. The appended patch is from dfr & fixes the problem. Drew Index: ata-all.c =================================================================== RCS file: /home/ncvs/src/sys/dev/ata/ata-all.c,v retrieving revision 1.48 diff -u -r1.48 ata-all.c --- ata-all.c 2000/02/18 20:57:27 1.48 +++ ata-all.c 2000/02/20 13:12:02 @@ -436,6 +436,15 @@ break; } + /* + * The Cypress ATA controller on some Alphas is confusing. It has + * two ATA functions, the first is a masterdev with two subunits, + * and the second pci function has the *same* second subunit as a + * standalone device. + */ + if (pci_get_devid(dev) == 0xc6931080 && pci_get_function(dev) > 1) + return 0; + ata_pci_add_child(dev, 0); if (pci_get_progif(dev) & PCIP_STORAGE_IDE_MASTERDEV || To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message