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
[EMAIL PROTECTED]                                  [EMAIL PROTECTED]

_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to