Hi Jano,

On 10/28/2014 10:57 PM, Jan Vesely wrote:
> sorry for taking so long to look into this, the time I can work on
> HelenOS is really scarce.
> 
> the reason is that vmrs is ARMv7 only. as is probably the rest of the
> arm FPU support on HelenOS. qemu probably just checks better (kudos to
> them)
> 
> The solution is to disable FPU on armv6-, until somebody implements
> properly, I enabled it on "it happens to work" basis.

This got fixed in the meantime - it was actually a bug in QEMU,
something along the lines they completely forgot about ARMv5. But the
latest released QEMU should have this fixed. ARMv5 does not have vmrs,
but is has something else (I guess the normal FPU instructions) that,
IIRC, share the same opcode, so it is expected to work.

Here is the respective QEMU commit that fixed this again:

commit ed1f13d607e2c64c66bea49d6f4edaf278d3d246
Author: Peter Maydell <[email protected]>
Date:   Fri Aug 29 15:00:28 2014 +0100

    target-arm: Fix regression that disabled VFP for ARMv5 CPUs

    Commit 2c7ffc414 added support for honouring the CPACR coprocessor
    access control register bits which may disable access to VFP
    and Neon instructions. However it failed to account for the
    fact that the CPACR is only present starting from the ARMv6
    architecture version, so it accidentally disabled VFP completely
    for ARMv5 CPUs like the ARM926. Linux would detect this as
    "no VFP present" and probably fall back to its own emulation,
    but other guest OSes might crash or misbehave.

    This fixes bug LP:1359930.

> I would commit the fix directly but icp crashes in bootloader on both
> qemu-2.1.1, and git, so I can not verify.

Strange, my QEMU 2.1.1 runs just fine. Anyone else has the same problem?

Jakub


_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/listinfo/helenos-devel

Reply via email to