summaryrefslogtreecommitdiff
path: root/src/mem/ruby/slicc_interface/AbstractController.hh
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2013-03-22 15:53:24 -0500
committerNilay Vaish <nilay@cs.wisc.edu>2013-03-22 15:53:24 -0500
commit8573a69d8f7bf7b3f074e3e0ac64994801c551be (patch)
tree825b13a2bda66152fda68c5f463f627a4ba2c174 /src/mem/ruby/slicc_interface/AbstractController.hh
parenteccc86e8095995d49326a9fffc3a1088b97b03fc (diff)
downloadgem5-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.hh7
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;