summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2010-11-16 23:19:58 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2010-11-16 23:19:58 +0000
commit982b484912b8c823999d1b4aff2744dcd3a96c6f (patch)
tree4c93ca02775cfe12b1d46b9b009de45123bf2c49 /c
parent2010-11-16 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-982b484912b8c823999d1b4aff2744dcd3a96c6f.tar.bz2
2010-11-15 Gedare Bloom <giddyup44@yahoo.com>
PR 1691/bsps * usiii/start/bspinit.S: Create a dummy trap table that jumps to the firmware trap table for default trap handlers.
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/sparc64/usiii/ChangeLog6
-rw-r--r--c/src/lib/libbsp/sparc64/usiii/start/bspinit.S17
2 files changed, 17 insertions, 6 deletions
diff --git a/c/src/lib/libbsp/sparc64/usiii/ChangeLog b/c/src/lib/libbsp/sparc64/usiii/ChangeLog
index fe62015f86..6a19543034 100644
--- a/c/src/lib/libbsp/sparc64/usiii/ChangeLog
+++ b/c/src/lib/libbsp/sparc64/usiii/ChangeLog
@@ -1,3 +1,9 @@
+2010-11-15 Gedare Bloom <giddyup44@yahoo.com>
+
+ PR 1691/bsps
+ * usiii/start/bspinit.S: Create a dummy trap table that jumps
+ to the firmware trap table for default trap handlers.
+
2010-06-17 Joel Sherrill <joel.sherrill@oarcorp.com>
* .cvsignore, include/.cvsignore: New files.
diff --git a/c/src/lib/libbsp/sparc64/usiii/start/bspinit.S b/c/src/lib/libbsp/sparc64/usiii/start/bspinit.S
index 2646c8230b..b2f0aa7c21 100644
--- a/c/src/lib/libbsp/sparc64/usiii/start/bspinit.S
+++ b/c/src/lib/libbsp/sparc64/usiii/start/bspinit.S
@@ -35,12 +35,17 @@ PUBLIC(_BSP_init)
SYM(_BSP_init):
save %sp, -STACK_WINDOW_SAVE_AREA_SIZE, %sp
- /* copy firmware trap table so that RTEMS can install ISR handlers */
- setx SYM(trap_table), %l0, %o0
- rdpr %tba, %o1
- set TABLE_SIZE, %o2
- call memcpy
- nop
+ ! copy the tba
+ sethi %hi(real_trap_table), %o0
+ rdpr %tba, %o2
+ stx %o2, [%o0 + %lo(real_trap_table)]
+
+! /* copy firmware trap table so that RTEMS can install ISR handlers */
+! setx SYM(trap_table), %l0, %o0
+! rdpr %tba, %o1
+! set TABLE_SIZE, %o2
+! call memcpy
+! nop
mov %g0, %o0
call _take_mmu