]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
microblaze: Disable all cpu features before reset
authorMichal Simek <monstr@monstr.eu>
Fri, 2 Nov 2012 08:33:50 +0000 (09:33 +0100)
committerMichal Simek <monstr@monstr.eu>
Wed, 7 Nov 2012 09:06:10 +0000 (10:06 +0100)
Fix microblaze soft reset function and disable
all cpu features. Especially disable caches because
IRQs were off by disable_interrupts().

Reported-by: John Williams <john.williams@xilinx.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>
board/xilinx/microblaze-generic/microblaze-generic.c

index bb844f8d2407c6e2545e249aaad704793820a531..bc19fdc707af6f792c018376b6680e280522657a 100644 (file)
@@ -40,8 +40,8 @@ int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 #endif
 
        puts ("Reseting board\n");
-       disable_interrupts();
-       asm ("bra r0");
+       __asm__ __volatile__ (" mts rmsr, r0;" \
+                               "bra r0");
 
        return 0;
 }