Eric,
Mmio should be the problem. S2885 has link 2 to 8131. I have set the lock to mmio base reg to disable the change to base/limit reg. Before that I found that even I set the correct value in auto.c, after the hardwaremain.c is executed the base reg would change back to link0. The result is that it will hang at the ROM access for Etherboot.
I will add more printf in tg3.c today.
Regards
Yinghai Lu
-----邮件原件----- 发件人: ebiederman@lnxi.com [mailto:ebiederman@lnxi.com] 发送时间: 2003年8月18日 11:34 收件人: YhLu 抄送: 'Etherboot-users'; linuxbios@clustermatic.org; 'Jeff Noxon' 主题: Re: [Etherboot-users] re: s2885
"Yinghai Lu" yhlu@tyan.com writes:
I add one printf if tg3.c to produce "err=?".
Ok.
So far the consensus is that we should not have seen any new problems with version 5.2.x, as nothing has changed (except your printf :).
So either there is a LinuxBIOS bug where memory mapped I/O is not being properly routed, or you have come across a bug in the driver.
It has had a moderate amount of testing, and I did my best to preserve the initialization that the Linux driver was doing when I stripped it down. You do have a version of the tg3 I don't have on hand. So I don't currently have a clue where to start looking except to add more printfs to track down which part of the initialization failed.
Eric