From e03c22a98cf5deffd0dec2f9ff88a600aa330bc4 Mon Sep 17 00:00:00 2001 From: Lars Munch Date: Sat, 8 May 2010 22:43:35 +0200 Subject: 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 Signed-off-by: Aurelien Jarno --- target-arm/helper.c | 1 - 1 file changed, 1 deletion(-) (limited to 'target-arm/helper.c') diff --git a/target-arm/helper.c b/target-arm/helper.c index 99e0394e93..63e5dc7ef6 100644 --- a/target-arm/helper.c +++ b/target-arm/helper.c @@ -207,7 +207,6 @@ void cpu_reset(CPUARMState *env) #else /* SVC mode with interrupts disabled. */ env->uncached_cpsr = ARM_CPU_MODE_SVC | CPSR_A | CPSR_F | CPSR_I; - env->regs[15] = 0; /* On ARMv7-M the CPSR_I is the value of the PRIMASK register, and is clear at reset. Initial SP and PC are loaded from ROM. */ if (IS_M(env)) { -- cgit 1.4.1