diff options
author | Nilay Vaish <nilay@cs.wisc.edu> | 2013-03-22 15:53:24 -0500 |
---|---|---|
committer | Nilay Vaish <nilay@cs.wisc.edu> | 2013-03-22 15:53:24 -0500 |
commit | 8573a69d8f7bf7b3f074e3e0ac64994801c551be (patch) | |
tree | 825b13a2bda66152fda68c5f463f627a4ba2c174 /src/mem/ruby/slicc_interface/AbstractController.hh | |
parent | eccc86e8095995d49326a9fffc3a1088b97b03fc (diff) | |
download | gem5-8573a69d8f7bf7b3f074e3e0ac64994801c551be.tar.xz |
ruby: move stall and wakeup functions to AbstractController
These functions are currently implemented in one of the files related to Slicc.
Since these are purely C++ functions, they are better suited to be in the base
class.
Diffstat (limited to 'src/mem/ruby/slicc_interface/AbstractController.hh')
-rw-r--r-- | src/mem/ruby/slicc_interface/AbstractController.hh | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mem/ruby/slicc_interface/AbstractController.hh b/src/mem/ruby/slicc_interface/AbstractController.hh index 81ef3c52b..e2471777b 100644 --- a/src/mem/ruby/slicc_interface/AbstractController.hh +++ b/src/mem/ruby/slicc_interface/AbstractController.hh @@ -33,6 +33,7 @@ #include <string> #include "mem/protocol/AccessPermission.hh" +#include "mem/ruby/buffers/MessageBuffer.hh" #include "mem/ruby/common/Address.hh" #include "mem/ruby/common/Consumer.hh" #include "mem/ruby/common/DataBlock.hh" @@ -44,7 +45,6 @@ #include "params/RubyController.hh" #include "sim/clocked_object.hh" -class MessageBuffer; class Network; class AbstractController : public ClockedObject, public Consumer @@ -116,6 +116,11 @@ class AbstractController : public ClockedObject, public Consumer virtual void getQueuesFromPeer(AbstractController *) { fatal("getQueuesFromPeer() should be called only if implemented!"); } + void stallBuffer(MessageBuffer* buf, Address addr); + void wakeUpBuffers(Address addr); + void wakeUpAllBuffers(Address addr); + void wakeUpAllBuffers(); + protected: int m_transitions_per_cycle; int m_buffer_size; |