summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim Phillips <kim.phillips@freescale.com>2008-04-21 18:10:14 -0500
committerWolfgang Denk <wd@denx.de>2008-04-25 00:13:12 +0200
commit78e488298824bc150b5f3ebf7958cd71fa2af1b9 (patch)
tree9d5b18161acb786f526d77c16becc1143177ff32
parenta99715b8ebfc500f3f40e01b36b64d473938443d (diff)
downloadu-boot-imx-78e488298824bc150b5f3ebf7958cd71fa2af1b9.zip
u-boot-imx-78e488298824bc150b5f3ebf7958cd71fa2af1b9.tar.gz
u-boot-imx-78e488298824bc150b5f3ebf7958cd71fa2af1b9.tar.bz2
lib_ppc: Revert "Make MPC83xx one step closer to full relocation."
This reverts commit 70431e8a7393b6b793f77957f95b999fc9a269b8 which has proven problematic getting right from the start at least on 83xx and 4xx. Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
-rw-r--r--cpu/mpc83xx/start.S11
-rw-r--r--lib_ppc/board.c1
2 files changed, 4 insertions, 8 deletions
diff --git a/cpu/mpc83xx/start.S b/cpu/mpc83xx/start.S
index fdf9d35..309eb30 100644
--- a/cpu/mpc83xx/start.S
+++ b/cpu/mpc83xx/start.S
@@ -172,11 +172,8 @@ boot_warm: /* time t 5 */
/* there and deflate the flash size back to minimal size */
/*------------------------------------------------------------*/
bl map_flash_by_law1
-
- GET_GOT /* initialize GOT access */
- lwz r4, GOT(_start)
- addi r4, r4, -EXC_OFF_SYS_RESET
-
+ lis r4, (CFG_MONITOR_BASE)@h
+ ori r4, r4, (CFG_MONITOR_BASE)@l
addi r5, r4, in_flash - _start + EXC_OFF_SYS_RESET
mtlr r5
blr
@@ -875,8 +872,8 @@ relocate_code:
mr r10, r5 /* Save copy of Destination Address */
mr r3, r5 /* Destination Address */
- lwz r4, GOT(_start)
- addi r4, r4, -EXC_OFF_SYS_RESET
+ lis r4, CFG_MONITOR_BASE@h /* Source Address */
+ ori r4, r4, CFG_MONITOR_BASE@l
lwz r5, GOT(__init_end)
sub r5, r5, r4
li r6, CFG_CACHELINE_SIZE /* Cache Line Size */
diff --git a/lib_ppc/board.c b/lib_ppc/board.c
index b2bc4eb..1b8a872 100644
--- a/lib_ppc/board.c
+++ b/lib_ppc/board.c
@@ -124,7 +124,6 @@ DECLARE_GLOBAL_DATA_PTR;
#define CFG_MEM_TOP_HIDE 0
#endif
-extern ulong _start;
extern ulong __init_end;
extern ulong _end;
ulong monitor_flash_len;