summaryrefslogtreecommitdiff
path: root/arch/nds32/cpu
diff options
context:
space:
mode:
authorMacpaul Lin <macpaul@gmail.com>2012-03-11 16:53:23 +0800
committerMacpaul Lin <macpaul@gmail.com>2012-03-19 15:53:14 +0800
commit1a05bb3c2804980fa4fbcd2b7a05a2203308af55 (patch)
tree58eecf161dfc4ff515385bc6a1d2595e5c63b210 /arch/nds32/cpu
parentb0c4fae44a549074e08d7f81779c7f3d9dcb1eb2 (diff)
downloadu-boot-imx-1a05bb3c2804980fa4fbcd2b7a05a2203308af55.zip
u-boot-imx-1a05bb3c2804980fa4fbcd2b7a05a2203308af55.tar.gz
u-boot-imx-1a05bb3c2804980fa4fbcd2b7a05a2203308af55.tar.bz2
nds32/n1213: correct vector table in start.S
Correct definition of vector table in start.S Signed-off-by: Macpaul Lin <macpaul@gmail.com>
Diffstat (limited to 'arch/nds32/cpu')
-rw-r--r--arch/nds32/cpu/n1213/start.S22
1 files changed, 19 insertions, 3 deletions
diff --git a/arch/nds32/cpu/n1213/start.S b/arch/nds32/cpu/n1213/start.S
index 1d1fcf7..889bf8b 100644
--- a/arch/nds32/cpu/n1213/start.S
+++ b/arch/nds32/cpu/n1213/start.S
@@ -68,15 +68,17 @@ _start: j reset
j tlb_not_present
j tlb_misc
j tlb_vlpt_miss
- j cache_parity_error
+ j machine_error
j debug
j general_exception
+ j syscall
j internal_interrupt ! H0I
j internal_interrupt ! H1I
j internal_interrupt ! H2I
j internal_interrupt ! H3I
j internal_interrupt ! H4I
j internal_interrupt ! H5I
+ j software_interrupt ! S0I
.balign 16
@@ -477,7 +479,7 @@ tlb_vlpt_miss:
bal do_interruption
.align 5
-cache_parity_error:
+machine_error:
SAVE_ALL
move $r0, $sp ! To get the kernel stack
li $r1, 5 ! Determine interruption type
@@ -498,13 +500,27 @@ general_exception:
bal do_interruption
.align 5
-internal_interrupt:
+syscall:
SAVE_ALL
move $r0, $sp ! To get the kernel stack
li $r1, 8 ! Determine interruption type
bal do_interruption
.align 5
+internal_interrupt:
+ SAVE_ALL
+ move $r0, $sp ! To get the kernel stack
+ li $r1, 9 ! Determine interruption type
+ bal do_interruption
+
+ .align 5
+software_interrupt:
+ SAVE_ALL
+ move $r0, $sp ! To get the kernel stack
+ li $r1, 10 ! Determine interruption type
+ bal do_interruption
+
+ .align 5
/*
* void reset_cpu(ulong addr);