Date: Tue, 10 Jun 2003 14:12:50 +0200 From: Bernd Walter <ticso@cicely12.cicely.de> To: "M. Warner Losh" <imp@bsdimp.com> Cc: ticso@cicely.de Subject: Re: PCI bus numbering and orphaned devices Message-ID: <20030610121249.GE10527@cicely12.cicely.de> In-Reply-To: <20030610115615.GB10527@cicely12.cicely.de> References: <20030609165838.32044@hydrogen.funkthat.com> <20030610022706.GI509@cicely12.cicely.de> <20030609210919.33379@hydrogen.funkthat.com> <20030609.224621.71095461.imp@bsdimp.com> <20030610115615.GB10527@cicely12.cicely.de>
next in thread | previous in thread | raw e-mail | index | archive | help
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. -- B.Walter BWCT http://www.bwct.de ticso@bwct.de info@bwct.de
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030610121249.GE10527>