Forráskód Böngészése

ARM: arm926ejs: fix lowlevel_init call

The code attempts to preserve the value of LR by storing it in R12/IP
across the lowevel_init() call.  However, this register is not saved
by the callee.  Use a register that guaranteed to be preserved instead.

Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard 7 éve
szülő
commit
da372af6e4
1 módosított fájl, 2 hozzáadás és 2 törlés
  1. 2 2
      arch/arm/cpu/arm926ejs/start.S

+ 2 - 2
arch/arm/cpu/arm926ejs/start.S

@@ -105,9 +105,9 @@ flush_dcache:
 	/*
 	 * Go setup Memory and board specific bits prior to relocation.
 	 */
-	mov	ip, lr		/* perserve link reg across call */
+	mov	r4, lr		/* perserve link reg across call */
 	bl	lowlevel_init	/* go setup pll,mux,memory */
-	mov	lr, ip		/* restore link */
+	mov	lr, r4		/* restore link */
 #endif
 	mov	pc, lr		/* back to my caller */
 #endif /* CONFIG_SKIP_LOWLEVEL_INIT */