summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/smp.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-02-18 13:36:35 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-02-19 09:59:42 +0100
commit8a65a960071c6b67731c7330603acc0f5cc150a5 (patch)
treea2609c619aa58a1d2268466e932f11150bd918f7 /cpukit/score/src/smp.c
parentscore: Wait for per-CPU state changes later (diff)
downloadrtems-8a65a960071c6b67731c7330603acc0f5cc150a5.tar.bz2
score: _SMP_Inter_processor_interrupt_handler()
Inline _SMP_Inter_processor_interrupt_handler() to avoid function call overhead. Remove debug output.
Diffstat (limited to 'cpukit/score/src/smp.c')
-rw-r--r--cpukit/score/src/smp.c41
1 files changed, 0 insertions, 41 deletions
diff --git a/cpukit/score/src/smp.c b/cpukit/score/src/smp.c
index 1353d14543..59036eb466 100644
--- a/cpukit/score/src/smp.c
+++ b/cpukit/score/src/smp.c
@@ -23,7 +23,6 @@
#include <rtems/score/threaddispatch.h>
#include <rtems/score/threadimpl.h>
#include <rtems/config.h>
-#include <rtems/fatal.h>
#if defined(RTEMS_DEBUG)
#include <rtems/bspIo.h>
@@ -63,46 +62,6 @@ void _SMP_Start_multitasking_on_secondary_processor( void )
_Thread_Start_multitasking();
}
-void _SMP_Inter_processor_interrupt_handler( void )
-{
- Per_CPU_Control *self_cpu = _Per_CPU_Get();
-
-
- if ( self_cpu->message != 0 ) {
- uint32_t message;
- ISR_Level level;
-
- _Per_CPU_ISR_disable_and_acquire( self_cpu, level );
- message = self_cpu->message;
- self_cpu->message = 0;
- _Per_CPU_Release_and_ISR_enable( self_cpu, level );
-
- #if defined(RTEMS_DEBUG)
- {
- void *sp = __builtin_frame_address(0);
- if ( !(message & SMP_MESSAGE_SHUTDOWN) ) {
- printk(
- "ISR on CPU %d -- (0x%02x) (0x%p)\n",
- _Per_CPU_Get_index( self_cpu ),
- message,
- sp
- );
- if ( message & SMP_MESSAGE_SHUTDOWN )
- printk( "shutdown\n" );
- }
- printk( "Dispatch level %d\n", _Thread_Dispatch_get_disable_level() );
- }
- #endif
-
- if ( ( message & SMP_MESSAGE_SHUTDOWN ) != 0 ) {
- _Per_CPU_Change_state( self_cpu, PER_CPU_STATE_SHUTDOWN );
-
- rtems_fatal( RTEMS_FATAL_SOURCE_SMP, SMP_FATAL_SHUTDOWN );
- /* does not continue past here */
- }
- }
-}
-
void _SMP_Send_message( uint32_t cpu, uint32_t message )
{
Per_CPU_Control *per_cpu = _Per_CPU_Get_by_index( cpu );