[U-Boot-Users] SMC driver problem
Marius Groeger
mag at sysgo.de
Tue Apr 1 10:14:46 CEST 2003
On Mon, 31 Mar 2003, Robert Schwebel wrote:
> I've just tried to track down the SMSC driver problem which was recently
> reported on this list. After the MMU allocates a block for a sent packet
> in smc_send_packet() there is a FIXME comment in the sourcecode:
>
> - when I add puts("x"); after this comment it works.
> - when I remove it it hangs.
> - when I add the content of the putx() function (the register
> operations) to the same location it hangs.
> - when I add a function containing the register operation and call this
> function after the comment it hangs.
A few random thoughts:
Have you looked at the assembly code generated by the compiler? Maybe
the subroutine call enforces some instruction ordering, that otherwise
doesn't take place.
Guessing from your tests, timing doesn't seem to be the issue.
Hm, stack operations don't seem to relate to the problem either.
The D-Cache is still off, right?
Does the problem persist, if you turn off the I-Cache?
Are there any instructions to enforce pending IO operation, such as
the eieio on the PPC?
Just for clarification: by "the putx() function", you mean the puts("x");
call, right? (probably slipped from s to x on your keyboard :-)
> - when I add a function which calls the function from the last step it
> works - this is the same constellation as with the puts() call.
I don't really understand this sentence. Could you explain this again,
please?
Regards,
Marius
PS: in the English language, the word "constellation" only refers to
stellar phenomena. The additional meaning of "configuration" does not
exist.
-----------------------------------------------------------------------------
Marius Groeger SYSGO Real-Time Solutions AG mgroeger at sysgo.de
Software Engineering Embedded and Real-Time Software www.sysgo.de
Voice: +49-6136-9948-0 Am Pfaffenstein 14 www.osek.de
FAX: +49-6136-9948-10 55270 Klein-Winternheim, Germany www.elinos.com
More information about the U-Boot
mailing list