diff options
author | Peter Tyser <ptyser@xes-inc.com> | 2009-07-10 18:46:10 -0500 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2009-07-23 20:45:49 +0200 |
commit | 982adfc610669482a32127282fe489857a92cfe3 (patch) | |
tree | 4e393fde44ede3299e7c61b49342560215fd997e | |
parent | 4fb799aeafa71c4e6caacd3acdc4a4547cfbd5d4 (diff) | |
download | u-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.c | 6 | ||||
-rw-r--r-- | lib_ppc/bootm.c | 9 |
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 */ /* |