From 62c528e633758302f30aa714838b51613f03f9e7 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 20 May 2016 14:59:30 +0200 Subject: rtems: _Semaphore_Get_interrupt_disable() Use _Objects_Get_local() for _Semaphore_Get_interrupt_disable() to get rid of the location parameter. Move remote object handling to semaphore MPCI support. --- cpukit/rtems/src/semmp.c | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) (limited to 'cpukit/rtems/src/semmp.c') diff --git a/cpukit/rtems/src/semmp.c b/cpukit/rtems/src/semmp.c index 7b9c39be33..7f7506cd5f 100644 --- a/cpukit/rtems/src/semmp.c +++ b/cpukit/rtems/src/semmp.c @@ -72,11 +72,11 @@ void _Semaphore_MP_Send_process_packet ( } } -rtems_status_code _Semaphore_MP_Send_request_packet ( - Semaphore_MP_Remote_operations operation, +static rtems_status_code _Semaphore_MP_Send_request_packet( Objects_Id semaphore_id, rtems_option option_set, - rtems_interval timeout + rtems_interval timeout, + Semaphore_MP_Remote_operations operation ) { Semaphore_MP_Packet *the_packet; @@ -120,6 +120,30 @@ rtems_status_code _Semaphore_MP_Send_request_packet ( return RTEMS_SUCCESSFUL; } +rtems_status_code _Semaphore_MP_Obtain( + rtems_id id, + rtems_option option_set, + rtems_interval timeout +) +{ + return _Semaphore_MP_Send_request_packet( + id, + option_set, + timeout, + SEMAPHORE_MP_OBTAIN_REQUEST + ); +} + +rtems_status_code _Semaphore_MP_Release( rtems_id id ) +{ + return _Semaphore_MP_Send_request_packet( + id, + 0, + MPCI_DEFAULT_TIMEOUT, + SEMAPHORE_MP_RELEASE_REQUEST + ); +} + static void _Semaphore_MP_Send_response_packet ( Semaphore_MP_Remote_operations operation, Objects_Id semaphore_id, -- cgit v1.2.3