build/X86_MESI_Two_Level/mem/protocol/L2Cache_Controller.cc
/** \brief Record L1 GetS for load response */
\brief Record L1 GetS for load response
\ brief Record L1 GetS for load response
void
L2Cache_Controller::ss_recordGetSL1ID(L2Cache_TBE*& m_tbe_ptr, L2Cache_Entry*& m_cache_entry_ptr, Addr addr, int core_id)
{
    DPRINTF(RubyGenerated, "executing ss_recordGetSL1ID\n");
    try {
       {
    const RequestMsg* in_msg_ptr M5_VAR_USED;
    in_msg_ptr = dynamic_cast<const RequestMsg *>(((*m_L1RequestToL2Cache_ptr)).peek());
    if (in_msg_ptr == NULL) {
        throw RejectException();
    }
#ifndef NDEBUG
if (!((m_tbe_ptr != NULL))) {
    panic("Runtime Error at MESI_Two_Level-L2cache.sm:729: %s.\n", "assert failure");
}
#endif
;
(((*m_tbe_ptr).m_L1_GetS_IDs).add(((*in_msg_ptr)).m_Requestor));
}
    } catch (const RejectException & e) {
       fatal("Error in action L2Cache:ss_recordGetSL1ID: "
             "executed a peek statement with the wrong message "
             "type specified. ");
    }
}
void L2Cache_Controller :: ss_recordGetSL1ID ( L2Cache_TBE * & m_tbe_ptr , L2Cache_Entry * & m_cache_entry_ptr , Addr addr , int core_id ) { DPRINTF ( RubyGenerated , " \n " ) ; try { { const RequestMsg * in_msg_ptr M5_VAR_USED ; in_msg_ptr = dynamic_cast < const RequestMsg * > ( ( ( * m_L1RequestToL2Cache_ptr ) ) . peek ( ) ) ; if ( in_msg_ptr == NULL ) { throw RejectException ( ) ; } #ifndef NDEBUG if ( ! ( ( m_tbe_ptr != NULL ) ) ) { panic ( " \n " , " " ) ; } #endif ; ( ( ( * m_tbe_ptr ) . m_L1_GetS_IDs ) . add ( ( ( * in_msg_ptr ) ) . m_Requestor ) ) ; } } catch ( const RejectException & e ) { fatal ( " " " " " " ) ; } }
\brief Record L1 GetS for load response
\ brief Record L1 GetS for load response
//fanyao added core_id // 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.