Ben NanoNote

Sign in or create your account | Project List | Help

Issue 64: fpu emu shouldn't be switched off

Reported by M. emdete, Apr 5, 2010

the fpu emulation in the kernel is switched of which makes use of 
other executables from other platforms impossible. i assume the 
user-space emulator needs about the same amount of memory.

Comment 1 by Paul Brook, Apr 19, 2010

Kernel FPU emulation requires both a software ieee floating point 
library and an instruction decoder.

Soft-float applications use the software FP library directly.  This 
means the floating point emulation code is likely to be 
significantly smaller, though code that uses floating point may be 
fractionally larger.  My guess is that this ends up about the same 
size overall.

The soft-float code is part of libgcc_s.so, so a single copy will be 
shared between all applications.  Also userspace code can be paged 
out/reclaimed if necessary (application images are mapped directly, 
so this works even if no swap is available), whereas kernel code is 
pinned into physical ram.

It should be noted that soft-float code is typically an order of 
magnitude faster than a kernel trapping of FPU instructions.

Comment 2 by Mirko Vogt, Apr 27, 2010

Paul, you're correct regarding the performance issues - that's why 
we decided to create another kernel image which has fpu emulation 
enabled.

Comment 3 by Mirko Vogt, Apr 27, 2010

Some more detailed information may be found here in the mail of 
Mirko Lindner: 
http://en.qi-hardware.com/pipermail/developer/2010-April/002766.html

Comment 4 by Xiangfu Liu, Nov 5, 2010

commit 74a06558e1cf1aee29a528ebab184be2ca4391d9
Author: Mirko Vogt <dev@nanl.de>
Date:   Sun Jun 13 23:12:09 2010 +0200
Status: Fixed

Created: 9 years 5 months ago by M. emdete

Updated: 8 years 10 months ago

Status: Fixed

Followed by: 3 persons

Labels:
Type:Defect
Priority:Medium



interactive