Changeset a0ed4ed in rtems
- Timestamp:
- 04/18/04 06:13:55 (19 years ago)
- Branches:
- 4.10, 4.11, 4.8, 4.9, 5, master
- Children:
- 429ba3b
- Parents:
- 50f32b11
- Location:
- cpukit/score
- Files:
-
- 55 edited
Legend:
- Unmodified
- Added
- Removed
-
cpukit/score/include/rtems/debug.h
r50f32b11 ra0ed4ed 2 2 * 3 3 * This include file contains the information pertaining to the debug 4 * support within RTEMS. It is currently cast in the form of a 4 * support within RTEMS. It is currently cast in the form of a 5 5 * Manager since it is externally accessible. 6 6 * -
cpukit/score/include/rtems/score/apiext.h
r50f32b11 ra0ed4ed 31 31 ); 32 32 33 33 34 34 typedef struct { 35 35 Chain_Node Node; -
cpukit/score/include/rtems/score/apimutex.h
r50f32b11 ra0ed4ed 2 2 * 3 3 * This include file contains all the constants and structures associated 4 * with the API Mutex Handler. This handler is used by API level 4 * with the API Mutex Handler. This handler is used by API level 5 5 * routines to manage mutual exclusion. 6 6 * -
cpukit/score/include/rtems/score/coremsg.h
r50f32b11 ra0ed4ed 42 42 * 43 43 * NOTE: The buffer field is normally longer than a single uint32_t . 44 * but since messages are variable length we just make a ptr to 1. 44 * but since messages are variable length we just make a ptr to 1. 45 45 */ 46 46 … … 101 101 102 102 /* 103 * The following defines the control block used to manage the 103 * The following defines the control block used to manage the 104 104 * attributes of each message queue. 105 105 */ … … 118 118 119 119 /* 120 * The following defines the control block used to manage each 120 * The following defines the control block used to manage each 121 121 * counting message_queue. 122 122 */ … … 277 277 * DESCRIPTION: 278 278 * 279 * This kernel routine inserts the specified message into the 279 * This kernel routine inserts the specified message into the 280 280 * message queue. It is assumed that the message has been filled 281 281 * in before this routine is called. -
cpukit/score/include/rtems/score/coremutex.h
r50f32b11 ra0ed4ed 3 3 * This include file contains all the constants and structures associated 4 4 * with the Mutex Handler. A mutex is an enhanced version of the standard 5 * Dijkstra binary semaphore used to provide synchronization and mutual 5 * Dijkstra binary semaphore used to provide synchronization and mutual 6 6 * exclusion capabilities. 7 7 * … … 102 102 103 103 /* 104 * The following defines the control block used to manage the 104 * The following defines the control block used to manage the 105 105 * attributes of each mutex. 106 106 */ -
cpukit/score/include/rtems/score/coresem.h
r50f32b11 ra0ed4ed 60 60 61 61 /* 62 * The following defines the control block used to manage the 62 * The following defines the control block used to manage the 63 63 * attributes of each semaphore. 64 64 */ … … 70 70 71 71 /* 72 * The following defines the control block used to manage each 72 * The following defines the control block used to manage each 73 73 * counting semaphore. 74 74 */ -
cpukit/score/include/rtems/score/heap.h
r50f32b11 ra0ed4ed 246 246 * the_info - pointer to information block 247 247 * 248 * Output parameters: 248 * Output parameters: 249 249 * *the_info - status information 250 250 * return 0=success, otherwise heap is corrupt. -
cpukit/score/include/rtems/score/interr.h
r50f32b11 ra0ed4ed 2 2 * 3 3 * This include file contains constants and prototypes related 4 * to the Internal Error Handler. 4 * to the Internal Error Handler. 5 5 * 6 6 * -
cpukit/score/include/rtems/score/mpci.h
r50f32b11 ra0ed4ed 153 153 */ 154 154 155 SCORE_EXTERN MPCI_Packet_processor 155 SCORE_EXTERN MPCI_Packet_processor 156 156 _MPCI_Packet_processors[MP_PACKET_CLASSES_LAST+1]; 157 157 … … 164 164 */ 165 165 166 void _MPCI_Handler_initialization( 166 void _MPCI_Handler_initialization( 167 167 MPCI_Control *users_mpci_table, 168 168 uint32_t timeout_status … … 173 173 * 174 174 * DESCRIPTION: 175 * 175 * 176 176 * This routine creates the packet receive server used in MP systems. 177 177 */ … … 199 199 */ 200 200 201 void _MPCI_Register_packet_processor( 201 void _MPCI_Register_packet_processor( 202 202 MP_packet_Classes the_class, 203 203 MPCI_Packet_processor the_packet_processor -
cpukit/score/include/rtems/score/object.h
r50f32b11 ra0ed4ed 3 3 * This include file contains all the constants and structures associated 4 4 * with the Object Handler. This Handler provides mechanisms which 5 * can be used to initialize and manipulate all objects which have 5 * can be used to initialize and manipulate all objects which have 6 6 * ids. 7 7 * … … 479 479 * This function implements the common portion of the object Id 480 480 * to name directives. This function returns the name 481 * associated with object id. 481 * associated with object id. 482 482 * 483 483 * NOTE: … … 505 505 * and the_object is undefined. 506 506 * 507 * NOTE: _Objects_Get returns with dispatching disabled for 507 * NOTE: _Objects_Get returns with dispatching disabled for 508 508 * local and remote objects. 509 509 * _Objects_Get_isr_disable returns with dispatching -
cpukit/score/include/rtems/score/objectmp.h
r50f32b11 ra0ed4ed 53 53 * DESCRIPTION: 54 54 * 55 * This routine place the specified global object in the 56 * specified information table. 55 * This routine place the specified global object in the 56 * specified information table. 57 57 */ 58 58 -
cpukit/score/include/rtems/score/priority.h
r50f32b11 ra0ed4ed 59 59 60 60 SCORE_EXTERN volatile Priority_Bit_map_control _Priority_Major_bit_map; 61 SCORE_EXTERN Priority_Bit_map_control 61 SCORE_EXTERN Priority_Bit_map_control 62 62 _Priority_Bit_map[16] CPU_STRUCTURE_ALIGNMENT; 63 63 -
cpukit/score/include/rtems/score/states.h
r50f32b11 ra0ed4ed 39 39 #define STATES_DELAYING 0x00008 /* wait for timeout */ 40 40 #define STATES_WAITING_FOR_TIME 0x00010 /* wait for TOD */ 41 #define STATES_WAITING_FOR_BUFFER 0x00020 41 #define STATES_WAITING_FOR_BUFFER 0x00020 42 42 #define STATES_WAITING_FOR_SEGMENT 0x00040 43 43 #define STATES_WAITING_FOR_MESSAGE 0x00080 -
cpukit/score/include/rtems/score/sysstate.h
r50f32b11 ra0ed4ed 41 41 42 42 /* 43 * The following variable indicates whether or not this is 43 * The following variable indicates whether or not this is 44 44 * an multiprocessing system. 45 45 */ -
cpukit/score/include/rtems/score/thread.h
r50f32b11 ra0ed4ed 38 38 * 39 39 * NOTE: This cannot always be right. Some APIs have void 40 * tasks/threads, others return pointers, others may 40 * tasks/threads, others return pointers, others may 41 41 * return a numeric value. Hopefully a pointer is 42 42 * always at least as big as an uint32_t . :) … … 142 142 /* 143 143 * NOTE: The following assumes that all API return codes can be 144 * treated as an uint32_t . 144 * treated as an uint32_t . 145 145 */ 146 146 uint32_t return_code; /* status for thread awakened */ … … 249 249 /* 250 250 * The following context area contains the context of the "thread" 251 * which invoked the start multitasking routine. This context is 251 * which invoked the start multitasking routine. This context is 252 252 * restored as the last action of the stop multitasking routine. Thus 253 253 * control of the processor can be returned to the environment … … 382 382 /* 383 383 * _Thread_Stack_Allocate 384 * 384 * 385 385 * DESCRIPTION: 386 386 * … … 609 609 void _Thread_Yield_processor( void ); 610 610 611 /* 611 /* 612 612 * _Thread_Rotate_Ready_Queue 613 * 614 * DESCRIPTION: 615 * 613 * 614 * DESCRIPTION: 615 * 616 616 * This routine is invoked to rotate the ready queue for the 617 617 * given priority. It can be used to yeild the processor … … 728 728 * 729 729 * This routine evaluates the current scheduling information for the 730 * system and determines if a context switch is required. This 730 * system and determines if a context switch is required. This 731 731 * is usually called after changing an execution mode such as preemptability 732 732 * for a thread. -
cpukit/score/include/rtems/score/threadq.h
r50f32b11 ra0ed4ed 53 53 ); 54 54 55 SCORE_EXTERN Thread_queue_Extract_callout 55 SCORE_EXTERN Thread_queue_Extract_callout 56 56 _Thread_queue_Extract_table[ OBJECTS_CLASSES_LAST + 1 ]; 57 57 #endif … … 106 106 * 107 107 * This routine extracts the_thread from the_thread_queue 108 * and ensures that if there is a proxy for this task on 108 * and ensures that if there is a proxy for this task on 109 109 * another node, it is also dealt with. 110 110 */ -
cpukit/score/include/rtems/score/tqdata.h
r50f32b11 ra0ed4ed 53 53 * manages a distinct set of task priorities. The number of chains 54 54 * is determined by TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS. 55 * The following set must be consistent. 55 * The following set must be consistent. 56 56 * 57 57 * The set below configures 4 headers -- each contains 64 priorities. … … 62 62 */ 63 63 64 #define TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS 4 64 #define TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS 4 65 65 #define TASK_QUEUE_DATA_PRIORITIES_PER_HEADER 64 66 66 #define TASK_QUEUE_DATA_REVERSE_SEARCH_MASK 0x20 -
cpukit/score/include/rtems/score/wkspace.h
r50f32b11 ra0ed4ed 1 1 /* wkspace.h 2 2 * 3 * This include file contains information related to the 3 * This include file contains information related to the 4 4 * RAM Workspace. This Handler provides mechanisms which can be used to 5 5 * define, initialize and manipulate the workspace. -
cpukit/score/include/rtems/system.h
r50f32b11 ra0ed4ed 31 31 32 32 /* 33 * The cpu options include file defines all cpu dependent 33 * The cpu options include file defines all cpu dependent 34 34 * parameters for this build of RTEMS. It must be included 35 35 * first so the basic macro definitions are in place. … … 41 41 * The following ensures that all data is declared in the space 42 42 * of the initialization routine for either the Initialization Manager 43 * or the initialization file for the appropriate API. It is 43 * or the initialization file for the appropriate API. It is 44 44 * referenced as "external" in every other file. 45 45 */ -
cpukit/score/src/coremsg.c
r50f32b11 ra0ed4ed 77 77 (allocated_message_size + sizeof(CORE_message_queue_Buffer_control)); 78 78 79 the_message_queue->message_buffers = (CORE_message_queue_Buffer *) 79 the_message_queue->message_buffers = (CORE_message_queue_Buffer *) 80 80 _Workspace_Allocate( message_buffering_required ); 81 81 -
cpukit/score/src/coremsgflushsupp.c
r50f32b11 ra0ed4ed 66 66 * 67 67 * (1) The thread queue of pending senders is a logical extension 68 * of the pending message queue. In this case, it should be 68 * of the pending message queue. In this case, it should be 69 69 * flushed using the _Thread_queue_Flush() service with a status 70 70 * such as CORE_MESSAGE_QUEUE_SENDER_FLUSHED (which currently does … … 81 81 * pending messages. 82 82 * 83 * For now, though, we are very happy to have a small routine with 83 * For now, though, we are very happy to have a small routine with 84 84 * fixed execution time that only deals with pending messages. 85 85 */ -
cpukit/score/src/coremsgflushwait.c
r50f32b11 ra0ed4ed 53 53 * IF there are no pending messages, 54 54 * THEN threads may be blocked waiting to RECEIVE a message, 55 * 55 * 56 56 * IF the pending message queue is full 57 57 * THEN threads may be blocked waiting to SEND a message -
cpukit/score/src/coremsginsert.c
r50f32b11 ra0ed4ed 97 97 */ 98 98 99 if ( the_message_queue->number_of_pending_messages == 1 && 99 if ( the_message_queue->number_of_pending_messages == 1 && 100 100 the_message_queue->notify_handler ) 101 101 (*the_message_queue->notify_handler)( the_message_queue->notify_argument ); -
cpukit/score/src/coremsgseize.c
r50f32b11 ra0ed4ed 98 98 99 99 /* 100 * There was a thread waiting to send a message. This code 101 * puts the messages in the message queue on behalf of the 100 * There was a thread waiting to send a message. This code 101 * puts the messages in the message queue on behalf of the 102 102 * waiting task. 103 103 */ -
cpukit/score/src/coremsgsubmit.c
r50f32b11 ra0ed4ed 152 152 /* 153 153 * WARNING!! executing should NOT be used prior to this point. 154 * Thus the unusual choice to open a new scope and declare 154 * Thus the unusual choice to open a new scope and declare 155 155 * it as a variable. Doing this emphasizes how dangerous it 156 156 * would be to use this variable prior to here. 157 157 */ 158 158 159 { 159 { 160 160 Thread_Control *executing = _Thread_Executing; 161 161 -
cpukit/score/src/coremutex.c
r50f32b11 ra0ed4ed 31 31 * structure according to the values passed. 32 32 * 33 * Input parameters: 33 * Input parameters: 34 34 * the_mutex - the mutex control block to initialize 35 35 * the_mutex_attributes - the mutex attributes specified at create time … … 46 46 { 47 47 48 /* Add this to the RTEMS environment later ????????? 48 /* Add this to the RTEMS environment later ????????? 49 49 rtems_assert( initial_lock == CORE_MUTEX_LOCKED || 50 50 initial_lock == CORE_MUTEX_UNLOCKED ); -
cpukit/score/src/coremutexseize.c
r50f32b11 ra0ed4ed 81 81 ISR_Level *level_p 82 82 ) 83 { 83 { 84 84 Thread_Control *executing; 85 85 ISR_Level level = *level_p; -
cpukit/score/src/coremutexsurrender.c
r50f32b11 ra0ed4ed 60 60 * discipline. But Priority Ceiling or Priority Inheritance mutexes 61 61 * must be released by the thread which acquired them. 62 */ 62 */ 63 63 64 64 if ( the_mutex->Attributes.only_owner_release ) { … … 69 69 /* XXX already unlocked -- not right status */ 70 70 71 if ( !the_mutex->nest_count ) 71 if ( !the_mutex->nest_count ) 72 72 return CORE_MUTEX_STATUS_SUCCESSFUL; 73 73 … … 101 101 if ( _CORE_mutex_Is_inherit_priority( &the_mutex->Attributes ) || 102 102 _CORE_mutex_Is_priority_ceiling( &the_mutex->Attributes ) ) { 103 if ( holder->resource_count == 0 && 103 if ( holder->resource_count == 0 && 104 104 holder->real_priority != holder->current_priority ) { 105 105 _Thread_Change_priority( holder, holder->real_priority, TRUE ); … … 118 118 ( *api_mutex_mp_support)( the_thread, id ); 119 119 120 } else 120 } else 121 121 #endif 122 122 { -
cpukit/score/src/heapextend.c
r50f32b11 ra0ed4ed 94 94 the_heap->final = new_final; 95 95 96 old_final->front_flag = 96 old_final->front_flag = 97 97 new_final->back_flag = _Heap_Build_flag( size, HEAP_BLOCK_USED ); 98 98 new_final->front_flag = HEAP_DUMMY_FLAG; -
cpukit/score/src/heapgetinfo.c
r50f32b11 ra0ed4ed 27 27 * the_info - pointer for information to be returned 28 28 * 29 * Output parameters: 29 * Output parameters: 30 30 * *the_info - contains information about heap 31 31 * return 0=success, otherwise heap is corrupt. -
cpukit/score/src/mpci.c
r50f32b11 ra0ed4ed 36 36 */ 37 37 38 void _MPCI_Handler_initialization( 38 void _MPCI_Handler_initialization( 39 39 MPCI_Control *users_mpci_table, 40 40 uint32_t timeout_status -
cpukit/score/src/objectallocate.c
r50f32b11 ra0ed4ed 39 39 ) 40 40 { 41 Objects_Control *the_object = 41 Objects_Control *the_object = 42 42 (Objects_Control *) _Chain_Get( &information->Inactive ); 43 43 -
cpukit/score/src/objectallocatebyindex.c
r50f32b11 ra0ed4ed 31 31 * DESCRIPTION: 32 32 * 33 * This function allocates the object control block 34 * specified by the index from the inactive chain of 33 * This function allocates the object control block 34 * specified by the index from the inactive chain of 35 35 * free object control blocks. 36 36 */ … … 62 62 _Chain_Extract( &the_object->Node ); 63 63 64 return the_object; 65 } 64 return the_object; 65 } 66 66 67 67 /* -
cpukit/score/src/objectclearname.c
r50f32b11 ra0ed4ed 42 42 uint32_t *name_ptr = (uint32_t *) name; 43 43 44 for ( index=0 ; index < maximum ; index++ ) 44 for ( index=0 ; index < maximum ; index++ ) 45 45 *name_ptr++ = 0; 46 46 } -
cpukit/score/src/objectextendinformation.c
r50f32b11 ra0ed4ed 85 85 Objects_Control **local_table; 86 86 uint32_t maximum; 87 void *old_tables; 87 void *old_tables; 88 88 89 89 /* … … 131 131 object_blocks = (void**) 132 132 _Workspace_Allocate_or_fatal_error( 133 block_count * 133 block_count * 134 134 (sizeof(void *) + sizeof(uint32_t ) + sizeof(Objects_Name *)) + 135 135 ((maximum + minimum_index) * sizeof(Objects_Control *)) … … 210 210 information->maximum = maximum; 211 211 information->maximum_id = _Objects_Build_id( 212 information->the_api, 212 information->the_api, 213 213 information->the_class, 214 214 _Objects_Local_node, … … 229 229 230 230 if ( information->auto_extend ) { 231 information->object_blocks[ block ] = 231 information->object_blocks[ block ] = 232 232 _Workspace_Allocate( 233 233 (information->allocation_size * information->name_length) + … … 239 239 } 240 240 else { 241 information->object_blocks[ block ] = 241 information->object_blocks[ block ] = 242 242 _Workspace_Allocate_or_fatal_error( 243 243 (information->allocation_size * information->name_length) + … … 272 272 273 273 the_object->id = _Objects_Build_id( 274 information->the_api, 274 information->the_api, 275 275 information->the_class, 276 276 _Objects_Local_node, -
cpukit/score/src/objectfree.c
r50f32b11 ra0ed4ed 47 47 uint32_t block; 48 48 49 block = 49 block = 50 50 _Objects_Get_index( the_object->id ) - _Objects_Get_index( information->minimum_id ); 51 51 block /= information->allocation_size; -
cpukit/score/src/objectget.c
r50f32b11 ra0ed4ed 63 63 #endif 64 64 65 if ( information->maximum >= index ) { 65 if ( information->maximum >= index ) { 66 66 _Thread_Disable_dispatch(); 67 67 if ( (the_object = information->local_table[ index ]) != NULL ) { -
cpukit/score/src/objectgetnoprotection.c
r50f32b11 ra0ed4ed 63 63 #endif 64 64 65 if ( information->maximum >= index ) { 65 if ( information->maximum >= index ) { 66 66 if ( (the_object = information->local_table[ index ]) != NULL ) { 67 67 *location = OBJECTS_LOCAL; … … 73 73 *location = OBJECTS_ERROR; 74 74 75 /* 75 /* 76 76 * Not supported for multiprocessing 77 77 */ -
cpukit/score/src/objectinitializeinformation.c
r50f32b11 ra0ed4ed 37 37 * is_string - TRUE if names for this object are strings 38 38 * maximum_name_length - maximum length of each object's name 39 * When multiprocessing is configured, 39 * When multiprocessing is configured, 40 40 * supports_global - TRUE if this is a global object class 41 41 * extract_callout - pointer to threadq extract callout if MP … … 67 67 68 68 information->the_api = the_api; 69 information->the_class = the_class; 70 information->is_string = is_string; 69 information->the_class = the_class; 70 information->is_string = is_string; 71 71 72 72 information->local_table = 0; … … 125 125 126 126 if ( name_length & (OBJECTS_NAME_ALIGNMENT-1) ) 127 name_length = (name_length + OBJECTS_NAME_ALIGNMENT) & 127 name_length = (name_length + OBJECTS_NAME_ALIGNMENT) & 128 128 ~(OBJECTS_NAME_ALIGNMENT-1); 129 129 -
cpukit/score/src/threadchangepriority.c
r50f32b11 ra0ed4ed 66 66 /* 67 67 * Techically, the prepend should conditional on the thread lowering 68 * its priority but that does allow cxd2004 of the acvc 2.0.1 to 68 * its priority but that does allow cxd2004 of the acvc 2.0.1 to 69 69 * pass with rtems 4.0.0. This should change when gnat redoes its 70 70 * priority scheme. … … 72 72 /* 73 73 if ( prepend_it && 74 _Thread_Is_executing( the_thread ) && 74 _Thread_Is_executing( the_thread ) && 75 75 new_priority >= the_thread->current_priority ) 76 76 prepend_it = TRUE; -
cpukit/score/src/threadclearstate.c
r50f32b11 ra0ed4ed 59 59 60 60 if ( current_state & state ) { 61 current_state = 61 current_state = 62 62 the_thread->current_state = _States_Clear( state, current_state ); 63 63 -
cpukit/score/src/threadhandler.c
r50f32b11 ra0ed4ed 42 42 * 43 43 * On entry, it is assumed all interrupts are blocked and that this 44 * routine needs to set the initial isr level. This may or may not 44 * routine needs to set the initial isr level. This may or may not 45 45 * actually be needed by the context switch routine and as a result 46 46 * interrupts may already be at there proper level. Either way, 47 47 * setting the initial isr level properly here is safe. 48 * 48 * 49 49 * Currently this is only really needed for the posix port, 50 50 * ref: _Context_Switch in unix/cpu.c … … 121 121 switch ( executing->Start.prototype ) { 122 122 case THREAD_START_NUMERIC: 123 executing->Wait.return_argument = 123 executing->Wait.return_argument = 124 124 (*(Thread_Entry_numeric) executing->Start.entry_point)( 125 125 executing->Start.numeric_argument … … 133 133 break; 134 134 case THREAD_START_BOTH_POINTER_FIRST: 135 executing->Wait.return_argument = 136 (*(Thread_Entry_both_pointer_first) executing->Start.entry_point)( 135 executing->Wait.return_argument = 136 (*(Thread_Entry_both_pointer_first) executing->Start.entry_point)( 137 137 executing->Start.pointer_argument, 138 138 executing->Start.numeric_argument … … 140 140 break; 141 141 case THREAD_START_BOTH_NUMERIC_FIRST: 142 executing->Wait.return_argument = 143 (*(Thread_Entry_both_numeric_first) executing->Start.entry_point)( 142 executing->Wait.return_argument = 143 (*(Thread_Entry_both_numeric_first) executing->Start.entry_point)( 144 144 executing->Start.numeric_argument, 145 145 executing->Start.pointer_argument … … 151 151 * In the switch above, the return code from the user thread body 152 152 * was placed in return_argument. This assumed that if it returned 153 * anything (which is not supporting in all APIs), then it would be 153 * anything (which is not supporting in all APIs), then it would be 154 154 * able to fit in a (void *). 155 155 */ -
cpukit/score/src/threadinitialize.c
r50f32b11 ra0ed4ed 77 77 actual_stack_size = _Thread_Stack_Allocate( the_thread, actual_stack_size ); 78 78 79 if ( !actual_stack_size ) 79 if ( !actual_stack_size ) 80 80 return FALSE; /* stack allocation failed */ 81 81 … … 140 140 return FALSE; 141 141 } 142 } else 142 } else 143 143 extensions_area = NULL; 144 144 -
cpukit/score/src/threadqdequeuefifo.c
r50f32b11 ra0ed4ed 68 68 69 69 return the_thread; 70 } 70 } 71 71 72 72 switch ( the_thread_queue->sync_state ) { -
cpukit/score/src/threadqenqueuefifo.c
r50f32b11 ra0ed4ed 55 55 56 56 switch ( sync_state ) { 57 case THREAD_QUEUE_SYNCHRONIZED: 57 case THREAD_QUEUE_SYNCHRONIZED: 58 58 /* 59 59 * This should never happen. It indicates that someone did not … … 62 62 break; 63 63 64 case THREAD_QUEUE_NOTHING_HAPPENED: 64 case THREAD_QUEUE_NOTHING_HAPPENED: 65 65 _Chain_Append_unprotected( 66 66 &the_thread_queue->Queues.Fifo, … … 70 70 return; 71 71 72 case THREAD_QUEUE_TIMEOUT: 72 case THREAD_QUEUE_TIMEOUT: 73 73 the_thread->Wait.return_code = the_thread->Wait.queue->timeout_status; 74 74 _ISR_Enable( level ); -
cpukit/score/src/threadqextractwithproxy.c
r50f32b11 ra0ed4ed 27 27 * 28 28 * This routine extracts the_thread from the_thread_queue 29 * and ensures that if there is a proxy for this task on 29 * and ensures that if there is a proxy for this task on 30 30 * another node, it is also dealt with. 31 31 * … … 49 49 the_information = _Objects_Get_information( the_thread->Wait.id ); 50 50 51 proxy_extract_callout = 51 proxy_extract_callout = 52 52 (Objects_Thread_queue_Extract_callout) the_information->extract; 53 53 -
cpukit/score/src/threadready.c
r50f32b11 ra0ed4ed 68 68 heir = _Thread_Heir; 69 69 70 if ( !_Thread_Is_executing( heir ) && _Thread_Executing->is_preemptible ) 70 if ( !_Thread_Is_executing( heir ) && _Thread_Executing->is_preemptible ) 71 71 _Context_Switch_necessary = TRUE; 72 72 -
cpukit/score/src/threadresume.c
r50f32b11 ra0ed4ed 71 71 current_state = the_thread->current_state; 72 72 if ( current_state & STATES_SUSPENDED ) { 73 current_state = 73 current_state = 74 74 the_thread->current_state = _States_Clear(STATES_SUSPENDED, current_state); 75 75 -
cpukit/score/src/threadrotatequeue.c
r50f32b11 ra0ed4ed 39 39 * running is also the currently the heir. 40 40 * 41 * Input parameters: 41 * Input parameters: 42 42 * Priority of the queue we wish to modify. 43 43 * … … 49 49 */ 50 50 51 void _Thread_Rotate_Ready_Queue( 51 void _Thread_Rotate_Ready_Queue( 52 52 Priority_Control priority 53 53 ) -
cpukit/score/src/threadstackallocate.c
r50f32b11 ra0ed4ed 64 64 * stack control block because it is later used in the free sequence. 65 65 * 66 * Thus it is the responsibility of the CPU dependent code to 67 * get and keep the stack adjust factor, the stack alignment, and 66 * Thus it is the responsibility of the CPU dependent code to 67 * get and keep the stack adjust factor, the stack alignment, and 68 68 * the context initialization sequence in sync. 69 69 */ -
cpukit/score/src/threadstartmultitasking.c
r50f32b11 ra0ed4ed 51 51 { 52 52 /* 53 * The system is now multitasking and completely initialized. 54 * This system thread now either "goes away" in a single processor 53 * The system is now multitasking and completely initialized. 54 * This system thread now either "goes away" in a single processor 55 55 * system or "turns into" the server thread in an MP system. 56 56 */ -
cpukit/score/src/threadtickletimeslice.c
r50f32b11 ra0ed4ed 53 53 54 54 /* 55 * If the thread is not preemptible or is not ready, then 55 * If the thread is not preemptible or is not ready, then 56 56 * just return. 57 57 */ -
cpukit/score/src/watchdoginsert.c
r50f32b11 ra0ed4ed 75 75 76 76 /* 77 * If you experience problems comment out the _ISR_Flash line. 77 * If you experience problems comment out the _ISR_Flash line. 78 78 * 3.2.0 was the first release with this critical section redesigned. 79 79 * Under certain circumstances, the PREVIOUS critical section algorithm 80 80 * used around this flash point allowed interrupts to execute 81 * which violated the design assumptions. The critical section 81 * which violated the design assumptions. The critical section 82 82 * mechanism used here WAS redesigned to address this. 83 83 */ -
cpukit/score/src/watchdogremove.c
r50f32b11 ra0ed4ed 39 39 break; 40 40 41 case WATCHDOG_BEING_INSERTED: 41 case WATCHDOG_BEING_INSERTED: 42 42 43 43 /* -
cpukit/score/src/watchdogtickle.c
r50f32b11 ra0ed4ed 40 40 /* 41 41 * See the comment in watchdoginsert.c and watchdogadjust.c 42 * about why it's safe not to declare header a pointer to 42 * about why it's safe not to declare header a pointer to 43 43 * volatile data - till, 2003/7 44 44 */ … … 70 70 /* 71 71 * This state indicates that the watchdog is not on any chain. 72 * Thus, it is NOT on a chain being tickled. This case should 72 * Thus, it is NOT on a chain being tickled. This case should 73 73 * never occur. 74 74 */
Note: See TracChangeset
for help on using the changeset viewer.