diff -r d54b7775a6b0 -r 657342ac5aba src/mem/protocol/RubySlicc_Types.sm --- a/src/mem/protocol/RubySlicc_Types.sm Tue Mar 29 19:36:36 2011 -0400 +++ b/src/mem/protocol/RubySlicc_Types.sm Thu Mar 31 12:15:52 2011 -0700 @@ -117,6 +117,7 @@ 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 -r d54b7775a6b0 -r 657342ac5aba src/mem/ruby/slicc_interface/RubyRequest.hh --- a/src/mem/ruby/slicc_interface/RubyRequest.hh Tue Mar 29 19:36:36 2011 -0400 +++ b/src/mem/ruby/slicc_interface/RubyRequest.hh Thu Mar 31 12:15:52 2011 -0700 @@ -52,7 +52,7 @@ 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 @@ m_Prefetch(_pb), data(_data), pkt(_pkt), - proc_id(_proc_id) + m_contextId(_proc_id) { m_LineAddress = m_PhysicalAddress; m_LineAddress.makeLineAddress(); diff -r d54b7775a6b0 -r 657342ac5aba src/mem/ruby/system/Sequencer.cc --- a/src/mem/ruby/system/Sequencer.cc Tue Mar 29 19:36:36 2011 -0400 +++ b/src/mem/ruby/system/Sequencer.cc Thu Mar 31 12:15:52 2011 -0700 @@ -671,11 +671,13 @@ 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 -r d54b7775a6b0 -r 657342ac5aba src/mem/slicc/symbols/Type.py --- a/src/mem/slicc/symbols/Type.py Tue Mar 29 19:36:36 2011 -0400 +++ b/src/mem/slicc/symbols/Type.py Thu Mar 31 12:15:52 2011 -0700 @@ -261,9 +261,6 @@ 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 @@ 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 @@ 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 @@ code('$const${{dm.type.c_ident}} m_${{dm.ident}}$init;') - if self.isMessage: - code('unsigned proc_id;') - code.dedent() code('};')