Re: O2 RM7000 Issues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I've just recently fixed this problem on my E9000 core which is a MSP85XX.  I
did some digging and found that the problem started to occur in 2.6.16 and
is not there in 2.6.15.  I looked into the deltas and found the specific
change that broke me.  The file is c-r4k.c.

In the function "local_r4k_flush_cache_sigtramp" there is a conditional:

if (!cpu_icache_snoops_remote_store && scache_size)
    protected_writeback_scache_line(addr & ~(sc_lsize - 1));

This additional "scache_size" has been added to this conditional.  On my
platform, "scache_size" is set to zero so the
"protected_writeback_scache_line" is now not being called.  I took out the
"scache_size" from the conditional and now I boot without any illegal
instructions.

As a side note, I also took out the workaround in "war.h".  This workaround
only hid the problem, it didn't fix it.  Before I changed the conditional, I
would crash on every boot without the workaround.  The workaround reduced
the crashes to maybe 1 in 3.  Now, without the workaround, and with the
change in the conditional, I haven't experienced any problems.

I'm sure this change was made for a reason in 2.6.16 so I'm not sure what
the official fix needs to be but that solved my issues on my platform.

Let me know if there is anything anyone wants me to try on my platform to
help come to an official fix for this problem.

Steve...
-- 
View this message in context: http://www.nabble.com/O2-RM7000-Issues-tf4008392.html#a12833079
Sent from the linux-mips main mailing list archive at Nabble.com.



[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux