E500 update: repoint IVPR to RAM when code is relocated

Patch by Kylo Ginsberg, 13 Apr 2005
This commit is contained in:
Wolfgang Denk 2005-10-05 00:00:54 +02:00
parent e5e98edd77
commit 7d314992a8
3 changed files with 12 additions and 0 deletions

View File

@ -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>

View File

@ -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.

View File

@ -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);