diff options
author | Nilay Vaish <nilay@cs.wisc.edu> | 2013-01-14 10:05:10 -0600 |
---|---|---|
committer | Nilay Vaish <nilay@cs.wisc.edu> | 2013-01-14 10:05:10 -0600 |
commit | 20129837186a5eb28a1b1e2f8dcd441934af68a6 (patch) | |
tree | ab8daf1e72d64ec8ffadc6bdce4129c891dd3c8d /src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh | |
parent | cf232de4615f0fe9435d6e92a1d6319c972a8c88 (diff) | |
download | gem5-20129837186a5eb28a1b1e2f8dcd441934af68a6.tar.xz |
Ruby: remove reference to g_system_ptr from class Message
This patch was initiated so as to remove reference to g_system_ptr,
the pointer to Ruby System that is used for getting the current time.
That simple change actual requires changing a lot many things in slicc and
garnet. All these changes are related to how time is handled.
In most of the places, g_system_ptr has been replaced by another clock
object. The changes have been done under the assumption that all the
components in the memory system are on the same clock frequency, but the
actual clocks might be distributed.
Diffstat (limited to 'src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh')
-rw-r--r-- | src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh b/src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh index 544c4271b..3ebf7c6e9 100644 --- a/src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh +++ b/src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh @@ -56,9 +56,9 @@ class InputUnit_d : public Consumer inline int get_inlink_id() { return m_in_link->get_id(); } inline void - set_vc_state(VC_state_type state, int vc) + set_vc_state(VC_state_type state, int vc, Time curTime) { - m_vcs[vc]->set_state(state); + m_vcs[vc]->set_state(state, curTime); } inline void @@ -86,9 +86,9 @@ class InputUnit_d : public Consumer } inline void - increment_credit(int in_vc, bool free_signal) + increment_credit(int in_vc, bool free_signal, Time curTime) { - flit_d *t_flit = new flit_d(in_vc, free_signal); + flit_d *t_flit = new flit_d(in_vc, free_signal, curTime); creditQueue->insert(t_flit); m_credit_link->scheduleEvent(1); } @@ -100,16 +100,16 @@ class InputUnit_d : public Consumer } inline void - updateRoute(int vc, int outport) + updateRoute(int vc, int outport, Time curTime) { m_vcs[vc]->set_outport(outport); - m_vcs[vc]->set_state(VC_AB_); + m_vcs[vc]->set_state(VC_AB_, curTime); } inline void - grant_vc(int in_vc, int out_vc) + grant_vc(int in_vc, int out_vc, Time curTime) { - m_vcs[in_vc]->grant_vc(out_vc); + m_vcs[in_vc]->grant_vc(out_vc, curTime); } inline flit_d* @@ -125,21 +125,22 @@ class InputUnit_d : public Consumer } inline bool - need_stage(int vc, VC_state_type state, flit_stage stage) + need_stage(int vc, VC_state_type state, flit_stage stage, Time curTime) { - return m_vcs[vc]->need_stage(state, stage); + return m_vcs[vc]->need_stage(state, stage, curTime); } inline bool - need_stage_nextcycle(int vc, VC_state_type state, flit_stage stage) + need_stage_nextcycle(int vc, VC_state_type state, flit_stage stage, + Time curTime) { - return m_vcs[vc]->need_stage_nextcycle(state, stage); + return m_vcs[vc]->need_stage_nextcycle(state, stage, curTime); } inline bool - isReady(int invc) + isReady(int invc, Time curTime) { - return m_vcs[invc]->isReady(); + return m_vcs[invc]->isReady(curTime); } inline int |