diff options
author | Thomas Chou <thomas@wytron.com.tw> | 2010-04-20 11:01:11 +0800 |
---|---|---|
committer | Scott McNutt <smcnutt@psyent.com> | 2010-04-24 18:21:23 -0400 |
commit | fd2712d0b1d4c1624bef35b784ee64451ee5a017 (patch) | |
tree | 455d02ee685db56e945737b14f035182002eb75d /arch/nios2 | |
parent | 994852966d2e6cf98c1dbeea8ee62c233b305ffb (diff) |
nios2: consolidate reset initialization
Global interrupt should be disabled from the beginning.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Signed-off-by: Scott McNutt <smcnutt@psyent.com>
Diffstat (limited to 'arch/nios2')
-rw-r--r-- | arch/nios2/cpu/start.S | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/nios2/cpu/start.S b/arch/nios2/cpu/start.S index 31cd5b004a0..d1016ea7183 100644 --- a/arch/nios2/cpu/start.S +++ b/arch/nios2/cpu/start.S @@ -34,6 +34,7 @@ .global _start _start: + wrctl status, r0 /* Disable interrupts */ /* ICACHE INIT -- only the icache line at the reset address * is invalidated at reset. So the init must stay within * the cache line size (8 words). If GERMS is used, we'll @@ -43,10 +44,9 @@ _start: ori r4, r0, %lo(CONFIG_SYS_ICACHELINE_SIZE) movhi r5, %hi(CONFIG_SYS_ICACHE_SIZE) ori r5, r5, %lo(CONFIG_SYS_ICACHE_SIZE) - mov r6, r0 -0: initi r6 - add r6, r6, r4 - bltu r6, r5, 0b +0: initi r5 + sub r5, r5, r4 + bgt r5, r0, 0b br _except_end /* Skip the tramp */ /* EXCEPTION TRAMPOLINE -- the following gets copied @@ -62,7 +62,6 @@ _except_end: /* INTERRUPTS -- for now, all interrupts masked and globally * disabled. */ - wrctl status, r0 /* Disable interrupts */ wrctl ienable, r0 /* All disabled */ /* DCACHE INIT -- if dcache not implemented, initd behaves as |