In RubySequencer::makeRequest (mem/ruby/system/Sequencer.hh::line 523), they are using two RubyRequestType, primary_type and secondary_type.
And I can't really understand why there need two types to make an event in ruby memory system not one. How they are converted into two events and what is the difference between primary_type and secondary_type? ////////////////////////////////////////////////////////code////////////////////////////////////////////////////////////////////////////////// RequestStatus Sequencer::makeRequest(PacketPtr pkt){ if (m_outstanding_count >= m_max_outstanding_requests) { return RequestStatus_BufferFull; } RubyRequestType primary_type = RubyRequestType_NULL; RubyRequestType secondary_type = RubyRequestType_NULL; if (pkt->isLLSC()) { if (pkt->isWrite()) { DPRINTF(RubySequencer, "Issuing SC\n"); primary_type = RubyRequestType_Store_Conditional; } else { DPRINTF(RubySequencer, "Issuing LL\n"); assert(pkt->isRead()); primary_type = RubyRequestType_Load_Linked;
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users