diff options
author | Wolfgang Denk <wd@pollux.denx.de> | 2005-10-05 00:00:54 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@pollux.denx.de> | 2005-10-05 00:00:54 +0200 |
commit | 7d314992a82cea41bb5de596421100ddce9d9c17 (patch) | |
tree | 796be7baf51b8870f055ac2ee5efa99062c0b8eb | |
parent | e5e98edd77d7703ffe2051c7030fa7a00dbbcfc4 (diff) | |
download | u-boot-imx-7d314992a82cea41bb5de596421100ddce9d9c17.zip u-boot-imx-7d314992a82cea41bb5de596421100ddce9d9c17.tar.gz u-boot-imx-7d314992a82cea41bb5de596421100ddce9d9c17.tar.bz2 |
E500 update: repoint IVPR to RAM when code is relocated
Patch by Kylo Ginsberg, 13 Apr 2005
-rw-r--r-- | CHANGELOG | 3 | ||||
-rw-r--r-- | cpu/mpc85xx/start.S | 5 | ||||
-rw-r--r-- | lib_ppc/board.c | 4 |
3 files changed, 12 insertions, 0 deletions
@@ -2,6 +2,9 @@ Changes for U-Boot 1.1.4: ====================================================================== +* E500 update: repoint IVPR to RAM when code is relocated + Patch by Kylo Ginsberg, 13 Apr 2005 + * Fix loop end test in lib_generic/string.c:strswab() Patch by Andrew Dyer, October 10, 2005 Signed-off-by: Andrew Dyer <amdyer@gmail.com> diff --git a/cpu/mpc85xx/start.S b/cpu/mpc85xx/start.S index 5f75bc1..2f2bd3a 100644 --- a/cpu/mpc85xx/start.S +++ b/cpu/mpc85xx/start.S @@ -995,6 +995,11 @@ relocate_code: 7: sync /* Wait for all icbi to complete on bus */ isync + /* + * Re-point the IVPR at RAM + */ + mtspr IVPR,r10 + /* * We are done. Do not return, instead branch to second part of board * initialization, now running from RAM. diff --git a/lib_ppc/board.c b/lib_ppc/board.c index d1e294f..b1c6ab0 100644 --- a/lib_ppc/board.c +++ b/lib_ppc/board.c @@ -429,6 +429,10 @@ void board_init_f (ulong bootflag) */ addr -= len; addr &= ~(4096 - 1); +#ifdef CONFIG_E500 + /* round down to next 64 kB limit so that IVPR stays aligned */ + addr &= ~(65536 - 1); +#endif debug ("Reserving %ldk for U-Boot at: %08lx\n", len >> 10, addr); |