From owner-freebsd-sparc64@FreeBSD.ORG Tue Jun 10 07:30:18 2003 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2DCEB37B404; Tue, 10 Jun 2003 07:30:18 -0700 (PDT) Received: from harmony.village.org (rover.bsdimp.com [204.144.255.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id 04F8943FE0; Tue, 10 Jun 2003 07:30:16 -0700 (PDT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.8/8.12.3) with ESMTP id h5AESdkA011160; Tue, 10 Jun 2003 08:28:39 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Tue, 10 Jun 2003 08:27:30 -0600 (MDT) Message-Id: <20030610.082730.102566465.imp@bsdimp.com> To: ticso@cicely.de, ticso@cicely12.cicely.de From: "M. Warner Losh" In-Reply-To: <20030610121249.GE10527@cicely12.cicely.de> References: <20030609.224621.71095461.imp@bsdimp.com> <20030610115615.GB10527@cicely12.cicely.de> <20030610121249.GE10527@cicely12.cicely.de> X-Mailer: Mew version 2.1 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: gurney_j@resnet.uoregon.edu cc: freebsd-current@freebsd.org cc: gurney_j@efn.org cc: freebsd-sparc64@freebsd.org Subject: Re: PCI bus numbering and orphaned devices X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Jun 2003 14:30:18 -0000 In message: <20030610121249.GE10527@cicely12.cicely.de> Bernd Walter writes: : On Tue, Jun 10, 2003 at 01:56:15PM +0200, Bernd Walter wrote: : > On Mon, Jun 09, 2003 at 10:46:21PM -0600, M. Warner Losh wrote: : > > I'm thinking that the loop should be more like: : > > : > > pcifunchigh = 0; : > > f = 0; : > > hdrtype = REG(PCIR_HEADERTYPE, 1); : > > if (hdrtype & 0x7f > 2) : > > continue; : > > if (hdrtype & 0x80) : > s/0x80/PCIM_MFDEV/ : > Maybe we should add a PCIM_REGLAYOUT as well. : > : > > pcifunchigh = PCI_FUNCMAX; : > > for (f = 0; f <= pcifunchigh; f++) { : > > dinfo = pci_read_device(pcib, busno, s, f, dinfo_size); : > > if (dinfo != NULL) : > > pci_add_child(dev, dinfo); : > > } : > > : > > might be better code (REG likely needs to be correctly defined for : > > this context). : > : > This needs to be tested on that given hardware. : > I don't know if REG will work as expected because it asks function 0, : > which is disabled. : : I've reread John-Mark's last mail about the readable registers. : So - yes it should work. That's what inspired me. Also, I'd expected that we'd need some kind of tweaking to make it actually compile and be neat. Warner