summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/rtems/src')
-rw-r--r--cpukit/rtems/src/event.c6
-rw-r--r--cpukit/rtems/src/mp.c2
-rw-r--r--cpukit/rtems/src/msg.c12
-rw-r--r--cpukit/rtems/src/msgmp.c2
-rw-r--r--cpukit/rtems/src/part.c2
-rw-r--r--cpukit/rtems/src/partmp.c2
-rw-r--r--cpukit/rtems/src/region.c8
-rw-r--r--cpukit/rtems/src/regionmp.c2
-rw-r--r--cpukit/rtems/src/sem.c21
-rw-r--r--cpukit/rtems/src/semmp.c2
-rw-r--r--cpukit/rtems/src/signal.c21
-rw-r--r--cpukit/rtems/src/taskmp.c2
-rw-r--r--cpukit/rtems/src/tasks.c214
13 files changed, 157 insertions, 139 deletions
diff --git a/cpukit/rtems/src/event.c b/cpukit/rtems/src/event.c
index 4390d3ee08..ec14c2aaa9 100644
--- a/cpukit/rtems/src/event.c
+++ b/cpukit/rtems/src/event.c
@@ -56,7 +56,7 @@ rtems_status_code rtems_event_send(
)
);
case OBJECTS_LOCAL:
- _Event_sets_Post( event_in, &the_thread->pending_events );
+ _Event_sets_Post( event_in, &the_thread->RTEMS_API->pending_events );
_Event_Surrender( the_thread );
_Thread_Enable_dispatch();
return( RTEMS_SUCCESSFUL );
@@ -91,13 +91,13 @@ rtems_status_code rtems_event_receive(
)
{
if ( _Event_sets_Is_empty( event_in ) ) {
- *event_out = _Thread_Executing->pending_events;
+ *event_out = _Thread_Executing->RTEMS_API->pending_events;
return( RTEMS_SUCCESSFUL );
}
_Thread_Disable_dispatch();
_Event_Seize( event_in, option_set, ticks );
_Thread_Enable_dispatch();
- *event_out = _Thread_Executing->events_out;
+ *event_out = _Thread_Executing->RTEMS_API->events_out;
return( _Thread_Executing->Wait.return_code );
}
diff --git a/cpukit/rtems/src/mp.c b/cpukit/rtems/src/mp.c
index ffa53d1da7..c555ffb3f1 100644
--- a/cpukit/rtems/src/mp.c
+++ b/cpukit/rtems/src/mp.c
@@ -58,7 +58,7 @@ void rtems_multiprocessing_announce ( void )
_Thread_Disable_dispatch();
_Event_sets_Post(
RTEMS_EVENT_0,
- &_Internal_threads_System_initialization_thread->pending_events
+ &_Internal_threads_System_initialization_thread->RTEMS_API->pending_events
);
_Event_Surrender( _Internal_threads_System_initialization_thread );
_Thread_Enable_dispatch();
diff --git a/cpukit/rtems/src/msg.c b/cpukit/rtems/src/msg.c
index 6dfd26a8f0..ff4683f880 100644
--- a/cpukit/rtems/src/msg.c
+++ b/cpukit/rtems/src/msg.c
@@ -181,7 +181,7 @@ rtems_status_code rtems_message_queue_create(
}
if ( _Attributes_Is_global( attribute_set ) &&
- !( _Objects_MP_Open( &_Message_queue_Information, name,
+ !( _Objects_MP_Allocate_and_open( &_Message_queue_Information, name,
the_message_queue->Object.id, FALSE ) ) ) {
_Message_queue_Free( the_message_queue );
_Thread_Enable_dispatch();
@@ -195,8 +195,14 @@ rtems_status_code rtems_message_queue_create(
_Chain_Initialize_empty( &the_message_queue->Pending_messages );
- _Thread_queue_Initialize( &the_message_queue->Wait_queue, attribute_set,
- STATES_WAITING_FOR_MESSAGE );
+ _Thread_queue_Initialize(
+ &the_message_queue->Wait_queue,
+ OBJECTS_RTEMS_MESSAGE_QUEUES,
+ _Attributes_Is_priority( attribute_set ) ?
+ THREAD_QUEUE_DISCIPLINE_PRIORITY : THREAD_QUEUE_DISCIPLINE_FIFO,
+ STATES_WAITING_FOR_MESSAGE,
+ _Message_queue_MP_Send_extract_proxy
+ );
_Objects_Open(
&_Message_queue_Information,
diff --git a/cpukit/rtems/src/msgmp.c b/cpukit/rtems/src/msgmp.c
index 37ce2c9453..48e572c43b 100644
--- a/cpukit/rtems/src/msgmp.c
+++ b/cpukit/rtems/src/msgmp.c
@@ -259,7 +259,7 @@ void _Message_queue_MP_Process_packet (
case MESSAGE_QUEUE_MP_ANNOUNCE_CREATE:
- ignored = _Objects_MP_Open(
+ ignored = _Objects_MP_Allocate_and_open(
&_Message_queue_Information,
the_packet->name,
the_packet->Prefix.id,
diff --git a/cpukit/rtems/src/part.c b/cpukit/rtems/src/part.c
index a7e4308a13..3d21eed416 100644
--- a/cpukit/rtems/src/part.c
+++ b/cpukit/rtems/src/part.c
@@ -107,7 +107,7 @@ rtems_status_code rtems_partition_create(
}
if ( _Attributes_Is_global( attribute_set ) &&
- !( _Objects_MP_Open( &_Partition_Information, name,
+ !( _Objects_MP_Allocate_and_open( &_Partition_Information, name,
the_partition->Object.id, FALSE ) ) ) {
_Partition_Free( the_partition );
_Thread_Enable_dispatch();
diff --git a/cpukit/rtems/src/partmp.c b/cpukit/rtems/src/partmp.c
index 074165777b..0097844183 100644
--- a/cpukit/rtems/src/partmp.c
+++ b/cpukit/rtems/src/partmp.c
@@ -184,7 +184,7 @@ void _Partition_MP_Process_packet (
case PARTITION_MP_ANNOUNCE_CREATE:
- ignored = _Objects_MP_Open(
+ ignored = _Objects_MP_Allocate_and_open(
&_Partition_Information,
the_packet->name,
the_packet->Prefix.id,
diff --git a/cpukit/rtems/src/region.c b/cpukit/rtems/src/region.c
index b54493eec7..25aca9cda7 100644
--- a/cpukit/rtems/src/region.c
+++ b/cpukit/rtems/src/region.c
@@ -113,7 +113,13 @@ rtems_status_code rtems_region_create(
the_region->number_of_used_blocks = 0;
_Thread_queue_Initialize(
- &the_region->Wait_queue, attribute_set, STATES_WAITING_FOR_SEGMENT );
+ &the_region->Wait_queue,
+ OBJECTS_RTEMS_REGIONS,
+ _Attributes_Is_priority( attribute_set ) ?
+ THREAD_QUEUE_DISCIPLINE_PRIORITY : THREAD_QUEUE_DISCIPLINE_FIFO,
+ STATES_WAITING_FOR_SEGMENT,
+ _Region_MP_Send_extract_proxy
+ );
_Objects_Open( &_Region_Information, &the_region->Object, &name );
diff --git a/cpukit/rtems/src/regionmp.c b/cpukit/rtems/src/regionmp.c
index 07de556acc..b460e554fe 100644
--- a/cpukit/rtems/src/regionmp.c
+++ b/cpukit/rtems/src/regionmp.c
@@ -190,7 +190,7 @@ void _Region_MP_Process_packet (
case REGION_MP_ANNOUNCE_CREATE:
- ignored = _Objects_MP_Open(
+ ignored = _Objects_MP_Allocate_and_open(
&_Region_Information,
the_packet->name,
the_packet->Prefix.id,
diff --git a/cpukit/rtems/src/sem.c b/cpukit/rtems/src/sem.c
index d810c205ee..9e87550c31 100644
--- a/cpukit/rtems/src/sem.c
+++ b/cpukit/rtems/src/sem.c
@@ -87,10 +87,11 @@ void _Semaphore_Manager_initialization(
*/
rtems_status_code rtems_semaphore_create(
- rtems_name name,
- unsigned32 count,
- rtems_attribute attribute_set,
- Objects_Id *id
+ rtems_name name,
+ unsigned32 count,
+ rtems_attribute attribute_set,
+ rtems_task_priority priority_ceiling,
+ Objects_Id *id
)
{
register Semaphore_Control *the_semaphore;
@@ -127,7 +128,7 @@ rtems_status_code rtems_semaphore_create(
}
if ( _Attributes_Is_global( attribute_set ) &&
- !( _Objects_MP_Open( &_Semaphore_Information, name,
+ !( _Objects_MP_Allocate_and_open( &_Semaphore_Information, name,
the_semaphore->Object.id, FALSE ) ) ) {
_Semaphore_Free( the_semaphore );
_Thread_Enable_dispatch();
@@ -148,8 +149,14 @@ rtems_status_code rtems_semaphore_create(
the_semaphore->holder_id = 0;
}
- _Thread_queue_Initialize( &the_semaphore->Wait_queue,
- attribute_set, STATES_WAITING_FOR_SEMAPHORE );
+ _Thread_queue_Initialize(
+ &the_semaphore->Wait_queue,
+ OBJECTS_RTEMS_SEMAPHORES,
+ _Attributes_Is_priority( attribute_set ) ?
+ THREAD_QUEUE_DISCIPLINE_PRIORITY : THREAD_QUEUE_DISCIPLINE_FIFO,
+ STATES_WAITING_FOR_SEMAPHORE,
+ _Semaphore_MP_Send_extract_proxy
+ );
_Objects_Open( &_Semaphore_Information, &the_semaphore->Object, &name );
diff --git a/cpukit/rtems/src/semmp.c b/cpukit/rtems/src/semmp.c
index 3be9fafb5f..03ca51a228 100644
--- a/cpukit/rtems/src/semmp.c
+++ b/cpukit/rtems/src/semmp.c
@@ -187,7 +187,7 @@ void _Semaphore_MP_Process_packet (
case SEMAPHORE_MP_ANNOUNCE_CREATE:
- ignored = _Objects_MP_Open(
+ ignored = _Objects_MP_Allocate_and_open(
&_Semaphore_Information,
the_packet->name,
the_packet->Prefix.id,
diff --git a/cpukit/rtems/src/signal.c b/cpukit/rtems/src/signal.c
index 411df5d86c..8a300d2969 100644
--- a/cpukit/rtems/src/signal.c
+++ b/cpukit/rtems/src/signal.c
@@ -37,22 +37,23 @@
*/
rtems_status_code rtems_signal_catch(
- rtems_asr_entry handler,
- rtems_mode mode_set
+ rtems_asr_entry asr_handler,
+ rtems_mode mode_set
)
{
Thread_Control *executing;
+/* XXX normalize mode */
executing = _Thread_Executing;
_Thread_Disable_dispatch(); /* cannot reschedule while */
/* the thread is inconsistent */
- if ( ! _ASR_Is_null_handler( handler ) ) {
- executing->Signal.mode_set = mode_set;
- executing->Signal.handler = handler;
+ if ( !_ASR_Is_null_handler( asr_handler ) ) {
+ executing->RTEMS_API->Signal.mode_set = mode_set;
+ executing->RTEMS_API->Signal.handler = asr_handler;
}
else
- _ASR_Initialize( &executing->Signal );
+ _ASR_Initialize( &executing->RTEMS_API->Signal );
_Thread_Enable_dispatch();
return( RTEMS_SUCCESSFUL );
}
@@ -91,11 +92,13 @@ rtems_status_code rtems_signal_send(
signal_set
);
case OBJECTS_LOCAL:
- if ( ! _ASR_Is_null_handler( the_thread->Signal.handler ) ) {
+ if ( ! _ASR_Is_null_handler( the_thread->RTEMS_API->Signal.handler ) ) {
if ( _Modes_Is_asr_disabled( the_thread->current_modes ) )
- _ASR_Post_signals( signal_set, &the_thread->Signal.signals_pending );
+ _ASR_Post_signals(
+ signal_set, &the_thread->RTEMS_API->Signal.signals_pending );
else {
- _ASR_Post_signals( signal_set, &the_thread->Signal.signals_posted );
+ _ASR_Post_signals(
+ signal_set, &the_thread->RTEMS_API->Signal.signals_posted );
if ( _ISR_Is_in_progress() && _Thread_Is_executing( the_thread ) )
_ISR_Signals_to_thread_executing = TRUE;
}
diff --git a/cpukit/rtems/src/taskmp.c b/cpukit/rtems/src/taskmp.c
index 003c543c5a..2b7fb214c6 100644
--- a/cpukit/rtems/src/taskmp.c
+++ b/cpukit/rtems/src/taskmp.c
@@ -193,7 +193,7 @@ void _RTEMS_tasks_MP_Process_packet (
case RTEMS_TASKS_MP_ANNOUNCE_CREATE:
- ignored = _Objects_MP_Open(
+ ignored = _Objects_MP_Allocate_and_open(
&_RTEMS_tasks_Information,
the_packet->name,
the_packet->Prefix.id,
diff --git a/cpukit/rtems/src/tasks.c b/cpukit/rtems/src/tasks.c
index 5574a6633e..62bc8c1995 100644
--- a/cpukit/rtems/src/tasks.c
+++ b/cpukit/rtems/src/tasks.c
@@ -86,27 +86,35 @@ rtems_status_code rtems_task_create(
)
{
register Thread_Control *the_thread;
- unsigned32 actual_stack_size;
- unsigned32 memory_needed;
- void *memory;
+ Objects_MP_Control *the_global_object = NULL;
+ boolean is_fp;
+ boolean is_global;
rtems_attribute the_attribute_set;
+ Priority_Control core_priority;
+
if ( !rtems_is_name_valid( name ) )
return ( RTEMS_INVALID_NAME );
+ /*
+ * Core Thread Initialize insures we get the minimum amount of
+ * stack space.
+ */
+
#if 0
if ( !_Stack_Is_enough( stack_size ) )
return( RTEMS_INVALID_SIZE );
#endif
- if ( !_Stack_Is_enough( stack_size ) )
- actual_stack_size = RTEMS_MINIMUM_STACK_SIZE;
- else
- actual_stack_size = stack_size;
+ /*
+ * Validate the RTEMS API priority and convert it to the core priority range.
+ */
if ( !_Priority_Is_valid( initial_priority ) )
return( RTEMS_INVALID_PRIORITY );
+ core_priority = _RTEMS_Tasks_Priority_to_Core( initial_priority );
+
/*
* Fix the attribute set to match the attributes which
* this processor (1) requires and (2) is able to support.
@@ -120,11 +128,40 @@ rtems_status_code rtems_task_create(
the_attribute_set =
_Attributes_Clear( the_attribute_set, ATTRIBUTES_NOT_SUPPORTED );
- if ( _Attributes_Is_global( the_attribute_set ) &&
- !_Configuration_Is_multiprocessing() )
- return( RTEMS_MP_NOT_CONFIGURED );
+ if ( _Attributes_Is_floating_point( the_attribute_set ) )
+ is_fp = TRUE;
+ else
+ is_fp = FALSE;
+
+ if ( _Attributes_Is_global( the_attribute_set ) ) {
+
+ is_global = TRUE;
+
+ if ( !_Configuration_Is_multiprocessing() )
+ return( RTEMS_MP_NOT_CONFIGURED );
- _Thread_Disable_dispatch(); /* to prevent deletion */
+ } else
+ is_global = FALSE;
+
+ /*
+ * Make sure system is MP if this task is global
+ */
+
+ /*
+ * Disable dispatch for protection
+ */
+
+ _Thread_Disable_dispatch();
+
+ /*
+ * Allocate the thread control block and -- if the task is global --
+ * allocate a global object control block.
+ *
+ * NOTE: This routine does not use the combined allocate and open
+ * global object routine because this results in a lack of
+ * control over when memory is allocated and can be freed in
+ * the event of an error.
+ */
the_thread = _RTEMS_tasks_Allocate();
@@ -133,71 +170,71 @@ rtems_status_code rtems_task_create(
return( RTEMS_TOO_MANY );
}
- actual_stack_size = _Stack_Adjust_size( actual_stack_size );
- memory_needed = actual_stack_size;
+ if ( is_global ) {
+ the_global_object = _Objects_MP_Allocate_global_object();
- if ( _Attributes_Is_floating_point( the_attribute_set ) )
- memory_needed += CONTEXT_FP_SIZE;
+ if ( _Objects_MP_Is_null_global_object( the_global_object ) ) {
+ _RTEMS_tasks_Free( the_thread );
+ _Thread_Enable_dispatch();
+ return( RTEMS_TOO_MANY );
+ }
+ }
- memory = _Workspace_Allocate( memory_needed );
+#if 0
+ /*
+ * Allocate and initialize the RTEMS API specific information
+ */
+
+ the_thread->RTEMS_API = _Workspace_Allocate( sizeof( RTEMS_API_Control ) );
- if ( !memory ) {
+ if ( !the_thread->RTEMS_API ) {
_RTEMS_tasks_Free( the_thread );
+ if ( is_global )
+ _Objects_MP_Free_global_object( the_global_object );
_Thread_Enable_dispatch();
return( RTEMS_UNSATISFIED );
}
+ the_thread->RTEMS_API->pending_events = EVENT_SETS_NONE_PENDING;
+ _ASR_Initialize( &the_thread->RTEMS_API->Signal );
+#endif
+
/*
- * Stack is put in the lower address regions of the allocated memory.
- * The optional floating point context area goes into the higher part
- * of the allocated memory.
+ * Initialize the core thread for this task.
*/
- _Stack_Initialize(
- &the_thread->Start.Initial_stack, memory, actual_stack_size );
-
- if ( _Attributes_Is_floating_point( the_attribute_set ) )
- the_thread->fp_context = _Context_Fp_start( memory, actual_stack_size );
- else
- the_thread->fp_context = NULL;
-
- the_thread->Start.fp_context = the_thread->fp_context;
+/* XXX normalize mode */
- if ( _Attributes_Is_global( the_attribute_set ) &&
- !( _Objects_MP_Open( &_RTEMS_tasks_Information, name,
- the_thread->Object.id, FALSE ) ) ) {
+ if ( !_Thread_Initialize( &_RTEMS_tasks_Information, the_thread,
+ NULL, stack_size, is_fp, core_priority, initial_modes, &name ) ) {
+ if ( is_global )
+ _Objects_MP_Free_global_object( the_global_object );
_RTEMS_tasks_Free( the_thread );
- (void) _Workspace_Free( memory );
_Thread_Enable_dispatch();
- return( RTEMS_TOO_MANY );
+ return( RTEMS_UNSATISFIED );
}
- the_thread->attribute_set = the_attribute_set;
- the_thread->current_state = STATES_DORMANT;
- the_thread->current_modes = initial_modes;
- the_thread->pending_events = EVENT_SETS_NONE_PENDING;
- the_thread->resource_count = 0;
- the_thread->real_priority = initial_priority;
- the_thread->Start.initial_priority = initial_priority;
- the_thread->Start.initial_modes = initial_modes;
-
- _Thread_Set_priority( the_thread, initial_priority );
-
- _ASR_Initialize( &the_thread->Signal );
+ *id = the_thread->Object.id;
- _Objects_Open( &_RTEMS_tasks_Information, &the_thread->Object, &name );
+ if ( is_global ) {
- *id = the_thread->Object.id;
+ the_thread->RTEMS_API->is_global = TRUE;
- _User_extensions_Task_create( the_thread );
+ _Objects_MP_Open(
+ &_RTEMS_tasks_Information,
+ the_global_object,
+ name,
+ the_thread->Object.id
+ );
- if ( _Attributes_Is_global( the_attribute_set ) )
_RTEMS_tasks_MP_Send_process_packet(
RTEMS_TASKS_MP_ANNOUNCE_CREATE,
the_thread->Object.id,
name
);
+ }
+
_Thread_Enable_dispatch();
return( RTEMS_SUCCESSFUL );
}
@@ -252,9 +289,9 @@ rtems_status_code rtems_task_ident(
*/
rtems_status_code rtems_task_start(
- Objects_Id id,
+ rtems_id id,
rtems_task_entry entry_point,
- unsigned32 argument
+ unsigned32 argument
)
{
register Thread_Control *the_thread;
@@ -271,17 +308,8 @@ rtems_status_code rtems_task_start(
_Thread_Dispatch();
return( RTEMS_ILLEGAL_ON_REMOTE_OBJECT );
case OBJECTS_LOCAL:
- if ( _States_Is_dormant( the_thread->current_state ) ) {
-
- the_thread->Start.entry_point = entry_point;
- the_thread->Start.initial_argument = argument;
-
- _Thread_Load_environment( the_thread );
-
- _Thread_Ready( the_thread );
-
- _User_extensions_Task_start( the_thread );
-
+ if ( _Thread_Start(
+ the_thread, THREAD_START_NUMERIC, entry_point, NULL, argument ) ) {
_Thread_Enable_dispatch();
return( RTEMS_SUCCESSFUL );
}
@@ -316,7 +344,7 @@ rtems_status_code rtems_task_restart(
)
{
register Thread_Control *the_thread;
- Objects_Locations location;
+ Objects_Locations location;
the_thread = _Thread_Get( id, &location );
switch ( location ) {
@@ -326,32 +354,11 @@ rtems_status_code rtems_task_restart(
_Thread_Dispatch();
return( RTEMS_ILLEGAL_ON_REMOTE_OBJECT );
case OBJECTS_LOCAL:
- if ( !_States_Is_dormant( the_thread->current_state ) ) {
-
- _Thread_Set_transient( the_thread );
- _ASR_Initialize( &the_thread->Signal );
- the_thread->pending_events = EVENT_SETS_NONE_PENDING;
- the_thread->resource_count = 0;
- the_thread->current_modes = the_thread->Start.initial_modes;
- the_thread->Start.initial_argument = argument;
-
- _RTEMS_tasks_Cancel_wait( the_thread );
-
- if ( the_thread->current_priority !=
- the_thread->Start.initial_priority ) {
- the_thread->real_priority = the_thread->Start.initial_priority;
- _Thread_Set_priority( the_thread,
- the_thread->Start.initial_priority );
- }
-
- _Thread_Load_environment( the_thread );
+ if ( _Thread_Restart( the_thread, NULL, argument ) ) {
- _Thread_Ready( the_thread );
-
- _User_extensions_Task_restart( the_thread );
-
- if ( _Thread_Is_executing ( the_thread ) )
- _Thread_Restart_self();
+ /* XXX until these are in an API extension they are too late. */
+ _ASR_Initialize( &the_thread->RTEMS_API->Signal );
+ the_thread->RTEMS_API->pending_events = EVENT_SETS_NONE_PENDING;
_Thread_Enable_dispatch();
return( RTEMS_SUCCESSFUL );
@@ -396,25 +403,14 @@ rtems_status_code rtems_task_delete(
_Thread_Dispatch();
return( RTEMS_ILLEGAL_ON_REMOTE_OBJECT );
case OBJECTS_LOCAL:
- _Objects_Close( &_RTEMS_tasks_Information, &the_thread->Object );
-
- _Thread_Set_state( the_thread, STATES_TRANSIENT );
-
- _User_extensions_Task_delete( the_thread );
-
-#if ( CPU_USE_DEFERRED_FP_SWITCH == TRUE )
- if ( _Thread_Is_allocated_fp( the_thread ) )
- _Thread_Deallocate_fp();
-#endif
- the_thread->fp_context = NULL;
-
- _RTEMS_tasks_Cancel_wait( the_thread );
+ _Thread_Close( &_RTEMS_tasks_Information, the_thread );
- (void) _Workspace_Free( the_thread->Start.Initial_stack.area );
+ /* XXX */
+ (void) _Workspace_Free( the_thread->RTEMS_API );
_RTEMS_tasks_Free( the_thread );
- if ( _Attributes_Is_global( the_thread->attribute_set ) ) {
+ if ( _Attributes_Is_global( the_thread->RTEMS_API->is_global ) ) {
_Objects_MP_Close( &_RTEMS_tasks_Information, the_thread->Object.id );
@@ -551,7 +547,7 @@ rtems_status_code rtems_task_resume(
*/
rtems_status_code rtems_task_set_priority(
- Objects_Id id,
+ Objects_Id id,
rtems_task_priority new_priority,
rtems_task_priority *old_priority
)
@@ -662,7 +658,7 @@ rtems_status_code rtems_task_get_note(
if ( _Objects_Are_ids_equal( id, OBJECTS_ID_OF_SELF ) ||
_Objects_Are_ids_equal( id, _Thread_Executing->Object.id ) ) {
- *note = _Thread_Executing->Notepads[ notepad ];
+ *note = _Thread_Executing->RTEMS_API->Notepads[ notepad ];
return( RTEMS_SUCCESSFUL );
}
@@ -681,7 +677,7 @@ rtems_status_code rtems_task_get_note(
0 /* Not used */
);
case OBJECTS_LOCAL:
- *note= the_thread->Notepads[ notepad ];
+ *note= the_thread->RTEMS_API->Notepads[ notepad ];
_Thread_Enable_dispatch();
return( RTEMS_SUCCESSFUL );
}
@@ -729,7 +725,7 @@ rtems_status_code rtems_task_set_note(
if ( _Objects_Are_ids_equal( id, OBJECTS_ID_OF_SELF ) ||
_Objects_Are_ids_equal( id, _Thread_Executing->Object.id ) ) {
- _Thread_Executing->Notepads[ notepad ] = note;
+ _Thread_Executing->RTEMS_API->Notepads[ notepad ] = note;
return( RTEMS_SUCCESSFUL );
}
@@ -747,7 +743,7 @@ rtems_status_code rtems_task_set_note(
);
case OBJECTS_LOCAL:
- the_thread->Notepads[ notepad ] = note;
+ the_thread->RTEMS_API->Notepads[ notepad ] = note;
_Thread_Enable_dispatch();
return( RTEMS_SUCCESSFUL );
}