summaryrefslogtreecommitdiff
path: root/src/mem/ruby/system/AbstractMemOrCache.hh
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2009-05-11 19:44:34 -0400
committerKorey Sewell <ksewell@umich.edu>2009-05-11 19:44:34 -0400
commita63cc2ff5fbba0e42a7aa39bfce6b6e2310fd52a (patch)
tree0952c5678b449ffd8def645fec2b714c4960df9e /src/mem/ruby/system/AbstractMemOrCache.hh
parenteea2b02b04a3076969dd607aca739b96d94b6155 (diff)
parentf21e80ec72cf68ad859f18a2886297004ea9f959 (diff)
downloadgem5-a63cc2ff5fbba0e42a7aa39bfce6b6e2310fd52a.tar.xz
Merge Ruby Stuff
Diffstat (limited to 'src/mem/ruby/system/AbstractMemOrCache.hh')
-rw-r--r--src/mem/ruby/system/AbstractMemOrCache.hh42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/mem/ruby/system/AbstractMemOrCache.hh b/src/mem/ruby/system/AbstractMemOrCache.hh
new file mode 100644
index 000000000..8e214c74b
--- /dev/null
+++ b/src/mem/ruby/system/AbstractMemOrCache.hh
@@ -0,0 +1,42 @@
+
+/*
+ * AbstractMemOrCache.h
+ *
+ * Description:
+ *
+ *
+ */
+
+#ifndef ABSTRACT_MEM_OR_CACHE_H
+#define ABSTRACT_MEM_OR_CACHE_H
+
+#include "mem/ruby/common/Global.hh"
+#include "mem/ruby/slicc_interface/AbstractChip.hh"
+#include "mem/ruby/config/RubyConfig.hh"
+#include "mem/ruby/common/Address.hh"
+
+class AbstractMemOrCache {
+public:
+
+ virtual ~AbstractMemOrCache() {};
+ virtual void setConsumer(Consumer* consumer_ptr) = 0;
+ virtual Consumer* getConsumer() = 0;
+
+ virtual void enqueue (const MsgPtr& message, int latency ) = 0;
+ virtual void enqueueMemRef (MemoryNode& memRef) = 0;
+ virtual void dequeue () = 0;
+ virtual const Message* peek () = 0;
+ virtual bool isReady () = 0;
+ virtual MemoryNode peekNode () = 0;
+ virtual bool areNSlotsAvailable (int n) = 0;
+ virtual void printConfig (ostream& out) = 0;
+ virtual void print (ostream& out) const = 0;
+ virtual void setDebug (int debugFlag) = 0;
+
+private:
+
+};
+
+
+#endif
+