Well I'm hoping it isn't so strange to some of you folks and you'll be able
to tell what's going on :)
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
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.
MSN 9 Dial-up Internet Access helps fight spam and pop-ups ? now 2 months