177c177,178
< IsHWPrefetch = 1 << 8
---
> IsHWPrefetch = 1 << 8,
> HasData = 1 << 9
186,188c187,189
< WriteReq = IsWrite | IsRequest | NeedsResponse,
< WriteReqNoAck = IsWrite | IsRequest,
< ReadResp = IsRead | IsResponse | NeedsResponse,
---
> WriteReq = IsWrite | IsRequest | NeedsResponse,// | HasData,
> WriteReqNoAck = IsWrite | IsRequest,// | HasData,
> ReadResp = IsRead | IsResponse | NeedsResponse,// | HasData,
190c191
< Writeback = IsWrite | IsRequest,
---
> Writeback = IsWrite | IsRequest,// | HasData,
193,194c194,197
< SoftPFResp = IsRead | IsResponse | IsSWPrefetch | NeedsResponse,
< HardPFResp = IsRead | IsResponse | IsHWPrefetch | NeedsResponse,
---
> SoftPFResp = IsRead | IsResponse | IsSWPrefetch
> | NeedsResponse,// | HasData,
> HardPFResp = IsRead | IsResponse | IsHWPrefetch
> | NeedsResponse,// | HasData,
196c199
< WriteInvalidateReq = IsWrite | IsInvalidate | IsRequest,
---
> WriteInvalidateReq = IsWrite | IsInvalidate | IsRequest,// | HasData,
200c203,204
< ReadExResp = IsRead | IsInvalidate | IsResponse | NeedsResponse
---
> ReadExResp = IsRead | IsInvalidate | IsResponse
> | NeedsResponse,// | HasData
221a226
> bool hasData() { return (cmd & HasData) != 0; }
315c320
< * modifying the destination fields, so this function
---
> * modifying the command or destination fields, so this function
328,339d332
< /** Take a request packet and modify it in place to be suitable
< * for returning as a response to that request.
< */
< void makeAtomicResponse() {
< assert(needsResponse());
< assert(isRequest());
< int icmd = (int)cmd;
< icmd &= ~(IsRequest);
< icmd |= IsResponse;
< cmd = (Command)icmd;
< }
<