[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