summaryrefslogtreecommitdiff
path: root/src/mem/ruby/slicc_interface
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/ruby/slicc_interface')
-rw-r--r--src/mem/ruby/slicc_interface/Message.hh9
-rw-r--r--src/mem/ruby/slicc_interface/NetworkMessage.hh6
-rw-r--r--src/mem/ruby/slicc_interface/RubyRequest.hh17
-rw-r--r--src/mem/ruby/slicc_interface/RubySlicc_Util.hh5
4 files changed, 18 insertions, 19 deletions
diff --git a/src/mem/ruby/slicc_interface/Message.hh b/src/mem/ruby/slicc_interface/Message.hh
index 201ec4b60..74b405312 100644
--- a/src/mem/ruby/slicc_interface/Message.hh
+++ b/src/mem/ruby/slicc_interface/Message.hh
@@ -32,9 +32,8 @@
#include <iostream>
#include "base/refcnt.hh"
-#include "mem/ruby/common/Global.hh"
#include "mem/ruby/common/TypeDefines.hh"
-#include "mem/ruby/system/System.hh"
+#include "mem/packet.hh"
class Message;
typedef RefCountingPtr<Message> MsgPtr;
@@ -42,9 +41,9 @@ typedef RefCountingPtr<Message> MsgPtr;
class Message : public RefCounted
{
public:
- Message()
- : m_time(g_system_ptr->getTime()),
- m_LastEnqueueTime(g_system_ptr->getTime()),
+ Message(Time curTime)
+ : m_time(curTime),
+ m_LastEnqueueTime(curTime),
m_DelayedCycles(0)
{ }
diff --git a/src/mem/ruby/slicc_interface/NetworkMessage.hh b/src/mem/ruby/slicc_interface/NetworkMessage.hh
index d2bcb1241..e26612e0f 100644
--- a/src/mem/ruby/slicc_interface/NetworkMessage.hh
+++ b/src/mem/ruby/slicc_interface/NetworkMessage.hh
@@ -36,16 +36,14 @@
#include "mem/ruby/common/NetDest.hh"
#include "mem/ruby/slicc_interface/Message.hh"
-class Address;
-
class NetworkMessage;
typedef RefCountingPtr<NetworkMessage> NetMsgPtr;
class NetworkMessage : public Message
{
public:
- NetworkMessage()
- : m_internal_dest_valid(false)
+ NetworkMessage(Time curTime)
+ : Message(curTime), m_internal_dest_valid(false)
{ }
NetworkMessage(const NetworkMessage &other)
diff --git a/src/mem/ruby/slicc_interface/RubyRequest.hh b/src/mem/ruby/slicc_interface/RubyRequest.hh
index a4dadc7a7..37b89dc8f 100644
--- a/src/mem/ruby/slicc_interface/RubyRequest.hh
+++ b/src/mem/ruby/slicc_interface/RubyRequest.hh
@@ -36,7 +36,6 @@
#include "mem/protocol/RubyAccessMode.hh"
#include "mem/protocol/RubyRequestType.hh"
#include "mem/ruby/common/Address.hh"
-#include "mem/packet.hh"
class RubyRequest : public Message
{
@@ -52,12 +51,12 @@ class RubyRequest : public Message
PacketPtr pkt;
unsigned m_contextId;
- RubyRequest() {}
- RubyRequest(uint64_t _paddr, uint8_t* _data, int _len, uint64_t _pc,
- RubyRequestType _type, RubyAccessMode _access_mode,
- PacketPtr _pkt, PrefetchBit _pb = PrefetchBit_No,
- unsigned _proc_id = 100)
- : m_PhysicalAddress(_paddr),
+ RubyRequest(Time curTime, uint64_t _paddr, uint8_t* _data, int _len,
+ uint64_t _pc, RubyRequestType _type, RubyAccessMode _access_mode,
+ PacketPtr _pkt, PrefetchBit _pb = PrefetchBit_No,
+ unsigned _proc_id = 100)
+ : Message(curTime),
+ m_PhysicalAddress(_paddr),
m_Type(_type),
m_ProgramCounter(_pc),
m_AccessMode(_access_mode),
@@ -71,10 +70,8 @@ class RubyRequest : public Message
m_LineAddress.makeLineAddress();
}
- static RubyRequest*
- create()
+ RubyRequest(Time curTime) : Message(curTime)
{
- return new RubyRequest();
}
RubyRequest*
diff --git a/src/mem/ruby/slicc_interface/RubySlicc_Util.hh b/src/mem/ruby/slicc_interface/RubySlicc_Util.hh
index 06c540db5..178c4cd1e 100644
--- a/src/mem/ruby/slicc_interface/RubySlicc_Util.hh
+++ b/src/mem/ruby/slicc_interface/RubySlicc_Util.hh
@@ -130,6 +130,11 @@ mod(int val, int mod)
return val % mod;
}
+inline int max_tokens()
+{
+ return 1024;
+}
+
/**
* This function accepts an address, a data block and a packet. If the address
* range for the data block contains the address which the packet needs to