[fpc-devel] FPC for Linux-ARM
henry.vermaak at gmail.com
Thu Jan 20 10:40:30 CET 2011
On 20/01/11 08:20, Michael Schnell wrote:
> On 01/19/2011 05:13 PM, Henry Vermaak wrote:
>> it's really expensive to trap the illegal instructions and emulate them.
> AFAIK, the trapping is done by the ARM CPU, anyway, providing the
> emulation functions just costs some memory, but of course it's even
> slower and more intrusive than directly calling an FPU emulation
> function in user space.
No, the cpu generates an exception for every illegal fpu operation,
which gets trapped by the kernel. The kernel then has to catch this
instruction and perform it by emulating the _whole_ fpu. This, together
with the exception handling causes the bad performance. Look at the
code in arch/arm/nwfpe if you're interested.
More information about the fpc-devel