[U-Boot-Users] [PATCH][FOR 1.3.4] 85xx: Don't move interrupt vector to low memory

Kumar Gala galak at kernel.crashing.org
Wed Aug 6 08:28:31 CEST 2008


Moving the interrupt vectors to low memory can cause issues if the code
gets overwritten via some image loading command (tftp, boot*, etc.) and
interrupts (like the decrementer are enabled).

On 85xx there is no reason to copy the interrupt vectors to low memory
since we can run them in high memory since we are a Book-E core.

Signed-off-by: Kumar Gala <galak at kernel.crashing.org>
---

This is a fix for 1.3.4.

- k

 cpu/mpc85xx/start.S |   19 +++++--------------
 1 files changed, 5 insertions(+), 14 deletions(-)

diff --git a/cpu/mpc85xx/start.S b/cpu/mpc85xx/start.S
index 10fe936..9c8b2a1 100644
--- a/cpu/mpc85xx/start.S
+++ b/cpu/mpc85xx/start.S
@@ -936,13 +936,6 @@ trap_init:
 	bgelr				/* return if r7>=r8 - just in case */

 	mflr	r4			/* save link register		*/
-1:
-	lwz	r0,0(r7)
-	stw	r0,0(r9)
-	addi	r7,r7,4
-	addi	r9,r9,4
-	cmplw	0,r7,r8
-	bne	1b

 	/*
 	 * relocate `hdlr' and `int_return' entries
@@ -973,9 +966,6 @@ trap_init:
 	cmplw	0,r7,r8
 	blt	2b

-	lis	r7,0x0
-	mtspr	IVPR,r7
-
 	mtlr	r4			/* restore link register	*/
 	blr

@@ -983,13 +973,14 @@ trap_init:
 	 * Function: relocate entries for one exception vector
 	 */
 trap_reloc:
-	lwz	r0,0(r7)		/* hdlr ...			*/
+	lwzx	r0,r3,r7		/* hdlr ...			*/
 	add	r0,r0,r3		/*  ... += dest_addr		*/
-	stw	r0,0(r7)
+	stwx	r0,r3,r7

-	lwz	r0,4(r7)		/* int_return ...		*/
+	addi	r7,r7,4
+	lwzx	r0,r3,r7		/* int_return ...		*/
 	add	r0,r0,r3		/*  ... += dest_addr		*/
-	stw	r0,4(r7)
+	stwx	r0,r3,r7

 	blr

-- 
1.5.5.1





More information about the U-Boot mailing list