From 61b1c413b724087930dcfc9519d150cafc6ce2f6 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 29 Jun 2010 00:39:41 +0000 Subject: 2010-06-28 Joel Sherrill 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. --- c/src/lib/libcpu/sh/ChangeLog | 9 +++++++++ c/src/lib/libcpu/sh/sh7032/score/cpu_asm.c | 4 +--- c/src/lib/libcpu/sh/sh7045/score/cpu_asm.c | 4 +--- c/src/lib/libcpu/sh/sh7750/score/cpu_asm.c | 4 +--- c/src/lib/libcpu/sh/shgdb/score/cpu_asm.c | 4 +--- 5 files changed, 13 insertions(+), 12 deletions(-) (limited to 'c/src/lib/libcpu') 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 + + 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 * 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(); } } -- cgit v1.2.3