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