summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--c/src/exec/sapi/headers/sptables.h2
-rw-r--r--c/src/exec/sapi/include/rtems/sptables.h2
-rw-r--r--c/src/exec/score/headers/watchdog.h4
-rw-r--r--c/src/exec/score/include/rtems/score/watchdog.h4
-rw-r--r--c/src/exec/score/src/thread.c19
-rw-r--r--c/src/lib/libbsp/i960/cvme961/clock/ckinit.c2
-rw-r--r--c/src/lib/libbsp/i960/cvme961/include/bsp.h2
-rw-r--r--cpukit/score/include/rtems/score/watchdog.h4
-rw-r--r--cpukit/score/src/thread.c19
9 files changed, 30 insertions, 28 deletions
diff --git a/c/src/exec/sapi/headers/sptables.h b/c/src/exec/sapi/headers/sptables.h
index 7983c3a67f..db7fc487d3 100644
--- a/c/src/exec/sapi/headers/sptables.h
+++ b/c/src/exec/sapi/headers/sptables.h
@@ -42,7 +42,7 @@ const rtems_multiprocessing_table
*/
const char _RTEMS_version[] =
- "RTEMS RELEASE V3.1.16 (" CPU_NAME "/" RTEMS_MODEL_NAME ")";
+ "RTEMS RELEASE V3.2.0 (" CPU_NAME "/" RTEMS_MODEL_NAME ")";
/*
diff --git a/c/src/exec/sapi/include/rtems/sptables.h b/c/src/exec/sapi/include/rtems/sptables.h
index 7983c3a67f..db7fc487d3 100644
--- a/c/src/exec/sapi/include/rtems/sptables.h
+++ b/c/src/exec/sapi/include/rtems/sptables.h
@@ -42,7 +42,7 @@ const rtems_multiprocessing_table
*/
const char _RTEMS_version[] =
- "RTEMS RELEASE V3.1.16 (" CPU_NAME "/" RTEMS_MODEL_NAME ")";
+ "RTEMS RELEASE V3.2.0 (" CPU_NAME "/" RTEMS_MODEL_NAME ")";
/*
diff --git a/c/src/exec/score/headers/watchdog.h b/c/src/exec/score/headers/watchdog.h
index c7665bfea2..70de7018dd 100644
--- a/c/src/exec/score/headers/watchdog.h
+++ b/c/src/exec/score/headers/watchdog.h
@@ -104,8 +104,8 @@ typedef struct {
* during an insert on a watchdog delta chain.
*/
-volatile unsigned32 _Watchdog_Sync_level;
-volatile unsigned32 _Watchdog_Sync_count;
+EXTERN volatile unsigned32 _Watchdog_Sync_level;
+EXTERN volatile unsigned32 _Watchdog_Sync_count;
/*
* The following defines the watchdog chains which are managed
diff --git a/c/src/exec/score/include/rtems/score/watchdog.h b/c/src/exec/score/include/rtems/score/watchdog.h
index c7665bfea2..70de7018dd 100644
--- a/c/src/exec/score/include/rtems/score/watchdog.h
+++ b/c/src/exec/score/include/rtems/score/watchdog.h
@@ -104,8 +104,8 @@ typedef struct {
* during an insert on a watchdog delta chain.
*/
-volatile unsigned32 _Watchdog_Sync_level;
-volatile unsigned32 _Watchdog_Sync_count;
+EXTERN volatile unsigned32 _Watchdog_Sync_level;
+EXTERN volatile unsigned32 _Watchdog_Sync_count;
/*
* The following defines the watchdog chains which are managed
diff --git a/c/src/exec/score/src/thread.c b/c/src/exec/score/src/thread.c
index 2d9fc33e6b..a181780e52 100644
--- a/c/src/exec/score/src/thread.c
+++ b/c/src/exec/score/src/thread.c
@@ -588,19 +588,20 @@ void _Thread_Handler( void )
executing = _Thread_Executing;
- _Thread_Dispatch_disable_level = 0;
-
/*
- * Do the 'begin' here instead of after the context switch.
- * This ensures 'switch' extensions can not be called before
- * 'begin' extensions.
+ * Take care that 'begin' extensions get to complete before
+ * 'switch' extensions can run. This means must keep dispatch
+ * disabled until all 'begin' extensions complete.
*/
-
+
_User_extensions_Task_begin( executing );
+
+ /*
+ * At this point, the dispatch disable level BETTER be 1.
+ */
- if ( _Thread_Is_context_switch_necessary() )
- _Thread_Dispatch();
-
+ _Thread_Enable_dispatch();
+
(*executing->Start.entry_point)( executing->Start.initial_argument );
_User_extensions_Task_exitted( executing );
diff --git a/c/src/lib/libbsp/i960/cvme961/clock/ckinit.c b/c/src/lib/libbsp/i960/cvme961/clock/ckinit.c
index 315e02cdbb..623101075d 100644
--- a/c/src/lib/libbsp/i960/cvme961/clock/ckinit.c
+++ b/c/src/lib/libbsp/i960/cvme961/clock/ckinit.c
@@ -25,7 +25,7 @@
#include <clockdrv.h>
rtems_unsigned32 Clock_isrs; /* ISRs until next tick */
-i960_isr Old_ticker;
+i960_isr_entry Old_ticker;
volatile rtems_unsigned32 Clock_driver_ticks;
/* ticks since initialization */
diff --git a/c/src/lib/libbsp/i960/cvme961/include/bsp.h b/c/src/lib/libbsp/i960/cvme961/include/bsp.h
index 4dd907449f..ca870b3cd3 100644
--- a/c/src/lib/libbsp/i960/cvme961/include/bsp.h
+++ b/c/src/lib/libbsp/i960/cvme961/include/bsp.h
@@ -119,7 +119,7 @@ BSP_EXTERN i960ca_control_table *Ctl_tbl;
void bsp_cleanup( void );
-i960_isr set_vector( rtems_isr_entry, unsigned int, unsigned int );
+i960_isr_entry set_vector( rtems_isr_entry, unsigned int, unsigned int );
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/watchdog.h b/cpukit/score/include/rtems/score/watchdog.h
index c7665bfea2..70de7018dd 100644
--- a/cpukit/score/include/rtems/score/watchdog.h
+++ b/cpukit/score/include/rtems/score/watchdog.h
@@ -104,8 +104,8 @@ typedef struct {
* during an insert on a watchdog delta chain.
*/
-volatile unsigned32 _Watchdog_Sync_level;
-volatile unsigned32 _Watchdog_Sync_count;
+EXTERN volatile unsigned32 _Watchdog_Sync_level;
+EXTERN volatile unsigned32 _Watchdog_Sync_count;
/*
* The following defines the watchdog chains which are managed
diff --git a/cpukit/score/src/thread.c b/cpukit/score/src/thread.c
index 2d9fc33e6b..a181780e52 100644
--- a/cpukit/score/src/thread.c
+++ b/cpukit/score/src/thread.c
@@ -588,19 +588,20 @@ void _Thread_Handler( void )
executing = _Thread_Executing;
- _Thread_Dispatch_disable_level = 0;
-
/*
- * Do the 'begin' here instead of after the context switch.
- * This ensures 'switch' extensions can not be called before
- * 'begin' extensions.
+ * Take care that 'begin' extensions get to complete before
+ * 'switch' extensions can run. This means must keep dispatch
+ * disabled until all 'begin' extensions complete.
*/
-
+
_User_extensions_Task_begin( executing );
+
+ /*
+ * At this point, the dispatch disable level BETTER be 1.
+ */
- if ( _Thread_Is_context_switch_necessary() )
- _Thread_Dispatch();
-
+ _Thread_Enable_dispatch();
+
(*executing->Start.entry_point)( executing->Start.initial_argument );
_User_extensions_Task_exitted( executing );