summaryrefslogtreecommitdiff
path: root/lib_ppc
diff options
context:
space:
mode:
authorStefan Roese <sr@denx.de>2008-08-12 20:39:27 +0200
committerStefan Roese <sr@denx.de>2008-08-12 20:39:27 +0200
commit9939ffd5fbf1f5aff4d8172531d4fc33797c62c8 (patch)
tree40e9295368c82a9c7f2b09e7b1fb76c2c44df0ce /lib_ppc
parent1c7015100a620582224f25eb057573a0fe147648 (diff)
parentcd82919e6c8a73b363a26f34b734923844e52d1c (diff)
downloadu-boot-imx-9939ffd5fbf1f5aff4d8172531d4fc33797c62c8.zip
u-boot-imx-9939ffd5fbf1f5aff4d8172531d4fc33797c62c8.tar.gz
u-boot-imx-9939ffd5fbf1f5aff4d8172531d4fc33797c62c8.tar.bz2
Merge branch 'master' of /home/stefan/git/u-boot/u-boot into next
Diffstat (limited to 'lib_ppc')
-rw-r--r--lib_ppc/bat_rw.c6
-rw-r--r--lib_ppc/bootm.c5
2 files changed, 7 insertions, 4 deletions
diff --git a/lib_ppc/bat_rw.c b/lib_ppc/bat_rw.c
index 8546333..a40b377 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 81803dd..cbe5592 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 ;
}