mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
arm: fix arm kernel boot for non zero start addr
Booting an arm kernel has been broken a while when booting from non zero start address. This is due to the order of events: board init loads the kernel and sets register 15 to the start address and then qemu_system_reset reset the cpu making register 15 zero again. This patch fixes the usage of the register 15 start address trick in combination with arm_load_kernel. Signed-off-by: Lars Munch <lars@segv.dk> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
0f89cc7b6c
commit
e03c22a98c
9 changed files with 1 additions and 30 deletions
|
@ -187,6 +187,7 @@ static void main_cpu_reset(void *opaque)
|
|||
env->regs[15] = info->entry & 0xfffffffe;
|
||||
env->thumb = info->entry & 1;
|
||||
} else {
|
||||
env->regs[15] = info->loader_start;
|
||||
if (old_param) {
|
||||
set_kernel_args_old(info, info->initrd_size,
|
||||
info->loader_start);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue