summaryrefslogtreecommitdiffstats
path: root/schedsim/shell/schedsim_smpsimple
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@oarcorp.com>2014-05-26 13:26:41 -0500
committerJoel Sherrill <joel.sherrill@oarcorp.com>2014-05-26 13:26:41 -0500
commite5e757bac9112ef453d18c3e7326f39ffde36a51 (patch)
tree1d29ed59237bdffa9ec3e5a4db984374a8c56488 /schedsim/shell/schedsim_smpsimple
parentUnify printing of heir and executing (diff)
downloadrtems-schedsim-e5e757bac9112ef453d18c3e7326f39ffde36a51.tar.bz2
_Thread_Dispatch wrapper is now shared between uniprocessor and SMP configurations
Diffstat (limited to 'schedsim/shell/schedsim_smpsimple')
-rw-r--r--schedsim/shell/schedsim_smpsimple/Makefile.am1
-rw-r--r--schedsim/shell/schedsim_smpsimple/wrap_thread_dispatch.c69
2 files changed, 0 insertions, 70 deletions
diff --git a/schedsim/shell/schedsim_smpsimple/Makefile.am b/schedsim/shell/schedsim_smpsimple/Makefile.am
index e57037a..bd73a32 100644
--- a/schedsim/shell/schedsim_smpsimple/Makefile.am
+++ b/schedsim/shell/schedsim_smpsimple/Makefile.am
@@ -3,7 +3,6 @@ schedsim_smpsimple_SOURCES =
schedsim_smpsimple_SOURCES += add_commands.c
schedsim_smpsimple_SOURCES += config.c
schedsim_smpsimple_SOURCES += main_dump_ready_tasks.c
-schedsim_smpsimple_SOURCES += wrap_thread_dispatch.c
cpukitdir=@rtems_srcdir@/cpukit
schedsim_smpsimple_CPPFLAGS = -I$(top_builddir)/score/include
diff --git a/schedsim/shell/schedsim_smpsimple/wrap_thread_dispatch.c b/schedsim/shell/schedsim_smpsimple/wrap_thread_dispatch.c
deleted file mode 100644
index 4661dc6..0000000
--- a/schedsim/shell/schedsim_smpsimple/wrap_thread_dispatch.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Thread Dispatch Wrapper Implmentation
- *
- * COPYRIGHT (c) 1989-2013.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.com/license/LICENSE.
- */
-
-#include "shell.h"
-#include <schedsim_shell.h>
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <rtems.h>
-
-typedef Thread_Control * Thread_Control_ptr;
-extern uint32_t Schedsim_Current_cpu;
-
-Thread_Control_ptr *last_heir = NULL;
-Thread_Control_ptr *last_executing = NULL;
-
-extern void __real__Thread_Dispatch(void);
-
-void Init__wrap__Thread_Dispatch()
-{
- last_heir = (Thread_Control_ptr *) calloc(
- sizeof( Thread_Control_ptr ),
- _SMP_Processor_count
- );
- last_executing = (Thread_Control_ptr *) calloc(
- sizeof( Thread_Control_ptr ),
- _SMP_Processor_count
- );
-}
-
-void check_heir_and_executing(void)
-{
- uint32_t level;
-
- _ISR_Disable_without_giant( level );
- if ( last_heir[Schedsim_Current_cpu] != _Thread_Heir )
- PRINT_HEIR();
-
- if ( last_executing[Schedsim_Current_cpu] != _Thread_Executing )
- PRINT_EXECUTING();
-
- last_heir[Schedsim_Current_cpu] = _Thread_Heir;
- last_executing[Schedsim_Current_cpu] = _Thread_Executing;
- _ISR_Enable_without_giant( level );
-}
-
-void __wrap__Thread_Dispatch(void)
-{
- uint32_t cpu;
- uint32_t current_cpu;
-
- current_cpu = Schedsim_Current_cpu;
- for ( cpu=0 ; cpu < _SMP_Processor_count ; cpu++ ) {
- Schedsim_Current_cpu = cpu;
- check_heir_and_executing();
- __real__Thread_Dispatch();
- check_heir_and_executing();
- }
-
- Schedsim_Current_cpu = current_cpu;
-}