We must invalidate TLBs before MMU turn on, but
currently the code is not, if there are some stale
TLB entry valid in the TLBs, it will cause strange
issue.

Signed-off-by: Dave Liu <[EMAIL PROTECTED]>
---
 cpu/mpc86xx/start.S |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/cpu/mpc86xx/start.S b/cpu/mpc86xx/start.S
index 159f3e1..30e6047 100644
--- a/cpu/mpc86xx/start.S
+++ b/cpu/mpc86xx/start.S
@@ -202,8 +202,12 @@ boot_warm:
        mtmsr   0
 #endif
 
+       /* Invalidate BATs */
        bl      invalidate_bats
        sync
+       /* Invalidate all of TLB before MMU turn on */
+       bl      clear_tlbs
+       sync
 
 #ifdef CONFIG_SYS_L2
        /* init the L2 cache */
@@ -275,7 +279,6 @@ in_flash:
 
        /* setup the rest of the bats */
        bl      setup_bats
-       bl      clear_tlbs
        sync
 
 #if (CONFIG_SYS_CCSRBAR_DEFAULT != CONFIG_SYS_CCSRBAR)
-- 
1.5.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to