From: Michal Simek <mon...@monstr.eu>

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.willi...@xilinx.com>
Signed-off-by: Michal Simek <mon...@monstr.eu>
Signed-off-by: Michal Simek <michal.si...@xilinx.com>
---
 board/xilinx/microblaze-generic/microblaze-generic.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/board/xilinx/microblaze-generic/microblaze-generic.c 
b/board/xilinx/microblaze-generic/microblaze-generic.c
index 8ba99f9..1af0b86 100644
--- a/board/xilinx/microblaze-generic/microblaze-generic.c
+++ b/board/xilinx/microblaze-generic/microblaze-generic.c
@@ -40,7 +40,8 @@ int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * 
const argv[])
 #endif

        puts ("Reseting board\n");
-       asm ("bra r0");
+       __asm__ __volatile__ (" mts rmsr, r0;" \
+                               "bra r0");

        return 0;
 }
--
1.8.2.1

Attachment: pgpr1uMRDPLyj.pgp
Description: PGP signature

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

Reply via email to