>>>>> On Thu, 16 Aug 2001 11:11:56 +0200, "Kevin D. Kissell" <email@example.com>
>> I do not know this is really desired behavior, but here is a patch
>> to change this. If Unimplemented exception had been occured during
>> the benchmark, aplying this patch may result better performance.
kevink> Not desired behavior, just an artifact. However, I agree with
kevink> Carsten that changing the API to the emulator for this and
kevink> using a counter as you have done is not appropriate, and that
kevink> the existing CPU configuration flag is a more appriate mechanism.
I see. I created that patch while debugging time an another FPU
emulator's problem (as I reported in another message) on CPU with real
FPU. Now the 'counter' method is not needed at all.
Although another fix by Ralf is ready, here is my new patch.
diff -ur linux.sgi/arch/mips/math-emu/cp1emu.c linux/arch/mips/math-emu/cp1emu.c
--- linux.sgi/arch/mips/math-emu/cp1emu.c Sun Aug 5 23:39:27 2001
+++ linux/arch/mips/math-emu/cp1emu.c Thu Aug 16 19:41:35 2001
@@ -48,6 +48,8 @@
@@ -1682,6 +1684,8 @@
sig = cop1Emulate(xcp, ctx);
xcp->cp0_epc += 4; /* skip nops */
+ if (mips_cpu.options & MIPS_CPU_FPU)
} while (xcp->cp0_epc > prevepc && sig == 0);
/* SIGILL indicates a non-fpu instruction */