/** * \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); }
/** * \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); }