summaryrefslogtreecommitdiff
path: root/src/mem/ruby/slicc_interface/AbstractController.hh
diff options
context:
space:
mode:
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;