summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-04-26 15:09:10 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-04-29 09:51:22 +0200
commit03b7789ec7d0ffd3621ea4c20d564d2a93e182a5 (patch)
tree660264446f43759a40ae5ab1d8d01eaaee7485b2 /c
parentbsps/mips: Delete unused files (diff)
downloadrtems-03b7789ec7d0ffd3621ea4c20d564d2a93e182a5.tar.bz2
score: Statically initialize _ISR_Vector_table
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/mips/shared/irq/exception.S1
-rw-r--r--c/src/lib/libbsp/sparc/shared/irq_asm.S2
-rw-r--r--c/src/lib/libcpu/sparc64/shared/score/interrupt.S1
3 files changed, 1 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/mips/shared/irq/exception.S b/c/src/lib/libbsp/mips/shared/irq/exception.S
index 55fdf2766b..8ac1035441 100644
--- a/c/src/lib/libbsp/mips/shared/irq/exception.S
+++ b/c/src/lib/libbsp/mips/shared/irq/exception.S
@@ -88,7 +88,6 @@
.extern _Thread_Dispatch
-.extern _ISR_Vector_table
/* void __ISR_Handler()
*
diff --git a/c/src/lib/libbsp/sparc/shared/irq_asm.S b/c/src/lib/libbsp/sparc/shared/irq_asm.S
index c0ba47919a..3a86ad50f2 100644
--- a/c/src/lib/libbsp/sparc/shared/irq_asm.S
+++ b/c/src/lib/libbsp/sparc/shared/irq_asm.S
@@ -423,7 +423,7 @@ dont_fix_pil2:
*/
sethi %hi(SYM(_ISR_Vector_table)), %g4
- ld [%g4+%lo(SYM(_ISR_Vector_table))], %g4
+ or %g4, %lo(SYM(_ISR_Vector_table)), %g4
and %l3, 0xFF, %g5 ! remove synchronous trap indicator
sll %g5, 2, %g5 ! g5 = offset into table
ld [%g4 + %g5], %g4 ! g4 = _ISR_Vector_table[ vector ]
diff --git a/c/src/lib/libcpu/sparc64/shared/score/interrupt.S b/c/src/lib/libcpu/sparc64/shared/score/interrupt.S
index 53b634afe2..0a015543fb 100644
--- a/c/src/lib/libcpu/sparc64/shared/score/interrupt.S
+++ b/c/src/lib/libcpu/sparc64/shared/score/interrupt.S
@@ -249,7 +249,6 @@ PUBLIC(_ISR_Handler)
* we just enabled traps. It is definitely in g2.
*/
setx SYM(_ISR_Vector_table), %o5, %g1
- ldx [%g1], %g1
and %g2, 0x1FF, %o5 ! remove synchronous trap indicator
sll %o5, 3, %o5 ! o5 = offset into table
ldx [%g1 + %o5], %g1 ! g1 = _ISR_Vector_table[ vector ]