diff options
-rw-r--r-- | cpukit/score/cpu/or1k/or1k-exception-handler-low.S | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/cpukit/score/cpu/or1k/or1k-exception-handler-low.S b/cpukit/score/cpu/or1k/or1k-exception-handler-low.S index 3a0425b6d5..96d0c8e740 100644 --- a/cpukit/score/cpu/or1k/or1k-exception-handler-low.S +++ b/cpukit/score/cpu/or1k/or1k-exception-handler-low.S @@ -149,6 +149,16 @@ jump_to_c_handler: l.sw 0(r6), r5 l.sw 0(r8), r7 + /* Check if _ISR_Nest_level > 0 */ + l.sfgtui r5, 0 + l.bf exception_frame_restore + l.nop + + /* Check if _Thread_Dispatch_disable_level > 0 */ + l.sfgtui r7, 0 + l.bf exception_frame_restore + l.nop + /* Check if dispatch needed */ l.movhi r31, hi(DISPATCH_NEEDED) l.ori r31, r31, lo(DISPATCH_NEEDED) |