diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-06-29 00:39:41 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-06-29 00:39:41 +0000 |
commit | 61b1c413b724087930dcfc9519d150cafc6ce2f6 (patch) | |
tree | 15e3cbb53bdef0c250088754e177c74a1b526bcb /c/src/lib/libcpu/sh | |
parent | 2010-06-28 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-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/ChangeLog | 9 | ||||
-rw-r--r-- | c/src/lib/libcpu/sh/sh7032/score/cpu_asm.c | 4 | ||||
-rw-r--r-- | c/src/lib/libcpu/sh/sh7045/score/cpu_asm.c | 4 | ||||
-rw-r--r-- | c/src/lib/libcpu/sh/sh7750/score/cpu_asm.c | 4 | ||||
-rw-r--r-- | c/src/lib/libcpu/sh/shgdb/score/cpu_asm.c | 4 |
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(); } } |