summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Tyser <ptyser@xes-inc.com>2009-07-10 18:46:10 -0500
committerWolfgang Denk <wd@denx.de>2009-07-23 20:45:49 +0200
commit982adfc610669482a32127282fe489857a92cfe3 (patch)
tree4e393fde44ede3299e7c61b49342560215fd997e
parent4fb799aeafa71c4e6caacd3acdc4a4547cfbd5d4 (diff)
downloadu-boot-imx-982adfc610669482a32127282fe489857a92cfe3.zip
u-boot-imx-982adfc610669482a32127282fe489857a92cfe3.tar.gz
u-boot-imx-982adfc610669482a32127282fe489857a92cfe3.tar.bz2
ppc: Unlock cache-as-ram in a consistent manner
Previously, non-e500 architectures only unlocked their data cache which was used as early RAM when booting to Linux using the "bootm" command. This change causes all PPC boards with CONFIG_SYS_INIT_RAM_LOCK defined to unlock their data cache during U-Boot's initialization. This improves U-Boot performance and provides a common cache state when booting to different OSes. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
-rw-r--r--lib_ppc/board.c6
-rw-r--r--lib_ppc/bootm.c9
2 files changed, 3 insertions, 12 deletions
diff --git a/lib_ppc/board.c b/lib_ppc/board.c
index 6dd4d56..8def520 100644
--- a/lib_ppc/board.c
+++ b/lib_ppc/board.c
@@ -68,7 +68,7 @@
#if defined(CONFIG_LOGBUFFER)
#include <logbuff.h>
#endif
-#if defined(CONFIG_SYS_INIT_RAM_LOCK) && defined(CONFIG_E500)
+#if defined(CONFIG_SYS_INIT_RAM_LOCK)
#include <asm/cache.h>
#endif
#ifdef CONFIG_PS2KBD
@@ -754,8 +754,8 @@ void board_init_r (gd_t *id, ulong dest_addr)
icache_enable (); /* it's time to enable the instruction cache */
#endif
-#if defined(CONFIG_SYS_INIT_RAM_LOCK) && defined(CONFIG_E500)
- unlock_ram_in_cache(); /* it's time to unlock D-cache in e500 */
+#if defined(CONFIG_SYS_INIT_RAM_LOCK)
+ unlock_ram_in_cache(); /* it's time to unlock D-cache */
#endif
#if defined(CONFIG_BAB7xx) || defined(CONFIG_CPC45)
diff --git a/lib_ppc/bootm.c b/lib_ppc/bootm.c
index 0d702bf..e7d2c98 100644
--- a/lib_ppc/bootm.c
+++ b/lib_ppc/bootm.c
@@ -38,11 +38,6 @@
#include <fdt.h>
#include <libfdt.h>
#include <fdt_support.h>
-
-#endif
-
-#ifdef CONFIG_SYS_INIT_RAM_LOCK
-#include <asm/cache.h>
#endif
DECLARE_GLOBAL_DATA_PTR;
@@ -71,10 +66,6 @@ static void boot_jump_linux(bootm_headers_t *images)
show_boot_progress (15);
-#if defined(CONFIG_SYS_INIT_RAM_LOCK) && !defined(CONFIG_E500)
- unlock_ram_in_cache();
-#endif
-
#if defined(CONFIG_OF_LIBFDT)
if (of_flat_tree) { /* device tree; boot new style */
/*