bool isRead = pkt->isRead();
bool isWrite = pkt->isWrite();
int cmd = pkt->cmdToIndex();
+ Request::FlagsType req_flags = pkt->req->getFlags();
unsigned size = pkt->getSize();
Addr addr = pkt->getAddr();
bool needsResponse = pkt->needsResponse();
Message::Packet pkt_msg;
pkt_msg.set_tick(curTick());
pkt_msg.set_cmd(cmd);
+ pkt_msg.set_flags(req_flags);
pkt_msg.set_addr(addr);
pkt_msg.set_size(size);
-// Copyright (c) 2012 ARM Limited
+// Copyright (c) 2012-2013 ARM Limited
// All rights reserved
//
// The license below extends only to copyright in the software and shall
// Each packet in the trace contains a tick (which can be translated
// to absolute time using the frequency in the header), the command,
-// the address, and the size in bytes
+// the address, and the size in bytes. The optional flags are used to
+// capture the request flags that convey information about
+// cacheability, if the packet is an instruction fetch or prefetch or
+// not, etc.
message Packet {
required uint64 tick = 1;
required uint32 cmd = 2;
required uint64 addr = 3;
required uint32 size = 4;
+ optional uint32 flags = 5;
}