diff options
author | Joe Gross <joe.gross@amd.com> | 2015-09-16 13:10:42 -0400 |
---|---|---|
committer | Joe Gross <joe.gross@amd.com> | 2015-09-16 13:10:42 -0400 |
commit | 950e431d8766a8cf3b897965c1726e6d2576c6dc (patch) | |
tree | 9fdb60b695b97e276aaec84ed4024a943ddd851e /src/mem/ruby/network/garnet/BaseGarnetNetwork.cc | |
parent | c5058c0c007532c4c2dda5f8e24a92cccc010508 (diff) | |
download | gem5-950e431d8766a8cf3b897965c1726e6d2576c6dc.tar.xz |
ruby: fix message buffer init order
The recent changes to make MessageBuffers SimObjects required them to be
initialized in a particular order, which could break some protocols. Fix this
by calling initNetQueues on the external nodes of each external link in the
constructor of Network.
This patch also refactors the duplicated code for checking network allocation
and setting net queues (which are called by initNetQueues) from the simple and
garnet networks to be in Network.
Diffstat (limited to 'src/mem/ruby/network/garnet/BaseGarnetNetwork.cc')
-rw-r--r-- | src/mem/ruby/network/garnet/BaseGarnetNetwork.cc | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/src/mem/ruby/network/garnet/BaseGarnetNetwork.cc b/src/mem/ruby/network/garnet/BaseGarnetNetwork.cc index ed4679c63..1213073e9 100644 --- a/src/mem/ruby/network/garnet/BaseGarnetNetwork.cc +++ b/src/mem/ruby/network/garnet/BaseGarnetNetwork.cc @@ -67,28 +67,6 @@ BaseGarnetNetwork::init() } void -BaseGarnetNetwork::setToNetQueue(NodeID id, bool ordered, int network_num, - string vnet_type, MessageBuffer *b) -{ - checkNetworkAllocation(id, ordered, network_num, vnet_type); - while (m_toNetQueues[id].size() <= network_num) { - m_toNetQueues[id].push_back(nullptr); - } - m_toNetQueues[id][network_num] = b; -} - -void -BaseGarnetNetwork::setFromNetQueue(NodeID id, bool ordered, int network_num, - string vnet_type, MessageBuffer *b) -{ - checkNetworkAllocation(id, ordered, network_num, vnet_type); - while (m_fromNetQueues[id].size() <= network_num) { - m_fromNetQueues[id].push_back(nullptr); - } - m_fromNetQueues[id][network_num] = b; -} - -void BaseGarnetNetwork::regStats() { m_flits_received |