RTEMS: cpukit/include/rtems/score/threadmp.h Source File

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
threadmp.h
Go to the documentation of this file.
1
12/*
13 * COPYRIGHT (c) 1989-2009.
14 * On-Line Applications Research Corporation (OAR).
15 *
16 * The license and distribution terms for this file may be
17 * found in the file LICENSE in this distribution or at
18 * http://www.rtems.org/license/LICENSE.
19 */
20
21#ifndef _RTEMS_SCORE_THREADMP_H
22#define _RTEMS_SCORE_THREADMP_H
23
24#ifndef _RTEMS_SCORE_THREADIMPL_H
25# error "Never use <rtems/score/threadmp.h> directly; include <rtems/score/threadimpl.h> instead."
26#endif
27
28#include <rtems/score/mpciimpl.h>
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
56void _Thread_MP_Handler_initialization (
57 uint32_t maximum_proxies
58);
59
72 Thread_Control *_Thread_MP_Allocate_proxy (
73 States_Control the_state
74);
75
87 Thread_Control *_Thread_MP_Find_proxy (
88 Objects_Id the_id
89);
90
98#define _Thread_MP_Is_receive(_the_thread) \
99 ((_the_thread) == _MPCI_Receive_server_tcb)
100
105void _Thread_MP_Free_proxy( Thread_Control *the_thread );
106
117 RTEMS_INLINE_ROUTINE bool _Thread_MP_Is_remote( Objects_Id id )
118{
119 Objects_Information *information;
120
121 information = _Thread_Get_objects_information( id );
122 if ( information == NULL ) {
123 return false;
124 }
125
126 return _Objects_MP_Is_remote( id, information );
127}
128
131#ifdef __cplusplus
132}
133#endif
134
135#endif
136/* end of include file */
NULL
#define NULL
Requests a GPIO pin group configuration.
Definition: bestcomm_api.h:77
RTEMS_INLINE_ROUTINE
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:66
_Objects_MP_Is_remote
bool _Objects_MP_Is_remote(Objects_Id id, const Objects_Information *information)
Checks if the object identifier is in the global object identifier cache of the specified object info...
Definition: objectmp.c:338
Objects_Id
uint32_t Objects_Id
Definition: object.h:80
States_Control
uint32_t States_Control
Definition: states.h:46
_Thread_MP_Is_remote
RTEMS_INLINE_ROUTINE bool _Thread_MP_Is_remote(Objects_Id id)
Checks if the thread MP with this object id is remote.
Definition: threadmp.h:117
_Thread_MP_Handler_initialization
void _Thread_MP_Handler_initialization(uint32_t maximum_proxies)
Initialize MP thread handler.
Definition: threadmp.c:43
_Thread_MP_Allocate_proxy
Thread_Control * _Thread_MP_Allocate_proxy(States_Control the_state)
Allocates a MP proxy control block from the inactive chain of free proxy control blocks.
Definition: threadmp.c:122
_Thread_MP_Find_proxy
Thread_Control * _Thread_MP_Find_proxy(Objects_Id the_id)
Removes the MP proxy control block for the specified id from the active chain of proxy control blocks...
Definition: threadmp.c:181
_Thread_MP_Free_proxy
void _Thread_MP_Free_proxy(Thread_Control *the_thread)
Trees a proxy control block to the inactive chain of free proxy control blocks.
Definition: threadmp.c:203
_Thread_Get_objects_information
RTEMS_INLINE_ROUTINE Objects_Information * _Thread_Get_objects_information(Objects_Id id)
Gets object information for the object id.
Definition: threadimpl.h:800
mpciimpl.h
MPCI Layer Implementation.
Objects_Information
The information structure used to manage each API class of objects.
Definition: objectdata.h:176
_Thread_Control
Definition: thread.h:732