BasicLink.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); 326330Sgblack@eecs.umich.edu assert(m_topology_ptr != NULL); 334826Ssaidi@eecs.umich.edu// printf ("HERE \n"); 344826Ssaidi@eecs.umich.edu} 354826Ssaidi@eecs.umich.edu