diff options
Diffstat (limited to 'src/mem/ruby')
-rw-r--r-- | src/mem/ruby/slicc_interface/AbstractController.hh | 1 | ||||
-rw-r--r-- | src/mem/ruby/system/Sequencer.cc | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/mem/ruby/slicc_interface/AbstractController.hh b/src/mem/ruby/slicc_interface/AbstractController.hh index 329730ffd..7da3d317a 100644 --- a/src/mem/ruby/slicc_interface/AbstractController.hh +++ b/src/mem/ruby/slicc_interface/AbstractController.hh @@ -22,6 +22,7 @@ public: virtual const string getName() const = 0; // return instance name virtual const MachineType getMachineType() const = 0; virtual void set_atomic(Address addr) = 0; + virtual void started_writes() = 0; virtual void clear_atomic() = 0; virtual void print(ostream & out) const = 0; diff --git a/src/mem/ruby/system/Sequencer.cc b/src/mem/ruby/system/Sequencer.cc index eb3430b7f..780c1128e 100644 --- a/src/mem/ruby/system/Sequencer.cc +++ b/src/mem/ruby/system/Sequencer.cc @@ -416,6 +416,9 @@ int64_t Sequencer::makeRequest(const RubyRequest & request) m_dataCache_ptr->clearLocked(line_address(Address(request.paddr))); } } + if (request.type == RubyRequestType_RMW_Write) { + m_controller->started_writes(); + } issueRequest(request); // TODO: issue hardware prefetches here |