SimpleLink.cc revision 6285
14826Ssaidi@eecs.umich.edu
24826Ssaidi@eecs.umich.edu#include "mem/protocol/MachineType.hh"
34826Ssaidi@eecs.umich.edu#include "mem/ruby/network/Network.hh"
44826Ssaidi@eecs.umich.edu
54826Ssaidi@eecs.umich.eduNetwork::Network(const string & name)
64826Ssaidi@eecs.umich.edu  :  m_name(name)
74826Ssaidi@eecs.umich.edu{
84826Ssaidi@eecs.umich.edu  m_virtual_networks = 0;
94826Ssaidi@eecs.umich.edu  m_topology_ptr = NULL;
104826Ssaidi@eecs.umich.edu}
114826Ssaidi@eecs.umich.edu
124826Ssaidi@eecs.umich.eduvoid Network::init(const vector<string> & argv)
134826Ssaidi@eecs.umich.edu{
144826Ssaidi@eecs.umich.edu  m_nodes = MachineType_base_number(MachineType_NUM); // Total nodes in network
154826Ssaidi@eecs.umich.edu
164826Ssaidi@eecs.umich.edu  for (size_t i=0; i<argv.size(); i+=2) {
174826Ssaidi@eecs.umich.edu   if (argv[i] == "number_of_virtual_networks")
184826Ssaidi@eecs.umich.edu     m_virtual_networks = atoi(argv[i+1].c_str());
194826Ssaidi@eecs.umich.edu   else if (argv[i] == "topology")
204826Ssaidi@eecs.umich.edu     m_topology_ptr = RubySystem::getTopology(argv[i+1]);
214826Ssaidi@eecs.umich.edu   else if (argv[i] == "buffer_size")
224826Ssaidi@eecs.umich.edu     m_buffer_size = atoi(argv[i+1].c_str());
234826Ssaidi@eecs.umich.edu   else if (argv[i] == "endpoint_bandwidth")
244826Ssaidi@eecs.umich.edu     m_endpoint_bandwidth = atoi(argv[i+1].c_str());
254826Ssaidi@eecs.umich.edu   else if (argv[i] == "adaptive_routing")
264826Ssaidi@eecs.umich.edu     m_adaptive_routing = (argv[i+1]=="true");
274826Ssaidi@eecs.umich.edu   else if (argv[i] == "link_latency")
284826Ssaidi@eecs.umich.edu     m_link_latency = atoi(argv[i+1].c_str());
294826Ssaidi@eecs.umich.edu
304826Ssaidi@eecs.umich.edu  }
314826Ssaidi@eecs.umich.edu  assert(m_virtual_networks != 0);
324826Ssaidi@eecs.umich.edu  assert(m_topology_ptr != NULL);
334826Ssaidi@eecs.umich.edu//  printf ("HERE \n");
344826Ssaidi@eecs.umich.edu}
354826Ssaidi@eecs.umich.edu