[LEDE-DEV] [RFC] target: armvirt: new target

Yousong Zhou yszhou4tech at gmail.com
Fri Nov 25 08:43:38 PST 2016


On 25 November 2016 at 01:29, Christian Lamparter
<chunkeey at googlemail.com> wrote:
> Hello,
>
> On Friday, November 25, 2016 12:03:54 AM CET Yousong Zhou wrote:
>> An ARM Cortex-A machine provided by QEMU.
>>
>> Kernel drivers enabled:
>>
>>  - pl011, uart
>>  - pl031, rtc
>>  - pl061, gpio
>>  - pci-host-generic
>>  - virtio_{mmio,pci,net,blk,scsi,console,balloon}
>>  - ext4
>>  - DEBUG_BUGVERBOSE for debug purposes
>>  - neon, vfp extensions support (otherwise userland will fail with
>>    illegal instruction signal (code 0x00000004))
>>
>> Signed-off-by: Yousong Zhou <yszhou4tech at gmail.com>
>> ---
>> I prepared this target initially only for the purposes of proper testing KVM
>> support on Cubieboard2 as I cannot find an usable prebuilt binary on the net.
>>
>> It is posted as RFC because it will introduce a new target combination
>> cortex-a15_neon and may place an extra burden on the build system of LEDE and
>> the target users at the moment may be quite small.
>
> I started up initramfs image with qemu. And the /proc/cpuinfo stated:
> Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
>
> So, wouldn't it make sense to change the
>
> CPU_SUBTYPE:=neon
>
> to
>
> CPU_SUBTYPE:=neon-vfpv4
>
> Because, this way it will share the same "packages" with ipq806x.
> So it will be less work for the phase2 builds.
>
> (Note: I haven't tested this with kvm on a A15, but only qemu-system-arm
> on a x86). But I haven't seen any "illegal instruction signal (code 0x00000004)"
> there when I compiled a initramfs with neon-vfpv4.
>
>
> Regards,
> Christian

Yes, turning to neon-vfpv3 seems to be a fair trade-off as cortex-a15
is expected to have that feature on.  The allwinner-a20 soc (dual-core
cortex-a7) on cubieboard2 is also capable of neon-vfpv4 and I just
assembled a small binary with ".fpu neon-vfpv4" from gas testsuite and
it runs to end just fine with accel=kvm.  It should also work with
accel=tcg as qemu can provide the emulation.  But I am not sure how it
will work out with accel=kvm on a hardware without neon-vfpv4...

I will provide a updated patch in the following days.

                yousong



More information about the Lede-dev mailing list