MIPS with Floating Point: Where is fp status register saved/restored?

gregory.menke at gsfc.nasa.gov gregory.menke at gsfc.nasa.gov
Mon Jul 19 00:47:29 UTC 2004


Bruce Robinson writes:
 > Thanks Greg!
 > 
 > I've been so overwhelmed moving from 4.5.0 to 4.6.0, I overlooked the
 > possibility that it might have been fixed in more recent work. I noticed in
 > the patches that there are pipeline clearing issues also; interestingly I
 > don't recall that being addressed in the Linux kernel code I looked at.
 > 
 > Best Regards,
 > Bruce
 > 

We found the problem during rigorous testing of flight software
containing a mix of fp and integer tasks.  Naturally the datasheets
weren't particularly clear about the subtlety of handling the fpu...

The pipeline clearing is adopted from some much earlier fpu exception
handling code that was developed for vxworks back in the late 90's.
The code takes particular care of the fpu pipeline, so when the bug
was found, we adapted the same logic to the RTEMS fpu context
save/restore.  The Mongoose datasheets don't go into detail about the
fpu pipeline, but it may well be necessary in some circumstances on
some processors.

Gregm





More information about the users mailing list