Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Jun 2002 17:34:55 +0200
From:      Thomas Moestl <tmoestl@gmx.net>
To:        Andrew Kenneth Milton <akm@theinternet.com.au>
Cc:        Jake Burkholder <jake@locore.ca>, freebsd-sparc@FreeBSD.ORG
Subject:   Re: Weird PCI interface
Message-ID:  <20020613153455.GA312@crow.dom2ip.de>
In-Reply-To: <20020614005814.M44400@zeus.theinternet.com.au>
References:  <20020613020923.C44400@zeus.theinternet.com.au> <20020613185253.H44400@zeus.theinternet.com.au> <20020613104702.B257@locore.ca> <20020614005814.M44400@zeus.theinternet.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 2002/06/14 at 00:58:14 +1000, Andrew Kenneth Milton wrote:
> +-------[ Jake Burkholder ]----------------------
> |
> | > I'm not sure which is correct scenario, whether it should return the
> | > logical bus in the selector, or whether it should use physical bus when
> | > looking up the device.
> | 
> | Hmm.  Thanks for looking at this.  I don't know much about PCI so
> | I can't be of much help...  tmm is very busy right now with
> | university but he said he had a break coming up soon, so he may
> | be able to help you figure out what's going on then.
> | 
> | Keep digging is all I can suggest.
> 
> It looks like it'll hit all platforms that have the buses probed out of
> order, so at this point it looks more than just Sparc related. I don't have
> any other multi-bus machines to test that theory on though.

Yes, this is caused by the MI PCI ioctl code using the following code
to get the bus device structure:
			pci = devclass_get_device(devclass_find("pci"),
						  io->pi_sel.pc_bus);
where devclass_get_device() retrieves by logical (i.e. device) number.

I have committed some code yesterday that adds bus enumeration to the
MD PCI code (previously, the bus numbers set by the firmware would be
used, which were not initialized correctly on some machines). This may
work around the problem for you, so I suggest trying a newer kernel
for now (there are however still some cases in which this will not
help).
I'll start to work on a real fix for this.

	- thomas

-- 
Thomas Moestl <tmoestl@gmx.net>	http://www.tu-bs.de/~y0015675/
              <tmm@FreeBSD.org>	http://people.FreeBSD.org/~tmm/
PGP fingerprint: 1C97 A604 2BD0 E492 51D0  9C0F 1FE6 4F1D 419C 776C

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-sparc" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020613153455.GA312>