[U-Boot] Booting armv8 Kernel on UBoot

Hi, I am trying to boot ARMv8 Linux kernel using U-Boot. I have built the latest mainline kernel and U-Boot for aarch64 using defconfig. I am testing this build on QEMU V2.6.0. I have loaded the Image file at 0x80080000 "loaded file /home/shingu/workspace/linux/linux_mainline_aarch64/arch/arm64/boot/Image from 80080000 to 80B175FF, 00A97600 bytes" Just before transfering the control to the kernel, U-Boot is trying to switch the exception level to EL2 from EL3, since I have "-machine secure=on" in QEMU parameters. As soon as the stack pointer is migrated, ( mov x0, sp; msr sp_el2, x0) there is an exception occurring, [transferring control to arch/arm/cpu/armv8/exceptions.S:102] which is aborting the boot process with following message: "Synchronous Abort" handler, esr 0x02000000 ELR: fef7caa4 LR: fef7d60c x0 : 00000000fe6fa820 x1 : 0000000000000000 x2 : 00000000fef94a88 x3 : 0000000000000001 x4 : 00000000fe6fa4e0 x5 : 0000000000000020 x6 : ffffff80ffffffc8 x7 : 0000000000000000 x8 : 00000000fe6fa6e0 x9 : 0000000000000002 x10: 00000000fe6fa55b x11: 0000000000000002 x12: 0000000000000002 x13: 00000000ffffffff x14: 0000000083006fff x15: 00000000fef7c8e4 x16: 00000000fef7cb68 x17: 0000000000000000 x18: 00000000fe6fae00 x19: 00000000fefb7b40 x20: 0000000000000000 x21: 0000000080080000 x22: 0000000000000003 x23: 00000000fe6fe058 x24: 0000000000000000 x25: 00000000fefb0918 x26: 0000000000000000 x27: 00000000fef7d6d8 x28: 00000000fe6fe080 x29: 00000000fef7d5ec Resetting CPU ... resetting ... Can anyone please help me to understand what I am doing wrong?
The total process is in the following code: [ http://git.denx.de/?p=u-boot.git;a=blob;f=arch/arm/cpu/armv8/transition.S#l1..., http://git.denx.de/?p=u-boot.git;a=blob;f=arch/arm/include/asm/macro.h#138]
Have a pleasant day! :) With Thanks and Regards, Rajkumar R
participants (1)
-
Rajkumar Ramasamy