[U-Boot] [PATCH] arm: fix exception vectors

Luca Ellero luca.ellero at brickedbrain.com
Mon Dec 29 16:10:53 CET 2014


After relocation, exception vectors still point to the old code (not relocated).
This patch fixes them.

Signed-off-by: Luca Ellero <luca.ellero at brickedbrain.com>
---
 arch/arm/lib/relocate.S |   15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/arch/arm/lib/relocate.S b/arch/arm/lib/relocate.S
index 92f5314..4186344 100644
--- a/arch/arm/lib/relocate.S
+++ b/arch/arm/lib/relocate.S
@@ -76,6 +76,21 @@ copy_loop:
 	blo	copy_loop
 
 	/*
+	 * fix exception vectors
+	 */
+	ldr r2, =_undefined_instruction
+	ldr r3, =_fiq
+	add	r2, r2, r4
+	add	r3, r3, r4
+fix_exceptions:
+	ldr r0, [r2]
+	add	r0, r0, r4
+	str	r0, [r2]
+	cmp r2,r3
+	add r2, #4
+	blo fix_exceptions
+
+	/*
 	 * fix .rel.dyn relocations
 	 */
 	ldr	r2, =__rel_dyn_start	/* r2 <- SRC &__rel_dyn_start */
-- 
1.7.10.4



More information about the U-Boot mailing list