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?
Shane
On 7/19/07, Andrew Sharp <andy.sharp@onstor.com> wrote:
On Tue, 17 Jul 2007 10:01:24 -0400 Kumba <kumba@gentoo.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
for everything.
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.
Cheers,
a
|