>> Denormalised operands (for example) will cause any computational
>> operation to blow up (change sign, load, store and move will survive -
>> can you think of much else?). The requirement for MIPS hardware is
>> something like "you can throw an unimplemented exception in response
>> to any combination of operands and operation you don't like, so long
>> as it's rare". That's why a complete emulator is probably a good
>> Dominic Sweetman
>OK, I'm convinced. I believe I know how to make the Algorithmics
>emulator SMP-safe *and* more efficient in the general case, thanks
>in part to a suggestion from Ralf. Time permitting, I will also wire it
>up to the unimplemented operation handler. Give me a week or so
>to accumulate enough spare time...
OK, I've done it, and it seems to work very nicely indeed.
The combination of a real FPU with the Algorithmics emulator
for the Unimplemented corner case has given me the first
100% successful "paranoia" runs I've seen under MIPS Linux.
I also merged in some R3000 fixes that Harald pointed out
to me. I'm holding off on distribution to give my colleagues
some time to merge in some CP0 hazard fixes, but we'll be
putting the sources and patches up on the web in the next