diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-05-17 15:57:48 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-05-20 07:49:41 +0200 |
commit | d2bacb6c38c2bc0e47524b943200e16ad3c26bd8 (patch) | |
tree | 42df8963185fc3be111b39ba2160f31d8a17bf8a /cpukit/score/cpu | |
parent | testsuites: Avoid Giant lock (diff) | |
download | rtems-d2bacb6c38c2bc0e47524b943200e16ad3c26bd8.tar.bz2 |
score: _Thread_Dispatch_increment_disable_level()
Avoid _Thread_Dispatch_increment_disable_level() and
_Thread_Dispatch_decrement_disable_level() and thus the Giant
lock.
This is a preparation to remove the Giant lock.
Update #2555.
Diffstat (limited to 'cpukit/score/cpu')
-rw-r--r-- | cpukit/score/cpu/lm32/irq.c | 4 | ||||
-rw-r--r-- | cpukit/score/cpu/nios2/nios2-iic-irq.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/cpukit/score/cpu/lm32/irq.c b/cpukit/score/cpu/lm32/irq.c index 1c50b1133a..be84d747b6 100644 --- a/cpukit/score/cpu/lm32/irq.c +++ b/cpukit/score/cpu/lm32/irq.c @@ -42,7 +42,7 @@ void __ISR_Handler(uint32_t vector, CPU_Interrupt_frame *ifr) /* Interrupts are disabled upon entry to this Handler */ - _Thread_Dispatch_increment_disable_level(); + _Thread_Dispatch_disable(); #if( CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE) if ( _ISR_Nest_level == 0 ) { @@ -69,7 +69,7 @@ void __ISR_Handler(uint32_t vector, CPU_Interrupt_frame *ifr) stack_ptr = _old_stack_ptr; #endif - _Thread_Dispatch_decrement_disable_level(); + _Thread_Dispatch_unnest( _Per_CPU_Get() ); _CPU_ISR_Enable( level ); diff --git a/cpukit/score/cpu/nios2/nios2-iic-irq.c b/cpukit/score/cpu/nios2/nios2-iic-irq.c index 75d533d633..99f1618f02 100644 --- a/cpukit/score/cpu/nios2/nios2-iic-irq.c +++ b/cpukit/score/cpu/nios2/nios2-iic-irq.c @@ -108,14 +108,14 @@ void __ISR_Handler(void) _ISR_Nest_level++; - _Thread_Dispatch_increment_disable_level(); + _Thread_Dispatch_disable(); __IIC_Handler(); /* Make sure that interrupts are disabled again */ _CPU_ISR_Disable( level ); - _Thread_Dispatch_decrement_disable_level(); + _Thread_Dispatch_unnest( _Per_CPU_Get() ); _ISR_Nest_level--; |