genmcf548x patches

Joel Sherrill joel.sherrill at OARcorp.com
Thu Apr 19 19:36:10 UTC 2012


On 04/17/2012 11:58 AM, Thomas Doerfler wrote:
> Hi,
>
> it is some years ago I added these specific lines. Background is (as far
> as I remember):
>
> - that the MCF54xx context switch code avoids swapping out the FPU (or
> FPU-like) registers, if this is not needed
>
> - access to the FPU is enabled/disabled using a specific bit in the
> Cache(!) Control register CACR
The SPARC port disables the FPU when integer only tasks
are running. The save/restore routines enable the FPU
explicitly at the top of the routine just in case it was off.
The register that turns it off is the psr in the integer context.

Could something similar be done in this case?

I am hesitating since this may be covering up that way
the port is enabling/disabling the FPU.
> - RTEMS creates classic init tasks with FPU disabled (?) but POSIX tasks
> implicitly have FPU enabled, since they do not have the corresponding
> task attribute
FWIW Classic API may create init tasks with or without FPU disabled.
>
> - ADA (which is used on this target) uses a POSIX task for initialization.
>
> Joel is right, there should be a general query to detect this situation.
> My current code is at least sub-optimal.
>
> wkr,
>
> Thomas.
>
>
> Am 17.04.2012 09:30, schrieb Sebastian Huber:
>> Hi,
>>
>> why do we need this special case for initialization tasks?
>>
>


-- 
Joel Sherrill, Ph.D.             Director of Research&   Development
joel.sherrill at OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
     Support Available             (256) 722-9985





More information about the devel mailing list