summaryrefslogtreecommitdiff
path: root/src/mem/ruby/network/simple/PerfectSwitch.cc
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2012-10-02 14:35:45 -0500
committerNilay Vaish <nilay@cs.wisc.edu>2012-10-02 14:35:45 -0500
commit4488379244cdf3c211e76dbf3b4278347f639039 (patch)
treed8ae21ee6a35e60c0856d91479e199126f4ba5ac /src/mem/ruby/network/simple/PerfectSwitch.cc
parentb370f6a7b2fb9a4cd8e38b1db12845d401d3adf3 (diff)
downloadgem5-4488379244cdf3c211e76dbf3b4278347f639039.tar.xz
ruby: changes to simple network
This patch makes the Switch structure inherit from BasicRouter, as is done in two other networks.
Diffstat (limited to 'src/mem/ruby/network/simple/PerfectSwitch.cc')
-rw-r--r--src/mem/ruby/network/simple/PerfectSwitch.cc16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/mem/ruby/network/simple/PerfectSwitch.cc b/src/mem/ruby/network/simple/PerfectSwitch.cc
index 0ead3ac30..2c845683d 100644
--- a/src/mem/ruby/network/simple/PerfectSwitch.cc
+++ b/src/mem/ruby/network/simple/PerfectSwitch.cc
@@ -33,9 +33,8 @@
#include "mem/ruby/buffers/MessageBuffer.hh"
#include "mem/ruby/network/simple/PerfectSwitch.hh"
#include "mem/ruby/network/simple/SimpleNetwork.hh"
-#include "mem/ruby/profiler/Profiler.hh"
+#include "mem/ruby/network/simple/Switch.hh"
#include "mem/ruby/slicc_interface/NetworkMessage.hh"
-#include "mem/ruby/system/System.hh"
using namespace std;
@@ -48,14 +47,19 @@ operator<(const LinkOrder& l1, const LinkOrder& l2)
return (l1.m_value < l2.m_value);
}
-PerfectSwitch::PerfectSwitch(SwitchID sid, SimpleNetwork* network_ptr)
- : Consumer(network_ptr)
+PerfectSwitch::PerfectSwitch(SwitchID sid, Switch *sw, uint32_t virt_nets)
+ : Consumer(sw)
{
- m_virtual_networks = network_ptr->getNumberOfVirtualNetworks();
m_switch_id = sid;
m_round_robin_start = 0;
- m_network_ptr = network_ptr;
m_wakeups_wo_switch = 0;
+ m_virtual_networks = virt_nets;
+}
+
+void
+PerfectSwitch::init(SimpleNetwork *network_ptr)
+{
+ m_network_ptr = network_ptr;
for(int i = 0;i < m_virtual_networks;++i)
{