ruby: move range change send from RubyPort to derived classes.
authorTony Gutierrez <anthony.gutierrez@amd.com>
Thu, 18 Feb 2016 15:50:16 +0000 (10:50 -0500)
committerTony Gutierrez <anthony.gutierrez@amd.com>
Thu, 18 Feb 2016 15:50:16 +0000 (10:50 -0500)
src/mem/ruby/system/DMASequencer.cc
src/mem/ruby/system/RubyPort.cc
src/mem/ruby/system/RubyPort.hh

index fc2433a6c8e0eac08431dae05a767097f39748c0..6e708a927fdf2655a4bf91070e12ef806aec765b 100644 (file)
@@ -46,6 +46,9 @@ DMASequencer::init()
     RubyPort::init();
     m_is_busy = false;
     m_data_block_mask = ~ (~0 << RubySystem::getBlockSizeBits());
+
+    for (const auto &s_port : slave_ports)
+        s_port->sendRangeChange();
 }
 
 RequestStatus
index d4fc9e3fe880525fcc020c36dfceda29f8c4c3f5..bf4002126d524d67215d2429f4dc8ccd7953c0db 100644 (file)
@@ -84,9 +84,6 @@ RubyPort::init()
 {
     assert(m_controller != NULL);
     m_mandatory_q_ptr = m_controller->getMandatoryQueue();
-
-    for (const auto &s_port : slave_ports)
-        s_port->sendRangeChange();
 }
 
 BaseMasterPort &
index 6bd92b6546ba110ddabf93948546b41d923b90b3..6c991c162806b5c08123e7db4f551480556c2c03 100644 (file)
@@ -192,6 +192,8 @@ class RubyPort : public MemObject
     bool m_usingRubyTester;
     System* system;
 
+    std::vector<MemSlavePort *> slave_ports;
+
   private:
     bool onRetryList(MemSlavePort * port)
     {
@@ -212,7 +214,6 @@ class RubyPort : public MemObject
 
     /** Vector of M5 Ports attached to this Ruby port. */
     typedef std::vector<MemSlavePort *>::iterator CpuPortIter;
-    std::vector<MemSlavePort *> slave_ports;
     std::vector<PioMasterPort *> master_ports;
 
     //