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 <[EMAIL PROTECTED]> --- 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 ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users