summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mem/protocol/RubySlicc_Types.sm1
-rw-r--r--src/mem/ruby/slicc_interface/RubyRequest.hh4
-rw-r--r--src/mem/ruby/system/Sequencer.cc4
-rw-r--r--src/mem/slicc/symbols/Type.py12
4 files changed, 6 insertions, 15 deletions
diff --git a/src/mem/protocol/RubySlicc_Types.sm b/src/mem/protocol/RubySlicc_Types.sm
index 118cbc2f0..add3d979b 100644
--- a/src/mem/protocol/RubySlicc_Types.sm
+++ b/src/mem/protocol/RubySlicc_Types.sm
@@ -117,6 +117,7 @@ structure(RubyRequest, desc="...", interface="Message", external="yes") {
RubyAccessMode AccessMode, desc="user/supervisor access type";
int Size, desc="size in bytes of access";
PrefetchBit Prefetch, desc="Is this a prefetch request";
+ int contextId, desc="this goes away but must be replace with Nilay";
}
external_type(AbstractEntry, primitive="yes");
diff --git a/src/mem/ruby/slicc_interface/RubyRequest.hh b/src/mem/ruby/slicc_interface/RubyRequest.hh
index 06ca0de1c..8ac43a8e1 100644
--- a/src/mem/ruby/slicc_interface/RubyRequest.hh
+++ b/src/mem/ruby/slicc_interface/RubyRequest.hh
@@ -52,7 +52,7 @@ class RubyRequest : public Message
PrefetchBit m_Prefetch;
uint8_t* data;
PacketPtr pkt;
- unsigned proc_id;
+ unsigned m_contextId;
RubyRequest() {}
RubyRequest(uint64_t _paddr, uint8_t* _data, int _len, uint64_t _pc,
@@ -67,7 +67,7 @@ class RubyRequest : public Message
m_Prefetch(_pb),
data(_data),
pkt(_pkt),
- proc_id(_proc_id)
+ m_contextId(_proc_id)
{
m_LineAddress = m_PhysicalAddress;
m_LineAddress.makeLineAddress();
diff --git a/src/mem/ruby/system/Sequencer.cc b/src/mem/ruby/system/Sequencer.cc
index 94ba6c2d3..94d41ffe4 100644
--- a/src/mem/ruby/system/Sequencer.cc
+++ b/src/mem/ruby/system/Sequencer.cc
@@ -671,11 +671,13 @@ Sequencer::issueRequest(const RubyRequest& request)
Address line_addr(request.m_PhysicalAddress);
line_addr.makeLineAddress();
+ int proc_id = request.pkt->req->hasContextId() ?
+ request.pkt->req->contextId() : -1;
RubyRequest *msg = new RubyRequest(request.m_PhysicalAddress.getAddress(),
request.data, request.m_Size,
request.m_ProgramCounter.getAddress(),
ctype, amtype, request.pkt,
- PrefetchBit_No, request.proc_id);
+ PrefetchBit_No, proc_id);
DPRINTFR(ProtocolTrace, "%7s %3s %10s%20s %6s>%-6s %s %s\n",
g_eventQueue_ptr->getTime(), m_version, "Seq", "Begin", "", "",
diff --git a/src/mem/slicc/symbols/Type.py b/src/mem/slicc/symbols/Type.py
index da9ecba3a..9aea286d7 100644
--- a/src/mem/slicc/symbols/Type.py
+++ b/src/mem/slicc/symbols/Type.py
@@ -261,9 +261,6 @@ $klass ${{self.c_ident}}$parent
for dm in self.data_members.values():
code('m_${{dm.ident}} = other.m_${{dm.ident}};')
- if self.isMessage:
- code('proc_id = other.proc_id;')
-
code.dedent()
code('}')
@@ -272,9 +269,6 @@ $klass ${{self.c_ident}}$parent
params = [ 'const %s& local_%s' % (dm.type.c_ident, dm.ident) \
for dm in self.data_members.itervalues() ]
- if self.isMessage:
- params.append('const unsigned local_proc_id')
-
params = ', '.join(params)
code('${{self.c_ident}}($params)')
@@ -289,9 +283,6 @@ $klass ${{self.c_ident}}$parent
if "nextLineCallHack" in dm:
code('m_${{dm.ident}}${{dm["nextLineCallHack"]}};')
- if self.isMessage:
- code('proc_id = local_proc_id;')
-
code.dedent()
code('}')
@@ -377,9 +368,6 @@ set${{dm.ident}}(const ${{dm.type.c_ident}}& local_${{dm.ident}})
code('$const${{dm.type.c_ident}} m_${{dm.ident}}$init;')
- if self.isMessage:
- code('unsigned proc_id;')
-
code.dedent()
code('};')