Here's my problem:
Using MontaVista Linux 3.1 on a Toshiba RBTx4938 board. Using YAMON, when I download the kernel via the debug ethernet port it runs fine. If I download the kernel via the Tx4938 inbuilt ethernet controller, it crashes!
Memory checksumming and a quick manual memory dump inspection reveals that the kernel download went perfectly ok, and the image is completely and correctly downloaded to RAM.
The crash is occuring inside the function r4k_flush_icache_range().
I tried 'flush -i' and 'flush -d' on YAMON after the download but before the 'go', but that didn't help. I also tried completely disabling caches and loading/running uncached, but it gave the same error.
Now, the final twist! Using an ICE, I set a breakpoint at the r4k_flush_icache_range function. Then I loaded the kernel as usual, ran it with the ICE, stepped through a few instructions inside the r4k_flush_icache_range function and then did a 'cont'. The kernel now booted fine!
If I don't set the breakpoint inside that function though, and just try to run with the ICE the same
error (Inst fetch/Load error) occurs.
I'm at a loss trying to figure out what's going on. I suspect it has something to do with caches perhaps (duh!), but have no clue what! Anybody out there face a similar kind of a situation before?
Thanks in advance for any help offered.
Regards, -Steve
_________________________________________________________________
MSN 9 Dial-up Internet Access helps fight spam and pop-ups ? now 2 months FREE! http://join.msn.click-url.com/go/onm00200361ave/direct/01/