diff options
Diffstat (limited to 'lib_ppc')
-rw-r--r-- | lib_ppc/bat_rw.c | 6 | ||||
-rw-r--r-- | lib_ppc/bootm.c | 5 |
2 files changed, 7 insertions, 4 deletions
diff --git a/lib_ppc/bat_rw.c b/lib_ppc/bat_rw.c index 8546333868..a40b377bca 100644 --- a/lib_ppc/bat_rw.c +++ b/lib_ppc/bat_rw.c @@ -25,9 +25,12 @@ #include <common.h> #include <asm/processor.h> #include <asm/mmu.h> +#include <asm/io.h> int write_bat (ppc_bat_t bat, unsigned long upper, unsigned long lower) { + sync(); + switch (bat) { case DBAT0: mtspr (DBAT0L, lower); @@ -99,6 +102,9 @@ int write_bat (ppc_bat_t bat, unsigned long upper, unsigned long lower) return (-1); } + sync(); + isync(); + return (0); } diff --git a/lib_ppc/bootm.c b/lib_ppc/bootm.c index 81803ddef3..cbe5592a94 100644 --- a/lib_ppc/bootm.c +++ b/lib_ppc/bootm.c @@ -277,8 +277,6 @@ do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], #if defined(CFG_INIT_RAM_LOCK) && !defined(CONFIG_E500) unlock_ram_in_cache(); #endif - if (!images->autostart) - return ; #if defined(CONFIG_OF_LIBFDT) if (of_flat_tree) { /* device tree; boot new style */ @@ -311,8 +309,7 @@ do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], return ; error: - if (images->autostart) - do_reset (cmdtp, flag, argc, argv); + do_reset (cmdtp, flag, argc, argv); return ; } |