On 26 June 2014 16:27, Joel (Xi Zhou) Zhou <joel.z...@broadcom.com> wrote:
> Hi all,
>
>
>
> I’m working on booting Linaro LSK 3.10.40 kernel in be8 mode on our
> Cortex-A9 system.
>
> There is an issue related to VFP instruction. It complain “vstmia” is an
> undefined instruction.
>
> The VFP is supported in CPU and CONFIG_VFP and CONFIG_VFPv3 are enabled in
> kernel config.
>
> Are there any patch need to be done for VFP in BE mode?
>
>
>
> The booting log show as following:
>
> call sys_access(/init)
>
> Freeing unused kernel memory: 2832K (c0600000 - c08c4000)
>
> kernel_init: try to execute '/init' (ramdisk_execute_command)
>
> en->run_init_process(/init)
>
> init (1): undefined instruction: pc=0000aab8
>
> Code: f00f dff8 2a20 1268 (acec) 108b
>
> Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
>
>
>
> The disassembly code show the undefined instruction is “vstmia”.
>
> armeb-linux-gnueabihf-objdump -D busybox_unstripped > busy.asm
>
> 0000aa90 <__sigsetjmp>:
>
> ...
>
>     aab6:       6812            ldr     r2, [r2, #0]
>
>     aab8:       ecac 8b10       vstmia  ip!, {d8-d15}
>
>     aabc:       f412 7f00       tst.w   r2, #512        ; 0x200
>
>
>
> The rootfs is busybox 1.22.1 compiled by Linaro BE hard floating toolchain.
>
> https://releases.linaro.org/14.04/components/toolchain/binaries/gcc-linaro-armeb-linux-gnueabihf-4.8-2014.04_linux.tar.xz

The instruction is valid and encoded correctly as far as I can tell. I
would suspect that this exception may be related to the kernel VFP
handling code.

-- 
Will Newton
Toolchain Working Group, Linaro

_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to