[ECOS] PCI arbiter settings
Jonathan Larmour
jifl@eCosCentric.com
Fri Aug 1 00:32:00 GMT 2003
Nick Garnett wrote:
>>Also I see BAR[0] contains 0 but sebsequent base address registers do not. I
>>do see a code snippet in function cyg_pci_get_device_info as follows:
>>// No reason to scan beyond first inactive BAR.
>> if (bar == 0) {
>> dev_info->num_bars = i;
>> break;
>> }
>>This code does not care about sebsequent BARs if BAR[0] is zero and that is
>>the case here. That leaves dev_info.base_map[] uninitialised which creates
>>problem later. I don't know what exactly is problem. Kindly look at the
>>dumped message and let me know where to find the problem.
>
>
> I thought you had moved past this by temporarily commenting that test
> out. I thought we were looking for a different problem.
>
> However, that's not a permanent solution since the PCI spec says that
> during configuration the end of the active BARs is marked by a zero
> BAR. I'm not sure what the consequences of reading BARs beyond that
> would be.
Hmm... according to <http://bugs.ecos.sourceware.org/show_bug.cgi?id=55891>:
"in the function cyg_pci_get_device_info the probe function stops when an
inactive bar is found. This is not right. It free to choose any of the
BAR's to use in the hardware so all 6 BARS have to be scanned. (see PCI-
spec Revision 2.2 page 204)"
This may not be the problem right in this case... I just notice what you
say doesn't agree with what's quoted above with page ref.
Jifl
--
eCosCentric http://www.eCosCentric.com/ The eCos and RedBoot experts
--[ "You can complain because roses have thorns, or you ]--
--[ can rejoice because thorns have roses." -Lincoln ]-- Opinions==mine
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss
More information about the Ecos-discuss
mailing list