diff options
author | Tushar Krishna <Tushar.Krishna@amd.com> | 2009-08-07 13:59:40 -0700 |
---|---|---|
committer | Tushar Krishna <Tushar.Krishna@amd.com> | 2009-08-07 13:59:40 -0700 |
commit | b952eb19c18bffcd4519bac19f79979fab477ff6 (patch) | |
tree | bc9e34bce37742b5b85b76ff8be93a14b7c4e688 /src/mem/ruby/network/Network.cc | |
parent | bd7af84d5ecd037fe4ab1a66948c51d23eb0eb0d (diff) | |
download | gem5-b952eb19c18bffcd4519bac19f79979fab477ff6.tar.xz |
bug fix for data_msg_size in network/Network.cc
Diffstat (limited to 'src/mem/ruby/network/Network.cc')
-rw-r--r-- | src/mem/ruby/network/Network.cc | 39 |
1 files changed, 37 insertions, 2 deletions
diff --git a/src/mem/ruby/network/Network.cc b/src/mem/ruby/network/Network.cc index cb3507471..984ec7ca8 100644 --- a/src/mem/ruby/network/Network.cc +++ b/src/mem/ruby/network/Network.cc @@ -26,9 +26,44 @@ void Network::init(const vector<string> & argv) m_adaptive_routing = (argv[i+1]=="true"); else if (argv[i] == "link_latency") m_link_latency = atoi(argv[i+1].c_str()); - + else if (argv[i] == "control_msg_size") + m_control_msg_size = atoi(argv[i+1].c_str()); } + + m_data_msg_size = RubySystem::getBlockSizeBytes() + m_control_msg_size; + assert(m_virtual_networks != 0); assert(m_topology_ptr != NULL); -// printf ("HERE \n"); +} + +int Network::MessageSizeType_to_int(MessageSizeType size_type) +{ + switch(size_type) { + case MessageSizeType_Undefined: + ERROR_MSG("Can't convert Undefined MessageSizeType to integer"); + break; + case MessageSizeType_Control: + case MessageSizeType_Request_Control: + case MessageSizeType_Reissue_Control: + case MessageSizeType_Response_Control: + case MessageSizeType_Writeback_Control: + case MessageSizeType_Forwarded_Control: + case MessageSizeType_Invalidate_Control: + case MessageSizeType_Unblock_Control: + case MessageSizeType_Persistent_Control: + case MessageSizeType_Completion_Control: + return m_control_msg_size; + break; + case MessageSizeType_Data: + case MessageSizeType_Response_Data: + case MessageSizeType_ResponseLocal_Data: + case MessageSizeType_ResponseL2hit_Data: + case MessageSizeType_Writeback_Data: + return m_data_msg_size; + break; + default: + ERROR_MSG("Invalid range for type MessageSizeType"); + break; + } + return 0; } |