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 + + 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 * .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