forked from Imagelibrary/rtems
score: Statically initialize _ISR_Vector_table
This commit is contained in:
@@ -88,7 +88,6 @@
|
||||
|
||||
|
||||
.extern _Thread_Dispatch
|
||||
.extern _ISR_Vector_table
|
||||
|
||||
/* void __ISR_Handler()
|
||||
*
|
||||
|
||||
@@ -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 ]
|
||||
|
||||
@@ -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 ]
|
||||
|
||||
Reference in New Issue
Block a user