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
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users