mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-03-16 23:07:00 +00:00
Make MPC83xx one step closer to full relocation.
Remove a few absolute references to CFG_MONITOR_BASE for ppc/mpc83xx and use GOT relative reference. Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
This commit is contained in:
parent
5b2793a3f3
commit
70431e8a73
2 changed files with 9 additions and 5 deletions
|
@ -172,8 +172,11 @@ 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
|
||||||
lis r4, (CFG_MONITOR_BASE)@h
|
|
||||||
ori r4, r4, (CFG_MONITOR_BASE)@l
|
GET_GOT /* initialize GOT access */
|
||||||
|
lwz r4, GOT(_start)
|
||||||
|
addi r4, r4, -EXC_OFF_SYS_RESET
|
||||||
|
|
||||||
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
|
||||||
|
@ -872,8 +875,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 */
|
||||||
lis r4, CFG_MONITOR_BASE@h /* Source Address */
|
lwz r4, GOT(_start)
|
||||||
ori r4, r4, CFG_MONITOR_BASE@l
|
addi r4, r4, -EXC_OFF_SYS_RESET
|
||||||
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 */
|
||||||
|
|
|
@ -120,6 +120,7 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||||
#define TOTAL_MALLOC_LEN CFG_MALLOC_LEN
|
#define TOTAL_MALLOC_LEN CFG_MALLOC_LEN
|
||||||
#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;
|
||||||
|
@ -434,7 +435,7 @@ void board_init_f (ulong bootflag)
|
||||||
* - monitor code
|
* - monitor code
|
||||||
* - board info struct
|
* - board info struct
|
||||||
*/
|
*/
|
||||||
len = (ulong)&_end - CFG_MONITOR_BASE;
|
len = (ulong)&_end - (ulong)&_start + EXC_OFF_SYS_RESET;
|
||||||
|
|
||||||
#ifndef CONFIG_MAX_MEM_MAPPED
|
#ifndef CONFIG_MAX_MEM_MAPPED
|
||||||
#define CONFIG_MAX_MEM_MAPPED (256 << 20)
|
#define CONFIG_MAX_MEM_MAPPED (256 << 20)
|
||||||
|
|
Loading…
Add table
Reference in a new issue