summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/sh
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2010-06-29 00:39:41 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2010-06-29 00:39:41 +0000
commit61b1c413b724087930dcfc9519d150cafc6ce2f6 (patch)
tree15e3cbb53bdef0c250088754e177c74a1b526bcb /c/src/lib/libcpu/sh
parent2010-06-28 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-61b1c413b724087930dcfc9519d150cafc6ce2f6.tar.bz2
2010-06-28 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1573/cpukit * sh7032/score/cpu_asm.c, sh7045/score/cpu_asm.c, sh7750/score/cpu_asm.c, shgdb/score/cpu_asm.c: Add a per cpu data structure which contains the information required by RTEMS for each CPU core. This encapsulates information such as thread executing, heir, idle and dispatch needed.
Diffstat (limited to 'c/src/lib/libcpu/sh')
-rw-r--r--c/src/lib/libcpu/sh/ChangeLog9
-rw-r--r--c/src/lib/libcpu/sh/sh7032/score/cpu_asm.c4
-rw-r--r--c/src/lib/libcpu/sh/sh7045/score/cpu_asm.c4
-rw-r--r--c/src/lib/libcpu/sh/sh7750/score/cpu_asm.c4
-rw-r--r--c/src/lib/libcpu/sh/shgdb/score/cpu_asm.c4
5 files changed, 13 insertions, 12 deletions
diff --git a/c/src/lib/libcpu/sh/ChangeLog b/c/src/lib/libcpu/sh/ChangeLog
index 8223788a98..33011caa9a 100644
--- a/c/src/lib/libcpu/sh/ChangeLog
+++ b/c/src/lib/libcpu/sh/ChangeLog
@@ -1,3 +1,12 @@
+2010-06-28 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ PR 1573/cpukit
+ * sh7032/score/cpu_asm.c, sh7045/score/cpu_asm.c,
+ sh7750/score/cpu_asm.c, shgdb/score/cpu_asm.c: Add a per cpu data
+ structure which contains the information required by RTEMS for each
+ CPU core. This encapsulates information such as thread executing,
+ heir, idle and dispatch needed.
+
2010-05-21 Joel Sherrill <joel.sherrill@oarcorp.com>
* sh7032/score/cpu_asm.c, sh7045/score/cpu_asm.c,
diff --git a/c/src/lib/libcpu/sh/sh7032/score/cpu_asm.c b/c/src/lib/libcpu/sh/sh7032/score/cpu_asm.c
index 34605a1fc7..db731c8b68 100644
--- a/c/src/lib/libcpu/sh/sh7032/score/cpu_asm.c
+++ b/c/src/lib/libcpu/sh/sh7032/score/cpu_asm.c
@@ -173,12 +173,10 @@ void __ISR_Handler( uint32_t vector)
return;
if ( _Thread_Dispatch_disable_level ) {
- _ISR_Signals_to_thread_executing = FALSE;
return;
}
- if ( _Context_Switch_necessary || _ISR_Signals_to_thread_executing ) {
- _ISR_Signals_to_thread_executing = FALSE;
+ if ( _Context_Switch_necessary ) {
_Thread_Dispatch();
}
}
diff --git a/c/src/lib/libcpu/sh/sh7045/score/cpu_asm.c b/c/src/lib/libcpu/sh/sh7045/score/cpu_asm.c
index 9cd38dd723..be8f5c0a4c 100644
--- a/c/src/lib/libcpu/sh/sh7045/score/cpu_asm.c
+++ b/c/src/lib/libcpu/sh/sh7045/score/cpu_asm.c
@@ -175,12 +175,10 @@ void __ISR_Handler( uint32_t vector)
return;
if ( _Thread_Dispatch_disable_level ) {
- _ISR_Signals_to_thread_executing = FALSE;
return;
}
- if ( _Context_Switch_necessary || _ISR_Signals_to_thread_executing ) {
- _ISR_Signals_to_thread_executing = FALSE;
+ if ( _Context_Switch_necessary ) {
_Thread_Dispatch();
}
}
diff --git a/c/src/lib/libcpu/sh/sh7750/score/cpu_asm.c b/c/src/lib/libcpu/sh/sh7750/score/cpu_asm.c
index 7c4e7562af..ba3c909284 100644
--- a/c/src/lib/libcpu/sh/sh7750/score/cpu_asm.c
+++ b/c/src/lib/libcpu/sh/sh7750/score/cpu_asm.c
@@ -98,12 +98,10 @@ void __ISR_Handler( uint32_t vector)
return;
if ( _Thread_Dispatch_disable_level ) {
- _ISR_Signals_to_thread_executing = FALSE;
return;
}
- if ( _Context_Switch_necessary || _ISR_Signals_to_thread_executing ) {
- _ISR_Signals_to_thread_executing = FALSE;
+ if ( _Context_Switch_necessary ) {
_Thread_Dispatch();
}
}
diff --git a/c/src/lib/libcpu/sh/shgdb/score/cpu_asm.c b/c/src/lib/libcpu/sh/shgdb/score/cpu_asm.c
index 5a66d18e69..771d493ea0 100644
--- a/c/src/lib/libcpu/sh/shgdb/score/cpu_asm.c
+++ b/c/src/lib/libcpu/sh/shgdb/score/cpu_asm.c
@@ -72,12 +72,10 @@ void __ISR_Handler( uint32_t vector)
return;
if ( _Thread_Dispatch_disable_level ) {
- _ISR_Signals_to_thread_executing = FALSE;
return;
}
- if ( _Context_Switch_necessary || _ISR_Signals_to_thread_executing ) {
- _ISR_Signals_to_thread_executing = FALSE;
+ if ( _Context_Switch_necessary ) {
_Thread_Dispatch();
}
}