The Context_Control_fp contains the per task information for the floating point unit. The organization of this structure may be a list of floating point registers along with any floating point control and status registers or it simply consist of an array of a fixed number of bytes. Defining the floating point context area as an array of bytes is done when the floating point context is dumped by a "FP save context" type instruction and the format is either not completely defined by the CPU documentation or the format is not critical for the implementation of the floating point context switch routines. In this case, there is no need to figure out the exact format -- only the size. Of course, although this is enough information for RTEMS, it is probably not enough for a debugger such as gdb. But that is another problem.
typedef struct { double some_float_register; } Context_Control_fp;
On some CPUs with hardware floating point support, the Context_Control_fp structure will not be used.
Copyright © 1988-2003 OAR Corporation