diff options
author | Michal Simek <monstr@monstr.eu> | 2012-11-07 15:27:39 +0100 |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2013-04-30 11:22:42 +0200 |
commit | 8848668e136cccb30229b5e1484d41e0b5a6830a (patch) | |
tree | 59fb7c917ad174b811f3bf3518d504e94e92db02 | |
parent | 783764521e29955643bbe30d64d17110ed57a888 (diff) |
microblaze: Disable all cpu features before reset
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>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
-rw-r--r-- | board/xilinx/microblaze-generic/microblaze-generic.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/board/xilinx/microblaze-generic/microblaze-generic.c b/board/xilinx/microblaze-generic/microblaze-generic.c index 8ba99f9c50a..1af0b86c75f 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; } |