[PATCH 09/11] score: Add _Thread_MP_Is_remote()
Sebastian Huber
sebastian.huber at embedded-brains.de
Tue May 3 12:49:45 UTC 2016
---
cpukit/score/include/rtems/score/threadimpl.h | 21 +++++++++++++++++++++
cpukit/score/include/rtems/score/threadmp.h | 11 +++++++++++
cpukit/score/src/threadget.c | 21 ---------------------
3 files changed, 32 insertions(+), 21 deletions(-)
diff --git a/cpukit/score/include/rtems/score/threadimpl.h b/cpukit/score/include/rtems/score/threadimpl.h
index b19a6dc..1fea4da6c 100644
--- a/cpukit/score/include/rtems/score/threadimpl.h
+++ b/cpukit/score/include/rtems/score/threadimpl.h
@@ -482,6 +482,27 @@ void _Thread_Set_priority(
bool prepend_it
);
+RTEMS_INLINE_ROUTINE Objects_Information *_Thread_Get_objects_information(
+ Objects_Id id
+)
+{
+ uint32_t the_api;
+
+ the_api = _Objects_Get_API( id );
+
+ if ( !_Objects_Is_api_valid( the_api ) ) {
+ return NULL;
+ }
+
+ /*
+ * Threads are always first class :)
+ *
+ * There is no need to validate the object class of the object identifier,
+ * since this will be done by the object get methods.
+ */
+ return _Objects_Information_table[ the_api ][ 1 ];
+}
+
/**
* @brief Maps thread Id to a TCB pointer.
*
diff --git a/cpukit/score/include/rtems/score/threadmp.h b/cpukit/score/include/rtems/score/threadmp.h
index 5dc5c7e..46add28 100644
--- a/cpukit/score/include/rtems/score/threadmp.h
+++ b/cpukit/score/include/rtems/score/threadmp.h
@@ -91,6 +91,17 @@ Thread_Control *_Thread_MP_Find_proxy (
*/
void _Thread_MP_Free_proxy( Thread_Control *the_thread );
+RTEMS_INLINE_ROUTINE bool _Thread_MP_Is_remote( Objects_Id id )
+{
+ Objects_Information *information;
+
+ information = _Thread_Get_objects_information( id );
+ if ( information == NULL ) {
+ return false;
+ }
+
+ return _Objects_MP_Is_remote( information, id ) == OBJECTS_REMOTE;
+}
/**@}*/
diff --git a/cpukit/score/src/threadget.c b/cpukit/score/src/threadget.c
index 24773fa..7e3963d 100644
--- a/cpukit/score/src/threadget.c
+++ b/cpukit/score/src/threadget.c
@@ -21,27 +21,6 @@
#include <rtems/score/threadimpl.h>
-static Objects_Information *_Thread_Get_objects_information(
- Objects_Id id
-)
-{
- uint32_t the_api;
-
- the_api = _Objects_Get_API( id );
-
- if ( !_Objects_Is_api_valid( the_api ) ) {
- return NULL;
- }
-
- /*
- * Threads are always first class :)
- *
- * There is no need to validate the object class of the object identifier,
- * since this will be done by the object get methods.
- */
- return _Objects_Information_table[ the_api ][ 1 ];
-}
-
Thread_Control *_Thread_Get(
Objects_Id id,
Objects_Locations *location
--
1.8.4.5
More information about the devel
mailing list