Reputation: 1
Linux Kernel Version: 5.1.39 and above
Tool chain:
gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux (for Linux compilation)
gcc-linaro-aarch64-none-elf-4.9-2014.09_linux. (for Boot code compilation)
Platform:
a hardware system with an ARM Cortex-A78 core, an interconnect, a DDR-DRAM and an UART-16550 only
Question:
We are trying to boot the Linux kernel on this hardware system.
The bootcode is provided by ARM and modified by us.
It performs below mentioned tasks:
After the control is transferred to the Linux kernel, kernel performs predefined tasks mentioned in its ./arch/arm64/kernel/head.S file.
To track the execution, we print an alphabet from the head.S file itself, after some lines of execution.
From this, we found that the code gets stuck, after it branches to __relocate_kernel label. In particular, it stuck when it tries to load some value from a memory address.
If we disable the relocation from menuconfig, it show same behavior once it reaches "set_task_stack_end_magic()" in ./init/main.c
We can't figure out why exactly this issue is appearing?
Can anyone help us out here?
Feel free if you require further information as well to give suggestions.
Thank you
Upvotes: 0
Views: 300