summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2012-11-10 17:18:00 -0600
committerNilay Vaish <nilay@cs.wisc.edu>2012-11-10 17:18:00 -0600
commit1492ab066da6f683178638137bd395960d07c004 (patch)
tree63b6046caf2c6433d8d6e179633ac146aa14f967
parentc4b36901d08af0c67fca70943d780c2d3bbe3411 (diff)
downloadgem5-1492ab066da6f683178638137bd395960d07c004.tar.xz
ruby: bug in functionalRead, revert recent changes
Recent changes to functionalRead() in the memory system was not correct. The change allowed for returning data from the first message found in the buffers of the memory system. This is not correct since it is possible that a timing message has data from an older state of the block. The changes are being reverted.
-rw-r--r--src/mem/ruby/system/System.cc20
1 files changed, 0 insertions, 20 deletions
diff --git a/src/mem/ruby/system/System.cc b/src/mem/ruby/system/System.cc
index bbdcb3ebb..65bad07b3 100644
--- a/src/mem/ruby/system/System.cc
+++ b/src/mem/ruby/system/System.cc
@@ -495,26 +495,6 @@ RubySystem::functionalRead(PacketPtr pkt)
}
}
- // Since we are here, this means that none of the controllers hold this
- // address in a stable/base state. The function searches through all the
- // buffers that exist in different cache, directory and memory
- // controllers, and in the network components and reads the data portion
- // of the first message that holds address specified in the packet.
- for (unsigned int i = 0; i < num_controllers;++i) {
- if (m_abs_cntrl_vec[i]->functionalReadBuffers(pkt)) {
- return true;
- }
- }
-
- for (unsigned int i = 0; i < m_memory_controller_vec.size(); ++i) {
- if (m_memory_controller_vec[i]->functionalReadBuffers(pkt)) {
- return true;
- }
- }
-
- if (m_network_ptr->functionalRead(pkt)) {
- return true;
- }
return false;
}