forked from Imagelibrary/rtems
Remove stray white spaces.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/* debug.h
|
||||
*
|
||||
* This include file contains the information pertaining to the debug
|
||||
* support within RTEMS. It is currently cast in the form of a
|
||||
* support within RTEMS. It is currently cast in the form of a
|
||||
* Manager since it is externally accessible.
|
||||
*
|
||||
*
|
||||
|
||||
@@ -30,7 +30,7 @@ typedef void (*API_extensions_Postswitch_hook)(
|
||||
Thread_Control *
|
||||
);
|
||||
|
||||
|
||||
|
||||
typedef struct {
|
||||
Chain_Node Node;
|
||||
API_extensions_Predriver_hook predriver_hook;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* apimutex.h
|
||||
*
|
||||
* This include file contains all the constants and structures associated
|
||||
* with the API Mutex Handler. This handler is used by API level
|
||||
* with the API Mutex Handler. This handler is used by API level
|
||||
* routines to manage mutual exclusion.
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2002.
|
||||
|
||||
@@ -41,7 +41,7 @@ typedef void ( *CORE_message_queue_API_mp_support_callout )(
|
||||
* the contents of message buffers.
|
||||
*
|
||||
* NOTE: The buffer field is normally longer than a single uint32_t .
|
||||
* but since messages are variable length we just make a ptr to 1.
|
||||
* but since messages are variable length we just make a ptr to 1.
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
@@ -100,7 +100,7 @@ typedef enum {
|
||||
} CORE_message_queue_Status;
|
||||
|
||||
/*
|
||||
* The following defines the control block used to manage the
|
||||
* The following defines the control block used to manage the
|
||||
* attributes of each message queue.
|
||||
*/
|
||||
|
||||
@@ -117,7 +117,7 @@ typedef struct {
|
||||
typedef void (*CORE_message_queue_Notify_Handler)( void * );
|
||||
|
||||
/*
|
||||
* The following defines the control block used to manage each
|
||||
* The following defines the control block used to manage each
|
||||
* counting message_queue.
|
||||
*/
|
||||
|
||||
@@ -276,7 +276,7 @@ void _CORE_message_queue_Seize(
|
||||
*
|
||||
* DESCRIPTION:
|
||||
*
|
||||
* This kernel routine inserts the specified message into the
|
||||
* This kernel routine inserts the specified message into the
|
||||
* message queue. It is assumed that the message has been filled
|
||||
* in before this routine is called.
|
||||
*/
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
*
|
||||
* This include file contains all the constants and structures associated
|
||||
* with the Mutex Handler. A mutex is an enhanced version of the standard
|
||||
* Dijkstra binary semaphore used to provide synchronization and mutual
|
||||
* Dijkstra binary semaphore used to provide synchronization and mutual
|
||||
* exclusion capabilities.
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
@@ -101,7 +101,7 @@ typedef enum {
|
||||
#define CORE_MUTEX_LOCKED 0
|
||||
|
||||
/*
|
||||
* The following defines the control block used to manage the
|
||||
* The following defines the control block used to manage the
|
||||
* attributes of each mutex.
|
||||
*/
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ typedef enum {
|
||||
} CORE_semaphore_Status;
|
||||
|
||||
/*
|
||||
* The following defines the control block used to manage the
|
||||
* The following defines the control block used to manage the
|
||||
* attributes of each semaphore.
|
||||
*/
|
||||
|
||||
@@ -69,7 +69,7 @@ typedef struct {
|
||||
} CORE_semaphore_Attributes;
|
||||
|
||||
/*
|
||||
* The following defines the control block used to manage each
|
||||
* The following defines the control block used to manage each
|
||||
* counting semaphore.
|
||||
*/
|
||||
|
||||
|
||||
@@ -245,7 +245,7 @@ void _Heap_Walk(
|
||||
* the_heap - pointer to heap header
|
||||
* the_info - pointer to information block
|
||||
*
|
||||
* Output parameters:
|
||||
* Output parameters:
|
||||
* *the_info - status information
|
||||
* return 0=success, otherwise heap is corrupt.
|
||||
*/
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* interr.h
|
||||
*
|
||||
* This include file contains constants and prototypes related
|
||||
* to the Internal Error Handler.
|
||||
* to the Internal Error Handler.
|
||||
*
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
|
||||
@@ -152,7 +152,7 @@ SCORE_EXTERN Thread_Control *_MPCI_Receive_server_tcb;
|
||||
* by each object that supports MP operations.
|
||||
*/
|
||||
|
||||
SCORE_EXTERN MPCI_Packet_processor
|
||||
SCORE_EXTERN MPCI_Packet_processor
|
||||
_MPCI_Packet_processors[MP_PACKET_CLASSES_LAST+1];
|
||||
|
||||
/*
|
||||
@@ -163,7 +163,7 @@ SCORE_EXTERN MPCI_Packet_processor
|
||||
* This routine performs the initialization necessary for this handler.
|
||||
*/
|
||||
|
||||
void _MPCI_Handler_initialization(
|
||||
void _MPCI_Handler_initialization(
|
||||
MPCI_Control *users_mpci_table,
|
||||
uint32_t timeout_status
|
||||
);
|
||||
@@ -172,7 +172,7 @@ void _MPCI_Handler_initialization(
|
||||
* _MPCI_Create_server
|
||||
*
|
||||
* DESCRIPTION:
|
||||
*
|
||||
*
|
||||
* This routine creates the packet receive server used in MP systems.
|
||||
*/
|
||||
|
||||
@@ -198,7 +198,7 @@ void _MPCI_Initialization ( void );
|
||||
* designated object class.
|
||||
*/
|
||||
|
||||
void _MPCI_Register_packet_processor(
|
||||
void _MPCI_Register_packet_processor(
|
||||
MP_packet_Classes the_class,
|
||||
MPCI_Packet_processor the_packet_processor
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
*
|
||||
* This include file contains all the constants and structures associated
|
||||
* with the Object Handler. This Handler provides mechanisms which
|
||||
* can be used to initialize and manipulate all objects which have
|
||||
* can be used to initialize and manipulate all objects which have
|
||||
* ids.
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2002.
|
||||
@@ -478,7 +478,7 @@ Objects_Name_or_id_lookup_errors _Objects_Name_to_id(
|
||||
*
|
||||
* This function implements the common portion of the object Id
|
||||
* to name directives. This function returns the name
|
||||
* associated with object id.
|
||||
* associated with object id.
|
||||
*
|
||||
* NOTE:
|
||||
*
|
||||
@@ -504,7 +504,7 @@ Objects_Name_or_id_lookup_errors _Objects_Id_to_name (
|
||||
* is undefined. Otherwise, location is set to OBJECTS_ERROR
|
||||
* and the_object is undefined.
|
||||
*
|
||||
* NOTE: _Objects_Get returns with dispatching disabled for
|
||||
* NOTE: _Objects_Get returns with dispatching disabled for
|
||||
* local and remote objects.
|
||||
* _Objects_Get_isr_disable returns with dispatching
|
||||
* disabled for remote objects and interrupts for local
|
||||
|
||||
@@ -52,8 +52,8 @@ void _Objects_MP_Handler_initialization (
|
||||
*
|
||||
* DESCRIPTION:
|
||||
*
|
||||
* This routine place the specified global object in the
|
||||
* specified information table.
|
||||
* This routine place the specified global object in the
|
||||
* specified information table.
|
||||
*/
|
||||
|
||||
void _Objects_MP_Open (
|
||||
|
||||
@@ -58,7 +58,7 @@ typedef struct {
|
||||
*/
|
||||
|
||||
SCORE_EXTERN volatile Priority_Bit_map_control _Priority_Major_bit_map;
|
||||
SCORE_EXTERN Priority_Bit_map_control
|
||||
SCORE_EXTERN Priority_Bit_map_control
|
||||
_Priority_Bit_map[16] CPU_STRUCTURE_ALIGNMENT;
|
||||
|
||||
/*
|
||||
|
||||
@@ -38,7 +38,7 @@ typedef uint32_t States_Control;
|
||||
#define STATES_TRANSIENT 0x00004 /* in transition */
|
||||
#define STATES_DELAYING 0x00008 /* wait for timeout */
|
||||
#define STATES_WAITING_FOR_TIME 0x00010 /* wait for TOD */
|
||||
#define STATES_WAITING_FOR_BUFFER 0x00020
|
||||
#define STATES_WAITING_FOR_BUFFER 0x00020
|
||||
#define STATES_WAITING_FOR_SEGMENT 0x00040
|
||||
#define STATES_WAITING_FOR_MESSAGE 0x00080
|
||||
#define STATES_WAITING_FOR_EVENT 0x00100
|
||||
|
||||
@@ -40,7 +40,7 @@ typedef enum {
|
||||
#define SYSTEM_STATE_CODES_LAST SYSTEM_STATE_FAILED
|
||||
|
||||
/*
|
||||
* The following variable indicates whether or not this is
|
||||
* The following variable indicates whether or not this is
|
||||
* an multiprocessing system.
|
||||
*/
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ extern "C" {
|
||||
* The following defines the "return type" of a thread.
|
||||
*
|
||||
* NOTE: This cannot always be right. Some APIs have void
|
||||
* tasks/threads, others return pointers, others may
|
||||
* tasks/threads, others return pointers, others may
|
||||
* return a numeric value. Hopefully a pointer is
|
||||
* always at least as big as an uint32_t . :)
|
||||
*/
|
||||
@@ -141,7 +141,7 @@ typedef struct {
|
||||
|
||||
/*
|
||||
* NOTE: The following assumes that all API return codes can be
|
||||
* treated as an uint32_t .
|
||||
* treated as an uint32_t .
|
||||
*/
|
||||
uint32_t return_code; /* status for thread awakened */
|
||||
|
||||
@@ -248,7 +248,7 @@ SCORE_EXTERN Thread_Control *_Thread_Idle;
|
||||
|
||||
/*
|
||||
* The following context area contains the context of the "thread"
|
||||
* which invoked the start multitasking routine. This context is
|
||||
* which invoked the start multitasking routine. This context is
|
||||
* restored as the last action of the stop multitasking routine. Thus
|
||||
* control of the processor can be returned to the environment
|
||||
* which initiated the system.
|
||||
@@ -381,7 +381,7 @@ void _Thread_Dispatch( void );
|
||||
|
||||
/*
|
||||
* _Thread_Stack_Allocate
|
||||
*
|
||||
*
|
||||
* DESCRIPTION:
|
||||
*
|
||||
* Allocate the requested stack space for the thread.
|
||||
@@ -608,11 +608,11 @@ void _Thread_Tickle_timeslice( void );
|
||||
|
||||
void _Thread_Yield_processor( void );
|
||||
|
||||
/*
|
||||
/*
|
||||
* _Thread_Rotate_Ready_Queue
|
||||
*
|
||||
*
|
||||
* DESCRIPTION:
|
||||
*
|
||||
*
|
||||
* This routine is invoked to rotate the ready queue for the
|
||||
* given priority. It can be used to yeild the processor
|
||||
* by rotating the executing threads ready queue.
|
||||
@@ -727,7 +727,7 @@ void _Thread_Resume(
|
||||
* DESCRIPTION:
|
||||
*
|
||||
* This routine evaluates the current scheduling information for the
|
||||
* system and determines if a context switch is required. This
|
||||
* system and determines if a context switch is required. This
|
||||
* is usually called after changing an execution mode such as preemptability
|
||||
* for a thread.
|
||||
*/
|
||||
|
||||
@@ -52,7 +52,7 @@ typedef void ( *Thread_queue_Extract_callout )(
|
||||
Thread_Control *
|
||||
);
|
||||
|
||||
SCORE_EXTERN Thread_queue_Extract_callout
|
||||
SCORE_EXTERN Thread_queue_Extract_callout
|
||||
_Thread_queue_Extract_table[ OBJECTS_CLASSES_LAST + 1 ];
|
||||
#endif
|
||||
|
||||
@@ -105,7 +105,7 @@ void _Thread_queue_Extract(
|
||||
* DESCRIPTION:
|
||||
*
|
||||
* This routine extracts the_thread from the_thread_queue
|
||||
* and ensures that if there is a proxy for this task on
|
||||
* and ensures that if there is a proxy for this task on
|
||||
* another node, it is also dealt with.
|
||||
*/
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ typedef enum {
|
||||
* There are four chains used to maintain a priority -- each chain
|
||||
* manages a distinct set of task priorities. The number of chains
|
||||
* is determined by TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS.
|
||||
* The following set must be consistent.
|
||||
* The following set must be consistent.
|
||||
*
|
||||
* The set below configures 4 headers -- each contains 64 priorities.
|
||||
* Header x manages priority range (x*64) through ((x*64)+63). If
|
||||
@@ -61,7 +61,7 @@ typedef enum {
|
||||
* This halves the search time to find the insertion point.
|
||||
*/
|
||||
|
||||
#define TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS 4
|
||||
#define TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS 4
|
||||
#define TASK_QUEUE_DATA_PRIORITIES_PER_HEADER 64
|
||||
#define TASK_QUEUE_DATA_REVERSE_SEARCH_MASK 0x20
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wkspace.h
|
||||
*
|
||||
* This include file contains information related to the
|
||||
* This include file contains information related to the
|
||||
* RAM Workspace. This Handler provides mechanisms which can be used to
|
||||
* define, initialize and manipulate the workspace.
|
||||
*
|
||||
|
||||
@@ -30,7 +30,7 @@ extern "C" {
|
||||
#define __RTEMS_REVISION__ 0
|
||||
|
||||
/*
|
||||
* The cpu options include file defines all cpu dependent
|
||||
* The cpu options include file defines all cpu dependent
|
||||
* parameters for this build of RTEMS. It must be included
|
||||
* first so the basic macro definitions are in place.
|
||||
*/
|
||||
@@ -40,7 +40,7 @@ extern "C" {
|
||||
/*
|
||||
* The following ensures that all data is declared in the space
|
||||
* of the initialization routine for either the Initialization Manager
|
||||
* or the initialization file for the appropriate API. It is
|
||||
* or the initialization file for the appropriate API. It is
|
||||
* referenced as "external" in every other file.
|
||||
*/
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ boolean _CORE_message_queue_Initialize(
|
||||
message_buffering_required = maximum_pending_messages *
|
||||
(allocated_message_size + sizeof(CORE_message_queue_Buffer_control));
|
||||
|
||||
the_message_queue->message_buffers = (CORE_message_queue_Buffer *)
|
||||
the_message_queue->message_buffers = (CORE_message_queue_Buffer *)
|
||||
_Workspace_Allocate( message_buffering_required );
|
||||
|
||||
if (the_message_queue->message_buffers == 0)
|
||||
|
||||
@@ -65,7 +65,7 @@ uint32_t _CORE_message_queue_Flush_support(
|
||||
* waiting to send, there are two basic behaviors envisioned:
|
||||
*
|
||||
* (1) The thread queue of pending senders is a logical extension
|
||||
* of the pending message queue. In this case, it should be
|
||||
* of the pending message queue. In this case, it should be
|
||||
* flushed using the _Thread_queue_Flush() service with a status
|
||||
* such as CORE_MESSAGE_QUEUE_SENDER_FLUSHED (which currently does
|
||||
* not exist). This can be implemented without changing the "big-O"
|
||||
@@ -80,7 +80,7 @@ uint32_t _CORE_message_queue_Flush_support(
|
||||
* then the existing flush code can be used to dispose of the remaining
|
||||
* pending messages.
|
||||
*
|
||||
* For now, though, we are very happy to have a small routine with
|
||||
* For now, though, we are very happy to have a small routine with
|
||||
* fixed execution time that only deals with pending messages.
|
||||
*/
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ void _CORE_message_queue_Flush_waiting_threads(
|
||||
/*
|
||||
* IF there are no pending messages,
|
||||
* THEN threads may be blocked waiting to RECEIVE a message,
|
||||
*
|
||||
*
|
||||
* IF the pending message queue is full
|
||||
* THEN threads may be blocked waiting to SEND a message
|
||||
*
|
||||
|
||||
@@ -96,7 +96,7 @@ void _CORE_message_queue_Insert_message(
|
||||
* the message is actually in the queue at this point.
|
||||
*/
|
||||
|
||||
if ( the_message_queue->number_of_pending_messages == 1 &&
|
||||
if ( the_message_queue->number_of_pending_messages == 1 &&
|
||||
the_message_queue->notify_handler )
|
||||
(*the_message_queue->notify_handler)( the_message_queue->notify_argument );
|
||||
}
|
||||
|
||||
@@ -97,8 +97,8 @@ void _CORE_message_queue_Seize(
|
||||
}
|
||||
|
||||
/*
|
||||
* There was a thread waiting to send a message. This code
|
||||
* puts the messages in the message queue on behalf of the
|
||||
* There was a thread waiting to send a message. This code
|
||||
* puts the messages in the message queue on behalf of the
|
||||
* waiting task.
|
||||
*/
|
||||
|
||||
|
||||
@@ -151,12 +151,12 @@ CORE_message_queue_Status _CORE_message_queue_Submit(
|
||||
|
||||
/*
|
||||
* WARNING!! executing should NOT be used prior to this point.
|
||||
* Thus the unusual choice to open a new scope and declare
|
||||
* Thus the unusual choice to open a new scope and declare
|
||||
* it as a variable. Doing this emphasizes how dangerous it
|
||||
* would be to use this variable prior to here.
|
||||
*/
|
||||
|
||||
{
|
||||
{
|
||||
Thread_Control *executing = _Thread_Executing;
|
||||
|
||||
_ISR_Disable( level );
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
* This routine initializes a mutex at create time and set the control
|
||||
* structure according to the values passed.
|
||||
*
|
||||
* Input parameters:
|
||||
* Input parameters:
|
||||
* the_mutex - the mutex control block to initialize
|
||||
* the_mutex_attributes - the mutex attributes specified at create time
|
||||
* initial_lock - mutex initial lock or unlocked status
|
||||
@@ -45,7 +45,7 @@ void _CORE_mutex_Initialize(
|
||||
)
|
||||
{
|
||||
|
||||
/* Add this to the RTEMS environment later ?????????
|
||||
/* Add this to the RTEMS environment later ?????????
|
||||
rtems_assert( initial_lock == CORE_MUTEX_LOCKED ||
|
||||
initial_lock == CORE_MUTEX_UNLOCKED );
|
||||
*/
|
||||
|
||||
@@ -80,7 +80,7 @@ int _CORE_mutex_Seize_interrupt_trylock(
|
||||
CORE_mutex_Control *the_mutex,
|
||||
ISR_Level *level_p
|
||||
)
|
||||
{
|
||||
{
|
||||
Thread_Control *executing;
|
||||
ISR_Level level = *level_p;
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ CORE_mutex_Status _CORE_mutex_Surrender(
|
||||
* allowed when the mutex in quetion is FIFO or simple Priority
|
||||
* discipline. But Priority Ceiling or Priority Inheritance mutexes
|
||||
* must be released by the thread which acquired them.
|
||||
*/
|
||||
*/
|
||||
|
||||
if ( the_mutex->Attributes.only_owner_release ) {
|
||||
if ( !_Thread_Is_executing( holder ) )
|
||||
@@ -68,7 +68,7 @@ CORE_mutex_Status _CORE_mutex_Surrender(
|
||||
|
||||
/* XXX already unlocked -- not right status */
|
||||
|
||||
if ( !the_mutex->nest_count )
|
||||
if ( !the_mutex->nest_count )
|
||||
return CORE_MUTEX_STATUS_SUCCESSFUL;
|
||||
|
||||
the_mutex->nest_count--;
|
||||
@@ -100,7 +100,7 @@ CORE_mutex_Status _CORE_mutex_Surrender(
|
||||
|
||||
if ( _CORE_mutex_Is_inherit_priority( &the_mutex->Attributes ) ||
|
||||
_CORE_mutex_Is_priority_ceiling( &the_mutex->Attributes ) ) {
|
||||
if ( holder->resource_count == 0 &&
|
||||
if ( holder->resource_count == 0 &&
|
||||
holder->real_priority != holder->current_priority ) {
|
||||
_Thread_Change_priority( holder, holder->real_priority, TRUE );
|
||||
}
|
||||
@@ -117,7 +117,7 @@ CORE_mutex_Status _CORE_mutex_Surrender(
|
||||
|
||||
( *api_mutex_mp_support)( the_thread, id );
|
||||
|
||||
} else
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ Heap_Extend_status _Heap_Extend(
|
||||
|
||||
the_heap->final = new_final;
|
||||
|
||||
old_final->front_flag =
|
||||
old_final->front_flag =
|
||||
new_final->back_flag = _Heap_Build_flag( size, HEAP_BLOCK_USED );
|
||||
new_final->front_flag = HEAP_DUMMY_FLAG;
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
* the_heap - pointer to heap header
|
||||
* the_info - pointer for information to be returned
|
||||
*
|
||||
* Output parameters:
|
||||
* Output parameters:
|
||||
* *the_info - contains information about heap
|
||||
* return 0=success, otherwise heap is corrupt.
|
||||
*/
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
* This subprogram performs the initialization necessary for this handler.
|
||||
*/
|
||||
|
||||
void _MPCI_Handler_initialization(
|
||||
void _MPCI_Handler_initialization(
|
||||
MPCI_Control *users_mpci_table,
|
||||
uint32_t timeout_status
|
||||
)
|
||||
|
||||
@@ -38,7 +38,7 @@ Objects_Control *_Objects_Allocate(
|
||||
Objects_Information *information
|
||||
)
|
||||
{
|
||||
Objects_Control *the_object =
|
||||
Objects_Control *the_object =
|
||||
(Objects_Control *) _Chain_Get( &information->Inactive );
|
||||
|
||||
if ( information->auto_extend ) {
|
||||
|
||||
@@ -30,8 +30,8 @@
|
||||
*
|
||||
* DESCRIPTION:
|
||||
*
|
||||
* This function allocates the object control block
|
||||
* specified by the index from the inactive chain of
|
||||
* This function allocates the object control block
|
||||
* specified by the index from the inactive chain of
|
||||
* free object control blocks.
|
||||
*/
|
||||
|
||||
@@ -61,8 +61,8 @@ Objects_Control *_Objects_Allocate_by_index(
|
||||
);
|
||||
_Chain_Extract( &the_object->Node );
|
||||
|
||||
return the_object;
|
||||
}
|
||||
return the_object;
|
||||
}
|
||||
|
||||
/*
|
||||
* Autoextend will have to be thought out as it applies
|
||||
|
||||
@@ -41,6 +41,6 @@ void _Objects_Clear_name(
|
||||
uint32_t maximum = length / OBJECTS_NAME_ALIGNMENT;
|
||||
uint32_t *name_ptr = (uint32_t *) name;
|
||||
|
||||
for ( index=0 ; index < maximum ; index++ )
|
||||
for ( index=0 ; index < maximum ; index++ )
|
||||
*name_ptr++ = 0;
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ void _Objects_Extend_information(
|
||||
uint32_t *inactive_per_block;
|
||||
Objects_Control **local_table;
|
||||
uint32_t maximum;
|
||||
void *old_tables;
|
||||
void *old_tables;
|
||||
|
||||
/*
|
||||
* Growing the tables means allocating a new area, doing a copy and
|
||||
@@ -130,7 +130,7 @@ void _Objects_Extend_information(
|
||||
else {
|
||||
object_blocks = (void**)
|
||||
_Workspace_Allocate_or_fatal_error(
|
||||
block_count *
|
||||
block_count *
|
||||
(sizeof(void *) + sizeof(uint32_t ) + sizeof(Objects_Name *)) +
|
||||
((maximum + minimum_index) * sizeof(Objects_Control *))
|
||||
);
|
||||
@@ -209,7 +209,7 @@ void _Objects_Extend_information(
|
||||
information->local_table = local_table;
|
||||
information->maximum = maximum;
|
||||
information->maximum_id = _Objects_Build_id(
|
||||
information->the_api,
|
||||
information->the_api,
|
||||
information->the_class,
|
||||
_Objects_Local_node,
|
||||
information->maximum
|
||||
@@ -228,7 +228,7 @@ void _Objects_Extend_information(
|
||||
*/
|
||||
|
||||
if ( information->auto_extend ) {
|
||||
information->object_blocks[ block ] =
|
||||
information->object_blocks[ block ] =
|
||||
_Workspace_Allocate(
|
||||
(information->allocation_size * information->name_length) +
|
||||
(information->allocation_size * information->size)
|
||||
@@ -238,7 +238,7 @@ void _Objects_Extend_information(
|
||||
return;
|
||||
}
|
||||
else {
|
||||
information->object_blocks[ block ] =
|
||||
information->object_blocks[ block ] =
|
||||
_Workspace_Allocate_or_fatal_error(
|
||||
(information->allocation_size * information->name_length) +
|
||||
(information->allocation_size * information->size)
|
||||
@@ -271,7 +271,7 @@ void _Objects_Extend_information(
|
||||
while ( (the_object = (Objects_Control *) _Chain_Get( &Inactive ) ) != NULL ) {
|
||||
|
||||
the_object->id = _Objects_Build_id(
|
||||
information->the_api,
|
||||
information->the_api,
|
||||
information->the_class,
|
||||
_Objects_Local_node,
|
||||
index
|
||||
|
||||
@@ -46,7 +46,7 @@ void _Objects_Free(
|
||||
if ( information->auto_extend ) {
|
||||
uint32_t block;
|
||||
|
||||
block =
|
||||
block =
|
||||
_Objects_Get_index( the_object->id ) - _Objects_Get_index( information->minimum_id );
|
||||
block /= information->allocation_size;
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ Objects_Control *_Objects_Get(
|
||||
/* index = (uint16_t ) id; */
|
||||
#endif
|
||||
|
||||
if ( information->maximum >= index ) {
|
||||
if ( information->maximum >= index ) {
|
||||
_Thread_Disable_dispatch();
|
||||
if ( (the_object = information->local_table[ index ]) != NULL ) {
|
||||
*location = OBJECTS_LOCAL;
|
||||
|
||||
@@ -62,7 +62,7 @@ Objects_Control *_Objects_Get_no_protection(
|
||||
/* index = (uint16_t ) id; */
|
||||
#endif
|
||||
|
||||
if ( information->maximum >= index ) {
|
||||
if ( information->maximum >= index ) {
|
||||
if ( (the_object = information->local_table[ index ]) != NULL ) {
|
||||
*location = OBJECTS_LOCAL;
|
||||
return the_object;
|
||||
@@ -72,7 +72,7 @@ Objects_Control *_Objects_Get_no_protection(
|
||||
}
|
||||
*location = OBJECTS_ERROR;
|
||||
|
||||
/*
|
||||
/*
|
||||
* Not supported for multiprocessing
|
||||
*/
|
||||
#if 0 && defined(RTEMS_MULTIPROCESSING)
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
* size - size of this object's control block
|
||||
* is_string - TRUE if names for this object are strings
|
||||
* maximum_name_length - maximum length of each object's name
|
||||
* When multiprocessing is configured,
|
||||
* When multiprocessing is configured,
|
||||
* supports_global - TRUE if this is a global object class
|
||||
* extract_callout - pointer to threadq extract callout if MP
|
||||
*
|
||||
@@ -66,8 +66,8 @@ void _Objects_Initialize_information(
|
||||
#endif
|
||||
|
||||
information->the_api = the_api;
|
||||
information->the_class = the_class;
|
||||
information->is_string = is_string;
|
||||
information->the_class = the_class;
|
||||
information->is_string = is_string;
|
||||
|
||||
information->local_table = 0;
|
||||
information->name_table = 0;
|
||||
@@ -124,7 +124,7 @@ void _Objects_Initialize_information(
|
||||
name_length = maximum_name_length;
|
||||
|
||||
if ( name_length & (OBJECTS_NAME_ALIGNMENT-1) )
|
||||
name_length = (name_length + OBJECTS_NAME_ALIGNMENT) &
|
||||
name_length = (name_length + OBJECTS_NAME_ALIGNMENT) &
|
||||
~(OBJECTS_NAME_ALIGNMENT-1);
|
||||
|
||||
information->name_length = name_length;
|
||||
|
||||
@@ -65,13 +65,13 @@ void _Thread_Change_priority(
|
||||
|
||||
/*
|
||||
* Techically, the prepend should conditional on the thread lowering
|
||||
* its priority but that does allow cxd2004 of the acvc 2.0.1 to
|
||||
* its priority but that does allow cxd2004 of the acvc 2.0.1 to
|
||||
* pass with rtems 4.0.0. This should change when gnat redoes its
|
||||
* priority scheme.
|
||||
*/
|
||||
/*
|
||||
if ( prepend_it &&
|
||||
_Thread_Is_executing( the_thread ) &&
|
||||
_Thread_Is_executing( the_thread ) &&
|
||||
new_priority >= the_thread->current_priority )
|
||||
prepend_it = TRUE;
|
||||
*/
|
||||
|
||||
@@ -58,7 +58,7 @@ void _Thread_Clear_state(
|
||||
current_state = the_thread->current_state;
|
||||
|
||||
if ( current_state & state ) {
|
||||
current_state =
|
||||
current_state =
|
||||
the_thread->current_state = _States_Clear( state, current_state );
|
||||
|
||||
if ( _States_Is_ready( current_state ) ) {
|
||||
|
||||
@@ -41,11 +41,11 @@
|
||||
* NOTE:
|
||||
*
|
||||
* On entry, it is assumed all interrupts are blocked and that this
|
||||
* routine needs to set the initial isr level. This may or may not
|
||||
* routine needs to set the initial isr level. This may or may not
|
||||
* actually be needed by the context switch routine and as a result
|
||||
* interrupts may already be at there proper level. Either way,
|
||||
* setting the initial isr level properly here is safe.
|
||||
*
|
||||
*
|
||||
* Currently this is only really needed for the posix port,
|
||||
* ref: _Context_Switch in unix/cpu.c
|
||||
*
|
||||
@@ -120,7 +120,7 @@ void _Thread_Handler( void )
|
||||
|
||||
switch ( executing->Start.prototype ) {
|
||||
case THREAD_START_NUMERIC:
|
||||
executing->Wait.return_argument =
|
||||
executing->Wait.return_argument =
|
||||
(*(Thread_Entry_numeric) executing->Start.entry_point)(
|
||||
executing->Start.numeric_argument
|
||||
);
|
||||
@@ -132,15 +132,15 @@ void _Thread_Handler( void )
|
||||
);
|
||||
break;
|
||||
case THREAD_START_BOTH_POINTER_FIRST:
|
||||
executing->Wait.return_argument =
|
||||
(*(Thread_Entry_both_pointer_first) executing->Start.entry_point)(
|
||||
executing->Wait.return_argument =
|
||||
(*(Thread_Entry_both_pointer_first) executing->Start.entry_point)(
|
||||
executing->Start.pointer_argument,
|
||||
executing->Start.numeric_argument
|
||||
);
|
||||
break;
|
||||
case THREAD_START_BOTH_NUMERIC_FIRST:
|
||||
executing->Wait.return_argument =
|
||||
(*(Thread_Entry_both_numeric_first) executing->Start.entry_point)(
|
||||
executing->Wait.return_argument =
|
||||
(*(Thread_Entry_both_numeric_first) executing->Start.entry_point)(
|
||||
executing->Start.numeric_argument,
|
||||
executing->Start.pointer_argument
|
||||
);
|
||||
@@ -150,7 +150,7 @@ void _Thread_Handler( void )
|
||||
/*
|
||||
* In the switch above, the return code from the user thread body
|
||||
* was placed in return_argument. This assumed that if it returned
|
||||
* anything (which is not supporting in all APIs), then it would be
|
||||
* anything (which is not supporting in all APIs), then it would be
|
||||
* able to fit in a (void *).
|
||||
*/
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ boolean _Thread_Initialize(
|
||||
|
||||
actual_stack_size = _Thread_Stack_Allocate( the_thread, actual_stack_size );
|
||||
|
||||
if ( !actual_stack_size )
|
||||
if ( !actual_stack_size )
|
||||
return FALSE; /* stack allocation failed */
|
||||
|
||||
stack = the_thread->Start.stack;
|
||||
@@ -139,7 +139,7 @@ boolean _Thread_Initialize(
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
} else
|
||||
} else
|
||||
extensions_area = NULL;
|
||||
|
||||
the_thread->extensions = (void **) extensions_area;
|
||||
|
||||
@@ -67,7 +67,7 @@ Thread_Control *_Thread_queue_Dequeue_fifo(
|
||||
#endif
|
||||
|
||||
return the_thread;
|
||||
}
|
||||
}
|
||||
|
||||
switch ( the_thread_queue->sync_state ) {
|
||||
case THREAD_QUEUE_SYNCHRONIZED:
|
||||
|
||||
@@ -54,14 +54,14 @@ void _Thread_queue_Enqueue_fifo (
|
||||
the_thread_queue->sync_state = THREAD_QUEUE_SYNCHRONIZED;
|
||||
|
||||
switch ( sync_state ) {
|
||||
case THREAD_QUEUE_SYNCHRONIZED:
|
||||
case THREAD_QUEUE_SYNCHRONIZED:
|
||||
/*
|
||||
* This should never happen. It indicates that someone did not
|
||||
* enter a thread queue critical section.
|
||||
*/
|
||||
break;
|
||||
|
||||
case THREAD_QUEUE_NOTHING_HAPPENED:
|
||||
case THREAD_QUEUE_NOTHING_HAPPENED:
|
||||
_Chain_Append_unprotected(
|
||||
&the_thread_queue->Queues.Fifo,
|
||||
&the_thread->Object.Node
|
||||
@@ -69,7 +69,7 @@ void _Thread_queue_Enqueue_fifo (
|
||||
_ISR_Enable( level );
|
||||
return;
|
||||
|
||||
case THREAD_QUEUE_TIMEOUT:
|
||||
case THREAD_QUEUE_TIMEOUT:
|
||||
the_thread->Wait.return_code = the_thread->Wait.queue->timeout_status;
|
||||
_ISR_Enable( level );
|
||||
break;
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
* _Thread_queue_Extract_with_proxy
|
||||
*
|
||||
* This routine extracts the_thread from the_thread_queue
|
||||
* and ensures that if there is a proxy for this task on
|
||||
* and ensures that if there is a proxy for this task on
|
||||
* another node, it is also dealt with.
|
||||
*
|
||||
* XXX
|
||||
@@ -48,7 +48,7 @@ boolean _Thread_queue_Extract_with_proxy(
|
||||
|
||||
the_information = _Objects_Get_information( the_thread->Wait.id );
|
||||
|
||||
proxy_extract_callout =
|
||||
proxy_extract_callout =
|
||||
(Objects_Thread_queue_Extract_callout) the_information->extract;
|
||||
|
||||
if ( proxy_extract_callout )
|
||||
|
||||
@@ -67,7 +67,7 @@ void _Thread_Ready(
|
||||
|
||||
heir = _Thread_Heir;
|
||||
|
||||
if ( !_Thread_Is_executing( heir ) && _Thread_Executing->is_preemptible )
|
||||
if ( !_Thread_Is_executing( heir ) && _Thread_Executing->is_preemptible )
|
||||
_Context_Switch_necessary = TRUE;
|
||||
|
||||
_ISR_Enable( level );
|
||||
|
||||
@@ -70,7 +70,7 @@ void _Thread_Resume(
|
||||
|
||||
current_state = the_thread->current_state;
|
||||
if ( current_state & STATES_SUSPENDED ) {
|
||||
current_state =
|
||||
current_state =
|
||||
the_thread->current_state = _States_Clear(STATES_SUSPENDED, current_state);
|
||||
|
||||
if ( _States_Is_ready( current_state ) ) {
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
* timeslice counter is reset. The heir THREAD will be updated if the
|
||||
* running is also the currently the heir.
|
||||
*
|
||||
* Input parameters:
|
||||
* Input parameters:
|
||||
* Priority of the queue we wish to modify.
|
||||
*
|
||||
* Output parameters: NONE
|
||||
@@ -48,7 +48,7 @@
|
||||
* select heir
|
||||
*/
|
||||
|
||||
void _Thread_Rotate_Ready_Queue(
|
||||
void _Thread_Rotate_Ready_Queue(
|
||||
Priority_Control priority
|
||||
)
|
||||
{
|
||||
|
||||
@@ -63,8 +63,8 @@ uint32_t _Thread_Stack_Allocate(
|
||||
* returned the workspace allocate must be directly stored in the
|
||||
* stack control block because it is later used in the free sequence.
|
||||
*
|
||||
* Thus it is the responsibility of the CPU dependent code to
|
||||
* get and keep the stack adjust factor, the stack alignment, and
|
||||
* Thus it is the responsibility of the CPU dependent code to
|
||||
* get and keep the stack adjust factor, the stack alignment, and
|
||||
* the context initialization sequence in sync.
|
||||
*/
|
||||
|
||||
|
||||
@@ -50,8 +50,8 @@
|
||||
void _Thread_Start_multitasking( void )
|
||||
{
|
||||
/*
|
||||
* The system is now multitasking and completely initialized.
|
||||
* This system thread now either "goes away" in a single processor
|
||||
* The system is now multitasking and completely initialized.
|
||||
* This system thread now either "goes away" in a single processor
|
||||
* system or "turns into" the server thread in an MP system.
|
||||
*/
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ void _Thread_Tickle_timeslice( void )
|
||||
executing->ticks_executed++;
|
||||
|
||||
/*
|
||||
* If the thread is not preemptible or is not ready, then
|
||||
* If the thread is not preemptible or is not ready, then
|
||||
* just return.
|
||||
*/
|
||||
|
||||
|
||||
@@ -74,11 +74,11 @@ restart:
|
||||
delta_interval -= after->delta_interval;
|
||||
|
||||
/*
|
||||
* If you experience problems comment out the _ISR_Flash line.
|
||||
* If you experience problems comment out the _ISR_Flash line.
|
||||
* 3.2.0 was the first release with this critical section redesigned.
|
||||
* Under certain circumstances, the PREVIOUS critical section algorithm
|
||||
* used around this flash point allowed interrupts to execute
|
||||
* which violated the design assumptions. The critical section
|
||||
* which violated the design assumptions. The critical section
|
||||
* mechanism used here WAS redesigned to address this.
|
||||
*/
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ Watchdog_States _Watchdog_Remove(
|
||||
case WATCHDOG_INACTIVE:
|
||||
break;
|
||||
|
||||
case WATCHDOG_BEING_INSERTED:
|
||||
case WATCHDOG_BEING_INSERTED:
|
||||
|
||||
/*
|
||||
* It is not actually on the chain so just change the state and
|
||||
|
||||
@@ -39,7 +39,7 @@ void _Watchdog_Tickle(
|
||||
|
||||
/*
|
||||
* See the comment in watchdoginsert.c and watchdogadjust.c
|
||||
* about why it's safe not to declare header a pointer to
|
||||
* about why it's safe not to declare header a pointer to
|
||||
* volatile data - till, 2003/7
|
||||
*/
|
||||
|
||||
@@ -69,7 +69,7 @@ void _Watchdog_Tickle(
|
||||
case WATCHDOG_INACTIVE:
|
||||
/*
|
||||
* This state indicates that the watchdog is not on any chain.
|
||||
* Thus, it is NOT on a chain being tickled. This case should
|
||||
* Thus, it is NOT on a chain being tickled. This case should
|
||||
* never occur.
|
||||
*/
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user