Hello,

I am trying to define a new MemCmd::CommandInfo in Packet.cc to
support handling WriteUpdates/Selective WriteUpdates to integrate
SelectiveWriteUpdate Coherence Protocol.

The changes compile fine, but can't seem to get the packet attributes
recognized when I do some debug checking. For example, I define (as
listed below) that WriteUpdateReq has the attribute 'IsRequest'
however, when I make a new packet with that MemCmd, the 'isRequest()'
test fails, but 'isResponse()' passes. For that matter, it doesn't
seem that any of the attributes that I enlist as part of the command
seem to be recognized.

I thought maybe I had to create a new Packet (e.g. pkt = new
Packet(...) with the desired MemCmd, but that doesn't seem to work
either. Am I missing something else? I have listed my changes to
packet.cc/packet.hh further below.

Thanks.

Malek

********************************************************************************************************

Packet.cc Changes:

    { SET4(IsWriteUpdate, IsRequest, NeedsResponse,  HasData),
WriteUpdateResp, "WriteUpd\
ateReq" },

    /* WriteUpdateResp */
      { SET3(IsWriteUpdate, IsResponse, HasData), InvalidCmd,
"WriteUpdateResp" },

    /* Selective Write Update Protocol */
      /* SelectiveWriteUpdateReq */
    { SET4(IsSelectUpdate, IsRequest, NeedsResponse, HasData),
SelectUpdateResp, "SelectU\
pdateReq" },

      { SET3(IsSelectUpdate, IsResponse, HasData), InvalidCmd,
"SelectUpdateResp" }


packet.hh changes:

enum Command
{
        WriteUpdateReq,
        WriteUpdateResp,
        SelectUpdateReq,
        SelectUpdateResp,
}

enum Attribute
{
        IsWriteUpdate,  //!< Malek : Update Coherence protocol
        IsSelectUpdate, //!< Malek: Selective Update
}
_______________________________________________
m5-users mailing list
m5-users@m5sim.org
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to