diff options
Diffstat (limited to 'c')
-rw-r--r-- | c/src/exec/sapi/headers/sptables.h | 2 | ||||
-rw-r--r-- | c/src/exec/sapi/include/rtems/sptables.h | 2 | ||||
-rw-r--r-- | c/src/exec/score/headers/watchdog.h | 4 | ||||
-rw-r--r-- | c/src/exec/score/include/rtems/score/watchdog.h | 4 | ||||
-rw-r--r-- | c/src/exec/score/src/thread.c | 19 | ||||
-rw-r--r-- | c/src/lib/libbsp/i960/cvme961/clock/ckinit.c | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/i960/cvme961/include/bsp.h | 2 |
7 files changed, 18 insertions, 17 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 } |