I have been having similar problems to Andrew and Kumba on my setup -- a PMC-Sierra Xiao Hu thin client computer (RM7035C based) running Debian etch with a PMC 2.6.18 kernel. Running large complicated shell scripts, such as inetutils' configure script, consistently dies on (usually) an illegal instruction, but always in a different place. I've just added my machine to the ICACHE_REFILLS_WORKAROUND_WAR, and that seems to have fixed it.
I also tried adding in Ralf's rm7k_wait_irqoff() patch, but it didn't improve things, although it didn't appear to break anything, either. Is there some behaviour I should be looking for to notice if WAIT is / isn't working on my platform?
On 7/19/07, Andrew Sharp <email@example.com> wrote:
On Tue, 17 Jul 2007 10:01:24 -0400 Kumba <firstname.lastname@example.org> wrote:
> Andrew Sharp wrote:
> > I hungrily await said patch, as I believe this is a problem on
> > RM9000 processors as well. I'm seeing "random" SIGILLs on user
> > processes, particularly large complicated shell scripts like
> > configure on an RM9k platform.
> This was more or less exactly what I was seeing on an O2 RM7000 setup
> until the fix for errata #28 was put in (which should already be
> enabled for RM9000 systems).
> Check include/asm-mips/war.h and make sure your machine is included
> in the list that define ICACHE_REFILLS_WORKAROUND_WAR. If not, add
> it and test; and fire off a patch. Should fix that issue (especially
> if bash is the only userland process dying while complex g++ compiles
> behave fine)
Thanks, I had added this about a month ago, but the l-users were
reporting that the problem persisted. Now that I've had a chance to
examine it myself, it appears they were confused. There's a first time
I will be sending some patches to be sure, once I get all the bugs
worked out. This architecture, a bifurcated RM9000x2 together with a
marvell south bridge, is a searing pain I have to deal with daily.