From: Nilay Vaish Date: Sat, 10 Nov 2012 23:18:00 +0000 (-0600) Subject: ruby: bug in functionalRead, revert recent changes X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1492ab066da6f683178638137bd395960d07c004;p=gem5.git 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. --- 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; }