diff options
author | Nilay Vaish <nilay@cs.wisc.edu> | 2012-10-02 14:35:45 -0500 |
---|---|---|
committer | Nilay Vaish <nilay@cs.wisc.edu> | 2012-10-02 14:35:45 -0500 |
commit | 4488379244cdf3c211e76dbf3b4278347f639039 (patch) | |
tree | d8ae21ee6a35e60c0856d91479e199126f4ba5ac /src/mem/ruby/network/simple/PerfectSwitch.hh | |
parent | b370f6a7b2fb9a4cd8e38b1db12845d401d3adf3 (diff) | |
download | gem5-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.hh')
-rw-r--r-- | src/mem/ruby/network/simple/PerfectSwitch.hh | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/mem/ruby/network/simple/PerfectSwitch.hh b/src/mem/ruby/network/simple/PerfectSwitch.hh index 65a52eb08..695c848bc 100644 --- a/src/mem/ruby/network/simple/PerfectSwitch.hh +++ b/src/mem/ruby/network/simple/PerfectSwitch.hh @@ -41,11 +41,11 @@ #include <vector> #include "mem/ruby/common/Consumer.hh" -#include "mem/ruby/common/Global.hh" class MessageBuffer; class NetDest; class SimpleNetwork; +class Switch; struct LinkOrder { @@ -56,12 +56,13 @@ struct LinkOrder class PerfectSwitch : public Consumer { public: - PerfectSwitch(SwitchID sid, SimpleNetwork* network_ptr); + PerfectSwitch(SwitchID sid, Switch *, uint32_t); ~PerfectSwitch(); std::string name() { return csprintf("PerfectSwitch-%i", m_switch_id); } + void init(SimpleNetwork *); void addInPort(const std::vector<MessageBuffer*>& in); void addOutPort(const std::vector<MessageBuffer*>& out, const NetDest& routing_table_entry); @@ -90,9 +91,11 @@ class PerfectSwitch : public Consumer std::vector<std::vector<MessageBuffer*> > m_out; std::vector<NetDest> m_routing_table; std::vector<LinkOrder> m_link_order; - int m_virtual_networks; + + uint32_t m_virtual_networks; int m_round_robin_start; int m_wakeups_wo_switch; + SimpleNetwork* m_network_ptr; std::vector<int> m_pending_message_count; }; |