diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-03-12 14:18:21 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-03-12 14:18:21 +0000 |
commit | d2c730f846fa3f1683426669c040384068dd2bd2 (patch) | |
tree | 973438fae80ddd0e6e867d4252137266e160a171 /c/src/lib/libbsp | |
parent | 2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com> (diff) | |
download | rtems-d2c730f846fa3f1683426669c040384068dd2bd2.tar.bz2 |
2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1385/cpukit
* startup/exception.S: When the type rtems_boolean was switched to the
C99 bool, the size changed from 4 bytes to 1 byte. The interrupt
dispatching code accesses two boolean variables for scheduling
purposes and the assembly implementations of this code did not get
updated.
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/mips/hurricane/ChangeLog | 9 | ||||
-rw-r--r-- | c/src/lib/libbsp/mips/hurricane/startup/exception.S | 11 | ||||
-rw-r--r-- | c/src/lib/libbsp/mips/rbtx4925/ChangeLog | 9 | ||||
-rw-r--r-- | c/src/lib/libbsp/mips/rbtx4925/startup/exception.S | 10 | ||||
-rw-r--r-- | c/src/lib/libbsp/mips/rbtx4938/ChangeLog | 9 | ||||
-rw-r--r-- | c/src/lib/libbsp/mips/rbtx4938/startup/exception.S | 10 |
6 files changed, 43 insertions, 15 deletions
diff --git a/c/src/lib/libbsp/mips/hurricane/ChangeLog b/c/src/lib/libbsp/mips/hurricane/ChangeLog index c20899ec15..c640cd3099 100644 --- a/c/src/lib/libbsp/mips/hurricane/ChangeLog +++ b/c/src/lib/libbsp/mips/hurricane/ChangeLog @@ -1,3 +1,12 @@ +2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com> + + PR 1385/cpukit + * startup/exception.S: When the type rtems_boolean was switched to the + C99 bool, the size changed from 4 bytes to 1 byte. The interrupt + dispatching code accesses two boolean variables for scheduling + purposes and the assembly implementations of this code did not get + updated. + 2008-12-04 Joel Sherrill <joel.sherrill@oarcorp.com> * bsp_specs: Move -e start from *link to *startfile to avoid warning diff --git a/c/src/lib/libbsp/mips/hurricane/startup/exception.S b/c/src/lib/libbsp/mips/hurricane/startup/exception.S index 2a3f4b187e..bb9e01d004 100644 --- a/c/src/lib/libbsp/mips/hurricane/startup/exception.S +++ b/c/src/lib/libbsp/mips/hurricane/startup/exception.S @@ -97,8 +97,8 @@ name:; \ EXTERN(_ISR_Nest_level, 4) EXTERN(_Thread_Dispatch_disable_level,4) -EXTERN(_Context_Switch_necessary,4) -EXTERN(_ISR_Signals_to_thread_executing,4) +EXTERN(_Context_Switch_necessary,1) +EXTERN(_ISR_Signals_to_thread_executing,1) .extern _Thread_Dispatch .extern _ISR_Vector_table @@ -281,10 +281,10 @@ _ISR_Handler_cleanup: * if ( !_Context_Switch_necessary && !_ISR_Signals_to_thread_executing ) * goto the label "exit interrupt (simple case)" */ - lw t0,_Context_Switch_necessary - lw t1,_ISR_Signals_to_thread_executing + lb t0,_Context_Switch_necessary + lb t1,_ISR_Signals_to_thread_executing NOP - or t0,t0,t1 + or t0,t0,t1 beq t0,zero,_ISR_Handler_exit NOP @@ -416,6 +416,7 @@ USC_isr: sll k0,(31-21) /* test bit 21 (HBI) */ bgez k0,USC_isr2 /* branch if not a heartbeat interrupt */ + NOP /* clear the heartbeat interrupt */ la k0,INT_STAT diff --git a/c/src/lib/libbsp/mips/rbtx4925/ChangeLog b/c/src/lib/libbsp/mips/rbtx4925/ChangeLog index 24c442c49a..dc580618e1 100644 --- a/c/src/lib/libbsp/mips/rbtx4925/ChangeLog +++ b/c/src/lib/libbsp/mips/rbtx4925/ChangeLog @@ -1,3 +1,12 @@ +2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com> + + PR 1385/cpukit + * startup/exception.S: When the type rtems_boolean was switched to the + C99 bool, the size changed from 4 bytes to 1 byte. The interrupt + dispatching code accesses two boolean variables for scheduling + purposes and the assembly implementations of this code did not get + updated. + 2008-12-04 Joel Sherrill <joel.sherrill@oarcorp.com> * bsp_specs: Move -e start from *link to *startfile to avoid warning diff --git a/c/src/lib/libbsp/mips/rbtx4925/startup/exception.S b/c/src/lib/libbsp/mips/rbtx4925/startup/exception.S index c1fb921a70..7efe6c5583 100644 --- a/c/src/lib/libbsp/mips/rbtx4925/startup/exception.S +++ b/c/src/lib/libbsp/mips/rbtx4925/startup/exception.S @@ -96,8 +96,8 @@ name:; \ EXTERN(_ISR_Nest_level, 4) EXTERN(_Thread_Dispatch_disable_level,4) -EXTERN(_Context_Switch_necessary,4) -EXTERN(_ISR_Signals_to_thread_executing,4) +EXTERN(_Context_Switch_necessary,1) +EXTERN(_ISR_Signals_to_thread_executing,1) .extern _Thread_Dispatch .extern _ISR_Vector_table @@ -321,10 +321,10 @@ _ISR_Handler_cleanup: * if ( !_Context_Switch_necessary && !_ISR_Signals_to_thread_executing ) * goto the label "exit interrupt (simple case)" */ - lw t0,_Context_Switch_necessary - lw t1,_ISR_Signals_to_thread_executing + lb t0,_Context_Switch_necessary + lb t1,_ISR_Signals_to_thread_executing NOP - or t0,t0,t1 + or t0,t0,t1 beq t0,zero,_ISR_Handler_exit NOP diff --git a/c/src/lib/libbsp/mips/rbtx4938/ChangeLog b/c/src/lib/libbsp/mips/rbtx4938/ChangeLog index f98ce7b285..72759c0cea 100644 --- a/c/src/lib/libbsp/mips/rbtx4938/ChangeLog +++ b/c/src/lib/libbsp/mips/rbtx4938/ChangeLog @@ -1,3 +1,12 @@ +2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com> + + PR 1385/cpukit + * startup/exception.S: When the type rtems_boolean was switched to the + C99 bool, the size changed from 4 bytes to 1 byte. The interrupt + dispatching code accesses two boolean variables for scheduling + purposes and the assembly implementations of this code did not get + updated. + 2008-12-04 Joel Sherrill <joel.sherrill@oarcorp.com> * bsp_specs: Move -e start from *link to *startfile to avoid warning diff --git a/c/src/lib/libbsp/mips/rbtx4938/startup/exception.S b/c/src/lib/libbsp/mips/rbtx4938/startup/exception.S index d09d66e222..89b1061668 100644 --- a/c/src/lib/libbsp/mips/rbtx4938/startup/exception.S +++ b/c/src/lib/libbsp/mips/rbtx4938/startup/exception.S @@ -96,8 +96,8 @@ name:; \ EXTERN(_ISR_Nest_level, 4) EXTERN(_Thread_Dispatch_disable_level,4) -EXTERN(_Context_Switch_necessary,4) -EXTERN(_ISR_Signals_to_thread_executing,4) +EXTERN(_Context_Switch_necessary,1) +EXTERN(_ISR_Signals_to_thread_executing,1) .extern _Thread_Dispatch .extern _ISR_Vector_table @@ -321,10 +321,10 @@ _ISR_Handler_cleanup: * if ( !_Context_Switch_necessary && !_ISR_Signals_to_thread_executing ) * goto the label "exit interrupt (simple case)" */ - lw t0,_Context_Switch_necessary - lw t1,_ISR_Signals_to_thread_executing + lb t0,_Context_Switch_necessary + lb t1,_ISR_Signals_to_thread_executing NOP - or t0,t0,t1 + or t0,t0,t1 beq t0,zero,_ISR_Handler_exit NOP |