174,180c174,180
< IsRead = 1 << 0,
< IsWrite = 1 << 1,
< IsPrefetch = 1 << 2,
< IsInvalidate = 1 << 3,
< IsRequest = 1 << 4,
< IsResponse = 1 << 5,
< NeedsResponse = 1 << 6,
---
> IsRead = 1 << 0,
> IsWrite = 1 << 1,
> IsPrefetch = 1 << 2,
> IsInvalidate = 1 << 3,
> IsRequest = 1 << 4,
> IsResponse = 1 << 5,
> NeedsResponse = 1 << 6,
184c184
< HasData = 1 << 10
---
> HasData = 1 << 10
192,196c192,196
< ReadReq = IsRead | IsRequest | NeedsResponse,
< WriteReq = IsWrite | IsRequest | NeedsResponse | HasData,
< WriteReqNoAck = IsWrite | IsRequest | HasData,
< ReadResp = IsRead | IsResponse | NeedsResponse | HasData,
< WriteResp = IsWrite | IsResponse | NeedsResponse,
---
> ReadReq = IsRead | IsRequest | NeedsResponse,
> WriteReq = IsWrite | IsRequest | NeedsResponse | HasData,
> WriteReqNoAck = IsWrite | IsRequest | HasData,
> ReadResp = IsRead | IsResponse | NeedsResponse | HasData,
> WriteResp = IsWrite | IsResponse | NeedsResponse,
203c203
< | NeedsResponse | HasData,
---
> | NeedsResponse | HasData,
225,231c225,231
< bool isRead() const { return (cmd & IsRead) != 0; }
< bool isWrite() const { return (cmd & IsWrite) != 0; }
< bool isRequest() const { return (cmd & IsRequest) != 0; }
< bool isResponse() const { return (cmd & IsResponse) != 0; }
< bool needsResponse() const { return (cmd & NeedsResponse) != 0; }
< bool isInvalidate() const { return (cmd & IsInvalidate) != 0; }
< bool hasData() const { return (cmd & HasData) != 0; }
---
> bool isRead() { return (cmd & IsRead) != 0; }
> bool isWrite() { return (cmd & IsWrite) != 0; }
> bool isRequest() { return (cmd & IsRequest) != 0; }
> bool isResponse() { return (cmd & IsResponse) != 0; }
> bool needsResponse() { return (cmd & NeedsResponse) != 0; }
> bool isInvalidate() { return (cmd & IsInvalidate) != 0; }
> bool hasData() { return (cmd & HasData) != 0; }
233,235c233,235
< bool isCacheFill() const { return (flags & CACHE_LINE_FILL) != 0; }
< bool isNoAllocate() const { return (flags & NO_ALLOCATE) != 0; }
< bool isCompressed() const { return (flags & COMPRESSED) != 0; }
---
> bool isCacheFill() { return (flags & CACHE_LINE_FILL) != 0; }
> bool isNoAllocate() { return (flags & NO_ALLOCATE) != 0; }
> bool isCompressed() { return (flags & COMPRESSED) != 0; }
350a351,354
> if (isRead())
> icmd |= HasData;
> if (isWrite())
> icmd &= ~HasData;
400,405d403
<
< /** This function given a functional packet and a timing packet either satisfies
< * the timing packet, or updates the timing packet to reflect the updated state
< * in the timing packet. It returns if the functional packet should continue to
< * traverse the memory hierarchy or not.
< */
407,409d404
<
< std::ostream & operator<<(std::ostream &o, const Packet &p);
<