This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM3xx: Floating point emulation

Other Parts Discussed in Thread: ASH

Hi,

recently I've tried to compile ash shell for a uClibc environment on DM365 and found that it crashed when executing setjmp. After googling a bit I've discovered that it happens if FPU support is enabled in uClibc but disabled in the Kernel configuration. I've checked kernel config but found only an option:

Floating point emulation -> VFP-format floating point maths

I've enabled this and now ash seems to work, but there are some obscure points:

1) The comment in the kernel config menu says "at least one emulation must be selected". But there is only one option and in default configuration it is disabled. Strange because I've seen more options on another ARM926 based board (not DaVinci from TI).

2) Does DM365's ARM926 has hardware support for floating point math?

3) If not, and it is correct to leave "VFP-format floating point maths" disabled, does MV linux distribution resolve on soft floats (everything must be compiled with (-msoft-float)

Please help me with each point.

 

  • I reply to myself:

    1) Kernel emulation for VFP is only partial and covers only a few inctructions. It allows you to compile with support for VFP, then if no real VFP unit is present, an exception is issued. The kernel simulates the instruction and everything works.

    2) DM365 does not have hardware floating point unit, so kernel emulation or software floats must be used

    3) MV forces soft floats in its compiler