From: Joel Hestness Date: Mon, 7 Feb 2011 06:14:18 +0000 (-0800) Subject: Ruby: Update the Ruby request type names for LL/SC X-Git-Tag: stable_2012_02_02~589 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=16c1edebd0a5b75dffc9cf2a561fa19756660558;p=gem5.git Ruby: Update the Ruby request type names for LL/SC --- diff --git a/src/mem/ruby/libruby.cc b/src/mem/ruby/libruby.cc index 2b61ce96c..fe4cbcd52 100644 --- a/src/mem/ruby/libruby.cc +++ b/src/mem/ruby/libruby.cc @@ -50,10 +50,10 @@ RubyRequestType_to_string(const RubyRequestType& obj) return "LD"; case RubyRequestType_ST: return "ST"; - case RubyRequestType_Locked_Read: - return "Locked_Read"; - case RubyRequestType_Locked_Write: - return "Locked_Write"; + case RubyRequestType_Load_Linked: + return "Load_Linked"; + case RubyRequestType_Store_Conditional: + return "Store_Conditional"; case RubyRequestType_RMW_Read: return "RMW_Read"; case RubyRequestType_RMW_Write: @@ -75,9 +75,9 @@ string_to_RubyRequestType(string str) else if (str == "ST") return RubyRequestType_ST; else if (str == "Locked_Read") - return RubyRequestType_Locked_Read; + return RubyRequestType_Load_Linked; else if (str == "Locked_Write") - return RubyRequestType_Locked_Write; + return RubyRequestType_Store_Conditional; else if (str == "RMW_Read") return RubyRequestType_RMW_Read; else if (str == "RMW_Write") diff --git a/src/mem/ruby/libruby.hh b/src/mem/ruby/libruby.hh index ac29a377f..70b5bde20 100644 --- a/src/mem/ruby/libruby.hh +++ b/src/mem/ruby/libruby.hh @@ -40,8 +40,8 @@ enum RubyRequestType { RubyRequestType_IFETCH, RubyRequestType_LD, RubyRequestType_ST, - RubyRequestType_Locked_Read, - RubyRequestType_Locked_Write, + RubyRequestType_Load_Linked, + RubyRequestType_Store_Conditional, RubyRequestType_RMW_Read, RubyRequestType_RMW_Write, RubyRequestType_NUM diff --git a/src/mem/ruby/recorder/TraceRecord.cc b/src/mem/ruby/recorder/TraceRecord.cc index 7f1e96369..e8cff9459 100644 --- a/src/mem/ruby/recorder/TraceRecord.cc +++ b/src/mem/ruby/recorder/TraceRecord.cc @@ -45,9 +45,9 @@ TraceRecord::TraceRecord(Sequencer* _sequencer, const Address& data_addr, // Don't differentiate between store misses and atomic requests in // the trace - if (m_type == RubyRequestType_Locked_Read) { + if (m_type == RubyRequestType_Load_Linked) { m_type = RubyRequestType_ST; - } else if (m_type == RubyRequestType_Locked_Write) { + } else if (m_type == RubyRequestType_Store_Conditional) { m_type = RubyRequestType_ST; } } diff --git a/src/mem/ruby/system/DMASequencer.cc b/src/mem/ruby/system/DMASequencer.cc index 4d10a1e2f..f864c1018 100644 --- a/src/mem/ruby/system/DMASequencer.cc +++ b/src/mem/ruby/system/DMASequencer.cc @@ -66,8 +66,8 @@ DMASequencer::makeRequest(const RubyRequest &request) break; case RubyRequestType_NULL: case RubyRequestType_IFETCH: - case RubyRequestType_Locked_Read: - case RubyRequestType_Locked_Write: + case RubyRequestType_Load_Linked: + case RubyRequestType_Store_Conditional: case RubyRequestType_RMW_Read: case RubyRequestType_RMW_Write: case RubyRequestType_NUM: diff --git a/src/mem/ruby/system/RubyPort.cc b/src/mem/ruby/system/RubyPort.cc index b3225cdca..7dbc22e19 100644 --- a/src/mem/ruby/system/RubyPort.cc +++ b/src/mem/ruby/system/RubyPort.cc @@ -195,11 +195,11 @@ RubyPort::M5Port::recvTiming(PacketPtr pkt) if (pkt->isLLSC()) { if (pkt->isWrite()) { DPRINTF(MemoryAccess, "Issuing SC\n"); - type = RubyRequestType_Locked_Write; + type = RubyRequestType_Store_Conditional; } else { DPRINTF(MemoryAccess, "Issuing LL\n"); assert(pkt->isRead()); - type = RubyRequestType_Locked_Read; + type = RubyRequestType_Load_Linked; } } else { if (pkt->isRead()) { diff --git a/src/mem/ruby/system/Sequencer.cc b/src/mem/ruby/system/Sequencer.cc index a82bcd2af..66829ed45 100644 --- a/src/mem/ruby/system/Sequencer.cc +++ b/src/mem/ruby/system/Sequencer.cc @@ -231,8 +231,8 @@ Sequencer::insertRequest(SequencerRequest* request) if ((request->ruby_request.type == RubyRequestType_ST) || (request->ruby_request.type == RubyRequestType_RMW_Read) || (request->ruby_request.type == RubyRequestType_RMW_Write) || - (request->ruby_request.type == RubyRequestType_Locked_Read) || - (request->ruby_request.type == RubyRequestType_Locked_Write)) { + (request->ruby_request.type == RubyRequestType_Load_Linked) || + (request->ruby_request.type == RubyRequestType_Store_Conditional)) { pair r = m_writeRequestTable.insert(RequestTable::value_type(line_addr, 0)); bool success = r.second; @@ -290,8 +290,8 @@ Sequencer::removeRequest(SequencerRequest* srequest) if ((ruby_request.type == RubyRequestType_ST) || (ruby_request.type == RubyRequestType_RMW_Read) || (ruby_request.type == RubyRequestType_RMW_Write) || - (ruby_request.type == RubyRequestType_Locked_Read) || - (ruby_request.type == RubyRequestType_Locked_Write)) { + (ruby_request.type == RubyRequestType_Load_Linked) || + (ruby_request.type == RubyRequestType_Store_Conditional)) { m_writeRequestTable.erase(line_addr); } else { m_readRequestTable.erase(line_addr); @@ -309,7 +309,7 @@ Sequencer::handleLlsc(const Address& address, SequencerRequest* request) // longer locked. // bool success = true; - if (request->ruby_request.type == RubyRequestType_Locked_Write) { + if (request->ruby_request.type == RubyRequestType_Store_Conditional) { if (!m_dataCache_ptr->isLocked(address, m_version)) { // // For failed SC requests, indicate the failure to the cpu by @@ -328,7 +328,7 @@ Sequencer::handleLlsc(const Address& address, SequencerRequest* request) // Independent of success, all SC operations must clear the lock // m_dataCache_ptr->clearLocked(address); - } else if (request->ruby_request.type == RubyRequestType_Locked_Read) { + } else if (request->ruby_request.type == RubyRequestType_Load_Linked) { // // Note: To fully follow Alpha LLSC semantics, should the LL clear any // previously locked cache lines? @@ -378,8 +378,8 @@ Sequencer::writeCallback(const Address& address, assert((request->ruby_request.type == RubyRequestType_ST) || (request->ruby_request.type == RubyRequestType_RMW_Read) || (request->ruby_request.type == RubyRequestType_RMW_Write) || - (request->ruby_request.type == RubyRequestType_Locked_Read) || - (request->ruby_request.type == RubyRequestType_Locked_Write)); + (request->ruby_request.type == RubyRequestType_Load_Linked) || + (request->ruby_request.type == RubyRequestType_Store_Conditional)); // // For Alpha, properly handle LL, SC, and write requests with respect to @@ -501,7 +501,7 @@ Sequencer::hitCallback(SequencerRequest* srequest, if ((type == RubyRequestType_LD) || (type == RubyRequestType_IFETCH) || (type == RubyRequestType_RMW_Read) || - (type == RubyRequestType_Locked_Read)) { + (type == RubyRequestType_Load_Linked)) { memcpy(ruby_request.data, data.getData(request_address.getOffset(), ruby_request.len), @@ -614,8 +614,8 @@ Sequencer::issueRequest(const RubyRequest& request) case RubyRequestType_ST: ctype = CacheRequestType_ST; break; - case RubyRequestType_Locked_Read: - case RubyRequestType_Locked_Write: + case RubyRequestType_Load_Linked: + case RubyRequestType_Store_Conditional: ctype = CacheRequestType_ATOMIC; break; case RubyRequestType_RMW_Read: