Example #1
0
/**
 * \brief Register the DCMF ARMCI Extention fence operation.
 *
 * \param[in]  connection_array Connection array
 *
 * \see DCMF_Control_register
 */
void ARMCIX_DCMF_Fence_register (ARMCIX_DCMF_Connection_t * connection_array)
{
    DCMF_CriticalSection_enter (0);

    DCMF_Send_Configuration_t send_configuration = {
        DCMF_DEFAULT_SEND_PROTOCOL,
        DCMF_DEFAULT_NETWORK,
        ARMCIX_DCMF_ReceiveFenceRequest,
        connection_array,
        NULL,
        NULL
    };
    DCMF_Send_register (&__fence_rts_protocol, &send_configuration);

    DCMF_Control_Configuration_t configuration = {
        DCMF_DEFAULT_CONTROL_PROTOCOL,
        DCMF_DEFAULT_NETWORK,
        ARMCIX_DCMF_ReceiveFenceAck,
        connection_array
    };
    DCMF_Control_register (&__fence_ack_protocol, &configuration);

    DCMF_CriticalSection_exit (0);
}
Example #2
0
/**
 * \brief Register the DCMF ARMCI Extention rmw operation.
 *
 * \see DCMF_Control_register
 * \see DCMF_Send_register
 */
void ARMCIX_DCMF_Rmw_register ()
{
  DCMF_CriticalSection_enter (0);

  DCMF_Send_Configuration_t request_configuration = {
    DCMF_DEFAULT_SEND_PROTOCOL,
    DCMF_DEFAULT_NETWORK,
    ARMCIX_DCMF_RecvRMWRequest,
    NULL,
    NULL,
    NULL
  };
  DCMF_Send_register (&__rmw_request_protocol, &request_configuration);

  DCMF_Control_Configuration_t response_configuration = {
    DCMF_DEFAULT_CONTROL_PROTOCOL,
    DCMF_DEFAULT_NETWORK,
    ARMCIX_DCMF_ReceiveRMWResponse,
    NULL
  };
  DCMF_Control_register (&__rmw_response_protocol, &response_configuration);

  DCMF_CriticalSection_exit (0);
}