Hi Jim,

On Sat, Jan 9, 2016 at 12:47 AM, Jim Wilson <jim.wil...@linaro.org> wrote:
> On Thu, Jan 7, 2016 at 5:09 PM, Shawn Guo <shawn....@linaro.org> wrote:
>> We have a AARCH64 verification platform (FPGA) which is built without
>> NEON unit.  Is there any prebuilt AARCH64 rootfs (busybox, debian ...)
>> that can be used on such platform?  Or is it possible to build an
>> AARCH64 rootfs with -mgeneral-regs-only flag to avoid using NEON unit?
>
> A linux root fs without FP/ASIMD instructions would require compiler
> support to generate soft-float code.  ARM has not defined any
> soft-float ABI for aarch64, and apparently has no intention to do so,
> so there is no soft-float support in gcc for aarch64.  My
> understanding is that this is partly because the ARMv8-A profile
> requires FP/ASIMD instruction support, and partly because ARM wants to
> avoid (or at least delay) the multilib problem that they already have
> on ARMv7.

Thanks a lot for your insight on this.

> -mgeneral-regs-only does not help here.    It can only work for code
> that has no FP operations.  Glibc has FP operations, and I don't think
> that it can be built without them.  This option is only intended for
> some special purpose code that needs to avoid using FP registers
> because they haven't been initialized yet or because it would be too
> expensive to save/restore them.  It is primarily intended to be used
> by bootloaders and kernels and similar low level codes.

Ah, yes, that's why we have seen that the flag works with U-Boot and
Linux kernel.

> There are a few other possible options here, but not any easy and/or
> good ones.  We could add kernel support to emulate FP/ASIMD
> instructions.  I think this was done on x86 so that linux could run on
> x86 parts without an FPU.  This is potentially a lot of work.  You
> could perhaps use a soft-float ARMv7 root fs, if your part can execute
> aarch32 instructions, but that doesn't help if you want to test
> aarch64 support.  Or we could argue with ARM and try to get them to
> change their stance on soft-float ABI support, but that could take a
> while, and may not be successful.

Your comments are extremely helpful and much appreciated.  We're now
able to boot into user space on this platform using an ARMv7 softfp
rootfs, and it serves our testing purpose well for now.

Thanks,
Shawn
_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to