summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/include
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-05-20 13:24:11 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-05-20 16:16:59 +0200
commit0a00b2b5f6d115829f05bbac260ba7c9bc47c9e4 (patch)
treebc25332e7b0f84f2130cfe9163824d76c8037bed /cpukit/rtems/include
parentmpci: Delete unused region support (diff)
downloadrtems-0a00b2b5f6d115829f05bbac260ba7c9bc47c9e4.tar.bz2
rtems: Remove location from _Partition_Get()
Use _Objects_Get_local() for _Partition_Get() to get rid of the location parameter. Move remote object handling to partition MPCI support.
Diffstat (limited to '')
-rw-r--r--cpukit/rtems/include/rtems/rtems/partimpl.h10
-rw-r--r--cpukit/rtems/include/rtems/rtems/partmp.h25
2 files changed, 21 insertions, 14 deletions
diff --git a/cpukit/rtems/include/rtems/rtems/partimpl.h b/cpukit/rtems/include/rtems/rtems/partimpl.h
index 0ce7622a7a..ea791559d1 100644
--- a/cpukit/rtems/include/rtems/rtems/partimpl.h
+++ b/cpukit/rtems/include/rtems/rtems/partimpl.h
@@ -181,17 +181,15 @@ RTEMS_INLINE_ROUTINE void _Partition_Free (
_Objects_Free( &_Partition_Information, &the_partition->Object );
}
-RTEMS_INLINE_ROUTINE Partition_Control *_Partition_Get (
+RTEMS_INLINE_ROUTINE Partition_Control *_Partition_Get(
Objects_Id id,
- Objects_Locations *location,
ISR_lock_Context *lock_context
)
{
- return (Partition_Control *) _Objects_Get_isr_disable(
- &_Partition_Information,
+ return (Partition_Control *) _Objects_Get_local(
id,
- location,
- lock_context
+ lock_context,
+ &_Partition_Information
);
}
diff --git a/cpukit/rtems/include/rtems/rtems/partmp.h b/cpukit/rtems/include/rtems/rtems/partmp.h
index e9612e7aba..b9eaa08b8c 100644
--- a/cpukit/rtems/include/rtems/rtems/partmp.h
+++ b/cpukit/rtems/include/rtems/rtems/partmp.h
@@ -64,6 +64,11 @@ typedef struct {
Objects_Id proxy_id;
} Partition_MP_Packet;
+RTEMS_INLINE_ROUTINE bool _Partition_MP_Is_remote( Objects_Id id )
+{
+ return _Objects_MP_Is_remote( id, &_Partition_Information );
+}
+
/**
* @brief Partition_MP_Send_process_packet
*
@@ -80,15 +85,19 @@ void _Partition_MP_Send_process_packet (
);
/**
- * @brief Partition_MP_Send_request_packet
- *
- * This routine performs a remote procedure call so that a
- * directive operation can be initiated on another node.
+ * @brief Issues a remote rtems_partition_get_buffer() request.
+ */
+rtems_status_code _Partition_MP_Get_buffer(
+ rtems_id id,
+ void **buffer
+);
+
+/**
+ * @brief Issues a remote rtems_partition_return_buffer() request.
*/
-rtems_status_code _Partition_MP_Send_request_packet (
- Partition_MP_Remote_operations operation,
- Objects_Id partition_id,
- void *buffer
+rtems_status_code _Partition_MP_Return_buffer(
+ rtems_id id,
+ void *buffer
);
/**