Changeset 8d0b7d96 in rtems
- Timestamp:
- 12/01/95 22:03:55 (28 years ago)
- Branches:
- 4.10, 4.11, 4.8, 4.9, 5, master
- Children:
- 11ab74e
- Parents:
- caaa47c
- Files:
-
- 27 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/exec/posix/src/psignal.c
rcaaa47c r8d0b7d96 253 253 NULL 254 254 ); 255 _Watchdog_Insert_seconds( 256 &_Thread_Executing->Timer, 257 seconds, 258 WATCHDOG_ACTIVATE_NOW 259 ); 255 _Watchdog_Insert_seconds( &_Thread_Executing->Timer, seconds ); 260 256 _Thread_Enable_dispatch(); 261 257 return 0; /* XXX should account for signal */ -
c/src/exec/rtems/src/event.c
rcaaa47c r8d0b7d96 187 187 NULL 188 188 ); 189 _Watchdog_Insert_ticks( 190 &executing->Timer, 191 ticks, 192 WATCHDOG_ACTIVATE_NOW 193 ); 189 _Watchdog_Insert_ticks( &executing->Timer, ticks ); 194 190 } 195 191 -
c/src/exec/rtems/src/ratemon.c
rcaaa47c r8d0b7d96 278 278 NULL 279 279 ); 280 _Watchdog_Insert_ticks( 281 &the_period->Timer, length, WATCHDOG_ACTIVATE_NOW ); 280 _Watchdog_Insert_ticks( &the_period->Timer, length ); 282 281 _Thread_Enable_dispatch(); 283 282 return RTEMS_SUCCESSFUL; … … 293 292 case RATE_MONOTONIC_EXPIRED: 294 293 the_period->state = RATE_MONOTONIC_ACTIVE; 295 _Watchdog_Insert_ticks( 296 &the_period->Timer, length, WATCHDOG_ACTIVATE_NOW ); 294 _Watchdog_Insert_ticks( &the_period->Timer, length ); 297 295 _Thread_Enable_dispatch(); 298 296 return RTEMS_TIMEOUT; -
c/src/exec/rtems/src/rtemstimer.c
rcaaa47c r8d0b7d96 243 243 the_timer->the_class = TIMER_INTERVAL; 244 244 _Watchdog_Initialize( &the_timer->Ticker, routine, id, user_data ); 245 _Watchdog_Insert_ticks( &the_timer->Ticker, 246 ticks, WATCHDOG_ACTIVATE_NOW ); 245 _Watchdog_Insert_ticks( &the_timer->Ticker, ticks ); 247 246 _Thread_Enable_dispatch(); 248 247 return RTEMS_SUCCESSFUL; … … 299 298 the_timer->the_class = TIMER_TIME_OF_DAY; 300 299 _Watchdog_Initialize( &the_timer->Ticker, routine, id, user_data ); 301 _Watchdog_Insert_seconds( &the_timer->Ticker, 302 seconds - _TOD_Seconds_since_epoch, WATCHDOG_ACTIVATE_NOW ); 300 _Watchdog_Insert_seconds( 301 &the_timer->Ticker, 302 seconds - _TOD_Seconds_since_epoch 303 ); 303 304 _Thread_Enable_dispatch(); 304 305 return RTEMS_SUCCESSFUL; -
c/src/exec/rtems/src/tasks.c
rcaaa47c r8d0b7d96 988 988 NULL 989 989 ); 990 _Watchdog_Insert_ticks( &_Thread_Executing->Timer, 991 ticks, WATCHDOG_ACTIVATE_NOW ); 990 _Watchdog_Insert_ticks( &_Thread_Executing->Timer, ticks ); 992 991 _Thread_Enable_dispatch(); 993 992 } … … 1037 1036 NULL 1038 1037 ); 1039 _Watchdog_Insert_seconds( &_Thread_Executing->Timer, 1040 seconds - _TOD_Seconds_since_epoch, WATCHDOG_ACTIVATE_NOW ); 1038 _Watchdog_Insert_seconds( 1039 &_Thread_Executing->Timer, 1040 seconds - _TOD_Seconds_since_epoch 1041 ); 1041 1042 _Thread_Enable_dispatch(); 1042 1043 return RTEMS_SUCCESSFUL; -
c/src/exec/rtems/src/timer.c
rcaaa47c r8d0b7d96 243 243 the_timer->the_class = TIMER_INTERVAL; 244 244 _Watchdog_Initialize( &the_timer->Ticker, routine, id, user_data ); 245 _Watchdog_Insert_ticks( &the_timer->Ticker, 246 ticks, WATCHDOG_ACTIVATE_NOW ); 245 _Watchdog_Insert_ticks( &the_timer->Ticker, ticks ); 247 246 _Thread_Enable_dispatch(); 248 247 return RTEMS_SUCCESSFUL; … … 299 298 the_timer->the_class = TIMER_TIME_OF_DAY; 300 299 _Watchdog_Initialize( &the_timer->Ticker, routine, id, user_data ); 301 _Watchdog_Insert_seconds( &the_timer->Ticker, 302 seconds - _TOD_Seconds_since_epoch, WATCHDOG_ACTIVATE_NOW ); 300 _Watchdog_Insert_seconds( 301 &the_timer->Ticker, 302 seconds - _TOD_Seconds_since_epoch 303 ); 303 304 _Thread_Enable_dispatch(); 304 305 return RTEMS_SUCCESSFUL; -
c/src/exec/score/headers/watchdog.h
rcaaa47c r8d0b7d96 48 48 49 49 #define WATCHDOG_NO_TIMEOUT 0 50 51 /*52 * The following enumerated type details the modes in which the53 * Watchdog_Insert routine may operate. The watchdog may be54 * activated automatically at insert time or later, explicitly55 * by the caller.56 */57 58 typedef enum {59 WATCHDOG_ACTIVATE_NOW, /* activate watchdog as part of insertion */60 WATCHDOG_NO_ACTIVATE /* watchdog will be explicitly activated */61 } Watchdog_Insert_modes;62 50 63 51 /* … … 239 227 STATIC INLINE void _Watchdog_Insert_ticks( 240 228 Watchdog_Control *the_watchdog, 241 Watchdog_Interval units, 242 Watchdog_Insert_modes insert_mode 229 Watchdog_Interval units 243 230 ); 244 231 … … 257 244 STATIC INLINE void _Watchdog_Insert_seconds( 258 245 Watchdog_Control *the_watchdog, 259 Watchdog_Interval units, 260 Watchdog_Insert_modes insert_mode 246 Watchdog_Interval units 261 247 ); 262 248 … … 392 378 void _Watchdog_Insert ( 393 379 Chain_Control *header, 394 Watchdog_Control *the_watchdog, 395 Watchdog_Insert_modes insert_mode 380 Watchdog_Control *the_watchdog 396 381 ); 397 382 -
c/src/exec/score/include/rtems/score/watchdog.h
rcaaa47c r8d0b7d96 48 48 49 49 #define WATCHDOG_NO_TIMEOUT 0 50 51 /*52 * The following enumerated type details the modes in which the53 * Watchdog_Insert routine may operate. The watchdog may be54 * activated automatically at insert time or later, explicitly55 * by the caller.56 */57 58 typedef enum {59 WATCHDOG_ACTIVATE_NOW, /* activate watchdog as part of insertion */60 WATCHDOG_NO_ACTIVATE /* watchdog will be explicitly activated */61 } Watchdog_Insert_modes;62 50 63 51 /* … … 239 227 STATIC INLINE void _Watchdog_Insert_ticks( 240 228 Watchdog_Control *the_watchdog, 241 Watchdog_Interval units, 242 Watchdog_Insert_modes insert_mode 229 Watchdog_Interval units 243 230 ); 244 231 … … 257 244 STATIC INLINE void _Watchdog_Insert_seconds( 258 245 Watchdog_Control *the_watchdog, 259 Watchdog_Interval units, 260 Watchdog_Insert_modes insert_mode 246 Watchdog_Interval units 261 247 ); 262 248 … … 392 378 void _Watchdog_Insert ( 393 379 Chain_Control *header, 394 Watchdog_Control *the_watchdog, 395 Watchdog_Insert_modes insert_mode 380 Watchdog_Control *the_watchdog 396 381 ); 397 382 -
c/src/exec/score/inline/rtems/score/tod.inl
rcaaa47c r8d0b7d96 62 62 ) 63 63 { 64 _Watchdog_Insert_ticks( 65 &_TOD_Seconds_watchdog, 66 ticks, 67 WATCHDOG_ACTIVATE_NOW 68 ); 64 _Watchdog_Insert_ticks( &_TOD_Seconds_watchdog, ticks ); 69 65 } 70 66 -
c/src/exec/score/inline/rtems/score/watchdog.inl
rcaaa47c r8d0b7d96 116 116 STATIC INLINE void _Watchdog_Insert_ticks( 117 117 Watchdog_Control *the_watchdog, 118 Watchdog_Interval units, 119 Watchdog_Insert_modes insert_mode 118 Watchdog_Interval units 120 119 ) 121 120 { … … 123 122 the_watchdog->initial = units; 124 123 125 _Watchdog_Insert( &_Watchdog_Ticks_chain, the_watchdog , insert_mode);124 _Watchdog_Insert( &_Watchdog_Ticks_chain, the_watchdog ); 126 125 127 126 } … … 135 134 STATIC INLINE void _Watchdog_Insert_seconds( 136 135 Watchdog_Control *the_watchdog, 137 Watchdog_Interval units, 138 Watchdog_Insert_modes insert_mode 136 Watchdog_Interval units 139 137 ) 140 138 { … … 142 140 the_watchdog->initial = units; 143 141 144 _Watchdog_Insert( &_Watchdog_Seconds_chain, the_watchdog , insert_mode);142 _Watchdog_Insert( &_Watchdog_Seconds_chain, the_watchdog ); 145 143 146 144 } … … 191 189 (void) _Watchdog_Remove( the_watchdog ); 192 190 193 _Watchdog_Insert( 194 &_Watchdog_Ticks_chain, 195 the_watchdog, 196 WATCHDOG_ACTIVATE_NOW 197 ); 191 _Watchdog_Insert( &_Watchdog_Ticks_chain, the_watchdog ); 198 192 199 193 } -
c/src/exec/score/inline/tod.inl
rcaaa47c r8d0b7d96 62 62 ) 63 63 { 64 _Watchdog_Insert_ticks( 65 &_TOD_Seconds_watchdog, 66 ticks, 67 WATCHDOG_ACTIVATE_NOW 68 ); 64 _Watchdog_Insert_ticks( &_TOD_Seconds_watchdog, ticks ); 69 65 } 70 66 -
c/src/exec/score/inline/watchdog.inl
rcaaa47c r8d0b7d96 116 116 STATIC INLINE void _Watchdog_Insert_ticks( 117 117 Watchdog_Control *the_watchdog, 118 Watchdog_Interval units, 119 Watchdog_Insert_modes insert_mode 118 Watchdog_Interval units 120 119 ) 121 120 { … … 123 122 the_watchdog->initial = units; 124 123 125 _Watchdog_Insert( &_Watchdog_Ticks_chain, the_watchdog , insert_mode);124 _Watchdog_Insert( &_Watchdog_Ticks_chain, the_watchdog ); 126 125 127 126 } … … 135 134 STATIC INLINE void _Watchdog_Insert_seconds( 136 135 Watchdog_Control *the_watchdog, 137 Watchdog_Interval units, 138 Watchdog_Insert_modes insert_mode 136 Watchdog_Interval units 139 137 ) 140 138 { … … 142 140 the_watchdog->initial = units; 143 141 144 _Watchdog_Insert( &_Watchdog_Seconds_chain, the_watchdog , insert_mode);142 _Watchdog_Insert( &_Watchdog_Seconds_chain, the_watchdog ); 145 143 146 144 } … … 191 189 (void) _Watchdog_Remove( the_watchdog ); 192 190 193 _Watchdog_Insert( 194 &_Watchdog_Ticks_chain, 195 the_watchdog, 196 WATCHDOG_ACTIVATE_NOW 197 ); 191 _Watchdog_Insert( &_Watchdog_Ticks_chain, the_watchdog ); 198 192 199 193 } -
c/src/exec/score/src/coretod.c
rcaaa47c r8d0b7d96 232 232 233 233 _Watchdog_Tickle_seconds(); 234 _Watchdog_Insert_ticks( &_TOD_Seconds_watchdog, _TOD_Ticks_per_second, 235 WATCHDOG_ACTIVATE_NOW ); 236 } 234 _Watchdog_Insert_ticks( &_TOD_Seconds_watchdog, _TOD_Ticks_per_second ); 235 } -
c/src/exec/score/src/threadq.c
rcaaa47c r8d0b7d96 110 110 ); 111 111 112 _Watchdog_Insert_ticks( 113 &the_thread->Timer, 114 timeout, 115 WATCHDOG_ACTIVATE_NOW 116 ); 112 _Watchdog_Insert_ticks( &the_thread->Timer, timeout ); 117 113 } 118 114 -
c/src/exec/score/src/tod.c
rcaaa47c r8d0b7d96 232 232 233 233 _Watchdog_Tickle_seconds(); 234 _Watchdog_Insert_ticks( &_TOD_Seconds_watchdog, _TOD_Ticks_per_second, 235 WATCHDOG_ACTIVATE_NOW ); 236 } 234 _Watchdog_Insert_ticks( &_TOD_Seconds_watchdog, _TOD_Ticks_per_second ); 235 } -
c/src/exec/score/src/watchdog.c
rcaaa47c r8d0b7d96 141 141 void _Watchdog_Insert( 142 142 Chain_Control *header, 143 Watchdog_Control *the_watchdog, 144 Watchdog_Insert_modes insert_mode 143 Watchdog_Control *the_watchdog 145 144 ) 146 145 { … … 175 174 176 175 /* 177 * If you experience problems comment out the _ISR_Flash line. This178 * (3.2.0) is the first release with this critical section redesigned.176 * If you experience problems comment out the _ISR_Flash line. 177 * 3.2.0 was the first release with this critical section redesigned. 179 178 * Under certain circumstances, the PREVIOUS critical section algorithm 180 * used around this flash point allow sinterrupts to execute179 * used around this flash point allowed interrupts to execute 181 180 * which violated the design assumptions. The critical section 182 181 * mechanism used here WAS redesigned to address this. … … 196 195 } 197 196 198 if ( insert_mode == WATCHDOG_ACTIVATE_NOW ) 199 _Watchdog_Activate( the_watchdog ); 197 _Watchdog_Activate( the_watchdog ); 200 198 201 199 the_watchdog->delta_interval = delta_interval; -
cpukit/posix/src/psignal.c
rcaaa47c r8d0b7d96 253 253 NULL 254 254 ); 255 _Watchdog_Insert_seconds( 256 &_Thread_Executing->Timer, 257 seconds, 258 WATCHDOG_ACTIVATE_NOW 259 ); 255 _Watchdog_Insert_seconds( &_Thread_Executing->Timer, seconds ); 260 256 _Thread_Enable_dispatch(); 261 257 return 0; /* XXX should account for signal */ -
cpukit/rtems/src/event.c
rcaaa47c r8d0b7d96 187 187 NULL 188 188 ); 189 _Watchdog_Insert_ticks( 190 &executing->Timer, 191 ticks, 192 WATCHDOG_ACTIVATE_NOW 193 ); 189 _Watchdog_Insert_ticks( &executing->Timer, ticks ); 194 190 } 195 191 -
cpukit/rtems/src/ratemon.c
rcaaa47c r8d0b7d96 278 278 NULL 279 279 ); 280 _Watchdog_Insert_ticks( 281 &the_period->Timer, length, WATCHDOG_ACTIVATE_NOW ); 280 _Watchdog_Insert_ticks( &the_period->Timer, length ); 282 281 _Thread_Enable_dispatch(); 283 282 return RTEMS_SUCCESSFUL; … … 293 292 case RATE_MONOTONIC_EXPIRED: 294 293 the_period->state = RATE_MONOTONIC_ACTIVE; 295 _Watchdog_Insert_ticks( 296 &the_period->Timer, length, WATCHDOG_ACTIVATE_NOW ); 294 _Watchdog_Insert_ticks( &the_period->Timer, length ); 297 295 _Thread_Enable_dispatch(); 298 296 return RTEMS_TIMEOUT; -
cpukit/rtems/src/rtemstimer.c
rcaaa47c r8d0b7d96 243 243 the_timer->the_class = TIMER_INTERVAL; 244 244 _Watchdog_Initialize( &the_timer->Ticker, routine, id, user_data ); 245 _Watchdog_Insert_ticks( &the_timer->Ticker, 246 ticks, WATCHDOG_ACTIVATE_NOW ); 245 _Watchdog_Insert_ticks( &the_timer->Ticker, ticks ); 247 246 _Thread_Enable_dispatch(); 248 247 return RTEMS_SUCCESSFUL; … … 299 298 the_timer->the_class = TIMER_TIME_OF_DAY; 300 299 _Watchdog_Initialize( &the_timer->Ticker, routine, id, user_data ); 301 _Watchdog_Insert_seconds( &the_timer->Ticker, 302 seconds - _TOD_Seconds_since_epoch, WATCHDOG_ACTIVATE_NOW ); 300 _Watchdog_Insert_seconds( 301 &the_timer->Ticker, 302 seconds - _TOD_Seconds_since_epoch 303 ); 303 304 _Thread_Enable_dispatch(); 304 305 return RTEMS_SUCCESSFUL; -
cpukit/rtems/src/tasks.c
rcaaa47c r8d0b7d96 988 988 NULL 989 989 ); 990 _Watchdog_Insert_ticks( &_Thread_Executing->Timer, 991 ticks, WATCHDOG_ACTIVATE_NOW ); 990 _Watchdog_Insert_ticks( &_Thread_Executing->Timer, ticks ); 992 991 _Thread_Enable_dispatch(); 993 992 } … … 1037 1036 NULL 1038 1037 ); 1039 _Watchdog_Insert_seconds( &_Thread_Executing->Timer, 1040 seconds - _TOD_Seconds_since_epoch, WATCHDOG_ACTIVATE_NOW ); 1038 _Watchdog_Insert_seconds( 1039 &_Thread_Executing->Timer, 1040 seconds - _TOD_Seconds_since_epoch 1041 ); 1041 1042 _Thread_Enable_dispatch(); 1042 1043 return RTEMS_SUCCESSFUL; -
cpukit/score/include/rtems/score/watchdog.h
rcaaa47c r8d0b7d96 48 48 49 49 #define WATCHDOG_NO_TIMEOUT 0 50 51 /*52 * The following enumerated type details the modes in which the53 * Watchdog_Insert routine may operate. The watchdog may be54 * activated automatically at insert time or later, explicitly55 * by the caller.56 */57 58 typedef enum {59 WATCHDOG_ACTIVATE_NOW, /* activate watchdog as part of insertion */60 WATCHDOG_NO_ACTIVATE /* watchdog will be explicitly activated */61 } Watchdog_Insert_modes;62 50 63 51 /* … … 239 227 STATIC INLINE void _Watchdog_Insert_ticks( 240 228 Watchdog_Control *the_watchdog, 241 Watchdog_Interval units, 242 Watchdog_Insert_modes insert_mode 229 Watchdog_Interval units 243 230 ); 244 231 … … 257 244 STATIC INLINE void _Watchdog_Insert_seconds( 258 245 Watchdog_Control *the_watchdog, 259 Watchdog_Interval units, 260 Watchdog_Insert_modes insert_mode 246 Watchdog_Interval units 261 247 ); 262 248 … … 392 378 void _Watchdog_Insert ( 393 379 Chain_Control *header, 394 Watchdog_Control *the_watchdog, 395 Watchdog_Insert_modes insert_mode 380 Watchdog_Control *the_watchdog 396 381 ); 397 382 -
cpukit/score/inline/rtems/score/tod.inl
rcaaa47c r8d0b7d96 62 62 ) 63 63 { 64 _Watchdog_Insert_ticks( 65 &_TOD_Seconds_watchdog, 66 ticks, 67 WATCHDOG_ACTIVATE_NOW 68 ); 64 _Watchdog_Insert_ticks( &_TOD_Seconds_watchdog, ticks ); 69 65 } 70 66 -
cpukit/score/inline/rtems/score/watchdog.inl
rcaaa47c r8d0b7d96 116 116 STATIC INLINE void _Watchdog_Insert_ticks( 117 117 Watchdog_Control *the_watchdog, 118 Watchdog_Interval units, 119 Watchdog_Insert_modes insert_mode 118 Watchdog_Interval units 120 119 ) 121 120 { … … 123 122 the_watchdog->initial = units; 124 123 125 _Watchdog_Insert( &_Watchdog_Ticks_chain, the_watchdog , insert_mode);124 _Watchdog_Insert( &_Watchdog_Ticks_chain, the_watchdog ); 126 125 127 126 } … … 135 134 STATIC INLINE void _Watchdog_Insert_seconds( 136 135 Watchdog_Control *the_watchdog, 137 Watchdog_Interval units, 138 Watchdog_Insert_modes insert_mode 136 Watchdog_Interval units 139 137 ) 140 138 { … … 142 140 the_watchdog->initial = units; 143 141 144 _Watchdog_Insert( &_Watchdog_Seconds_chain, the_watchdog , insert_mode);142 _Watchdog_Insert( &_Watchdog_Seconds_chain, the_watchdog ); 145 143 146 144 } … … 191 189 (void) _Watchdog_Remove( the_watchdog ); 192 190 193 _Watchdog_Insert( 194 &_Watchdog_Ticks_chain, 195 the_watchdog, 196 WATCHDOG_ACTIVATE_NOW 197 ); 191 _Watchdog_Insert( &_Watchdog_Ticks_chain, the_watchdog ); 198 192 199 193 } -
cpukit/score/src/coretod.c
rcaaa47c r8d0b7d96 232 232 233 233 _Watchdog_Tickle_seconds(); 234 _Watchdog_Insert_ticks( &_TOD_Seconds_watchdog, _TOD_Ticks_per_second, 235 WATCHDOG_ACTIVATE_NOW ); 236 } 234 _Watchdog_Insert_ticks( &_TOD_Seconds_watchdog, _TOD_Ticks_per_second ); 235 } -
cpukit/score/src/threadq.c
rcaaa47c r8d0b7d96 110 110 ); 111 111 112 _Watchdog_Insert_ticks( 113 &the_thread->Timer, 114 timeout, 115 WATCHDOG_ACTIVATE_NOW 116 ); 112 _Watchdog_Insert_ticks( &the_thread->Timer, timeout ); 117 113 } 118 114 -
cpukit/score/src/watchdog.c
rcaaa47c r8d0b7d96 141 141 void _Watchdog_Insert( 142 142 Chain_Control *header, 143 Watchdog_Control *the_watchdog, 144 Watchdog_Insert_modes insert_mode 143 Watchdog_Control *the_watchdog 145 144 ) 146 145 { … … 175 174 176 175 /* 177 * If you experience problems comment out the _ISR_Flash line. This178 * (3.2.0) is the first release with this critical section redesigned.176 * If you experience problems comment out the _ISR_Flash line. 177 * 3.2.0 was the first release with this critical section redesigned. 179 178 * Under certain circumstances, the PREVIOUS critical section algorithm 180 * used around this flash point allow sinterrupts to execute179 * used around this flash point allowed interrupts to execute 181 180 * which violated the design assumptions. The critical section 182 181 * mechanism used here WAS redesigned to address this. … … 196 195 } 197 196 198 if ( insert_mode == WATCHDOG_ACTIVATE_NOW ) 199 _Watchdog_Activate( the_watchdog ); 197 _Watchdog_Activate( the_watchdog ); 200 198 201 199 the_watchdog->delta_interval = delta_interval;
Note: See TracChangeset
for help on using the changeset viewer.