[U-Boot] Booting armv8 Kernel on UBoot
Rajkumar Ramasamy
rajkumar.r at samsung.com
Thu Jul 21 06:11:28 CEST 2016
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#l16, 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
More information about the U-Boot
mailing list