build/X86_MESI_Two_Level/mem/protocol/Directory_Controller.cc
void
Directory_Controller::drp_sendDMAData(Directory_TBE*& m_tbe_ptr, Addr addr)
{
    DPRINTF(RubyGenerated, "executing drp_sendDMAData\n");
    {
    // Declare message
    const ResponseMsg* in_msg_ptr M5_VAR_USED;
    in_msg_ptr = dynamic_cast<const ResponseMsg *>(((*m_responseToDir_ptr)).peek());
    if (in_msg_ptr == NULL) {
        // If the cast fails, this is the wrong inport (wrong message type).
        // Throw an exception, and the caller will decide to either try a
        // different inport or punt.
        throw RejectException();
    }
{
    std::shared_ptr<ResponseMsg> out_msg = std::make_shared<ResponseMsg>(clockEdge());
    (*out_msg).m_addr = addr;
    (*out_msg).m_Type = CoherenceResponseType_DATA;
    (*out_msg).m_DataBlk = ((*in_msg_ptr)).m_DataBlk;
    (((*out_msg).m_Destination).add((map_Address_to_DMA(addr))));
    (*out_msg).m_MessageSize = MessageSizeType_Response_Data;
    ((*m_responseFromDir_ptr)).enqueue(out_msg, clockEdge(), cyclesToTicks(Cycles(m_to_mem_ctrl_latency)));
}
}

}
/** \brief Send Data to DMA controller from incoming PUTX */
\brief Send Data to DMA controller from incoming PUTX
\ brief Send Data to DMA controller from incoming PUTX
void
Directory_Controller::drp_sendDMAData(Directory_TBE*& m_tbe_ptr, Addr addr)
{
    DPRINTF(RubyGenerated, "executing drp_sendDMAData\n");
    {
    const ResponseMsg* in_msg_ptr M5_VAR_USED;
    in_msg_ptr = dynamic_cast<const ResponseMsg *>(((*m_responseToDir_ptr)).peek());
    if (in_msg_ptr == NULL) {
        throw RejectException();
    }
{
    std::shared_ptr<ResponseMsg> out_msg = std::make_shared<ResponseMsg>(clockEdge());
    (*out_msg).m_addr = addr;
    (*out_msg).m_Type = CoherenceResponseType_DATA;
    (*out_msg).m_DataBlk = ((*in_msg_ptr)).m_DataBlk;
    (((*out_msg).m_Destination).add((map_Address_to_DMA(addr))));
    (*out_msg).m_MessageSize = MessageSizeType_Response_Data;
    ((*m_responseFromDir_ptr)).enqueue(out_msg, clockEdge(), cyclesToTicks(Cycles(m_to_mem_ctrl_latency)));
}
}
}
void Directory_Controller :: drp_sendDMAData ( Directory_TBE * & m_tbe_ptr , Addr addr ) { DPRINTF ( RubyGenerated , " \n " ) ; { const ResponseMsg * in_msg_ptr M5_VAR_USED ; in_msg_ptr = dynamic_cast < const ResponseMsg * > ( ( ( * m_responseToDir_ptr ) ) . peek ( ) ) ; if ( in_msg_ptr == NULL ) { throw RejectException ( ) ; } { std :: shared_ptr < ResponseMsg > out_msg = std :: make_shared < ResponseMsg > ( clockEdge ( ) ) ; ( * out_msg ) . m_addr = addr ; ( * out_msg ) . m_Type = CoherenceResponseType_DATA ; ( * out_msg ) . m_DataBlk = ( ( * in_msg_ptr ) ) . m_DataBlk ; ( ( ( * out_msg ) . m_Destination ) . add ( ( map_Address_to_DMA ( addr ) ) ) ) ; ( * out_msg ) . m_MessageSize = MessageSizeType_Response_Data ; ( ( * m_responseFromDir_ptr ) ) . enqueue ( out_msg , clockEdge ( ) , cyclesToTicks ( Cycles ( m_to_mem_ctrl_latency ) ) ) ; } } }
\brief Send Data to DMA controller from incoming PUTX
\ brief Send Data to DMA controller from incoming PUTX
// Declare message // If the cast fails, this is the wrong inport (wrong message type). // Throw an exception, and the caller will decide to either try a // different inport or punt.