Jelajahi Sumber

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>
Kim Phillips 17 tahun lalu
induk
melakukan
78e4882988
2 mengubah file dengan 4 tambahan dan 8 penghapusan
  1. 4 7
      cpu/mpc83xx/start.S
  2. 0 1
      lib_ppc/board.c

+ 4 - 7
cpu/mpc83xx/start.S

@@ -172,11 +172,8 @@ boot_warm: /* time t 5 */
 	/* there and deflate the flash size back to minimal size      */
 	/* there and deflate the flash size back to minimal size      */
 	/*------------------------------------------------------------*/
 	/*------------------------------------------------------------*/
 	bl map_flash_by_law1
 	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
 	addi r5, r4, in_flash - _start + EXC_OFF_SYS_RESET
 	mtlr r5
 	mtlr r5
 	blr
 	blr
@@ -875,8 +872,8 @@ relocate_code:
 	mr	r10, r5		/* Save copy of Destination Address */
 	mr	r10, r5		/* Save copy of Destination Address */
 
 
 	mr	r3,  r5				/* 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)
 	lwz	r5, GOT(__init_end)
 	sub	r5, r5, r4
 	sub	r5, r5, r4
 	li	r6, CFG_CACHELINE_SIZE		/* Cache Line Size */
 	li	r6, CFG_CACHELINE_SIZE		/* Cache Line Size */

+ 0 - 1
lib_ppc/board.c

@@ -124,7 +124,6 @@ DECLARE_GLOBAL_DATA_PTR;
 #define CFG_MEM_TOP_HIDE	0
 #define CFG_MEM_TOP_HIDE	0
 #endif
 #endif
 
 
-extern ulong _start;
 extern ulong __init_end;
 extern ulong __init_end;
 extern ulong _end;
 extern ulong _end;
 ulong monitor_flash_len;
 ulong monitor_flash_len;