2c2
< * Copyright (c) 2012-2015 ARM Limited
---
> * Copyright (c) 2012-2016 ARM Limited
139a140,156
> /**
> * Check if there is a conflicting snoop response about to be
> * send out, and if so simply stall any requests, and schedule
> * a send event at the same time as the next snoop response is
> * being sent out.
> */
> bool checkConflictingSnoop(Addr addr)
> {
> if (snoopRespQueue.hasAddr(addr)) {
> DPRINTF(CachePort, "Waiting for snoop response to be "
> "sent\n");
> Tick when = snoopRespQueue.deferredPacketReadyTime();
> schedSendEvent(when);
> return true;
> }
> return false;
> }
341a359,364
> * Handling the special case of uncacheable write responses to
> * make recvTimingResp less cluttered.
> */
> void handleUncacheableWriteResp(PacketPtr pkt);
>
> /**
454,457c477,480
< * Return the next MSHR to service, either a pending miss from the
< * mshrQueue, a buffered write from the write buffer, or something
< * from the prefetcher. This function is responsible for
< * prioritizing among those sources on the fly.
---
> * Return the next queue entry to service, either a pending miss
> * from the MSHR queue, a buffered write from the write buffer, or
> * something from the prefetcher. This function is responsible
> * for prioritizing among those sources on the fly.
459c482
< MSHR *getNextMSHR();
---
> QueueEntry* getNextQueueEntry();
468,484d490
< * Selects an outstanding request to service. Called when the
< * cache gets granted the downstream bus in timing mode.
< * @return The request to service, NULL if none found.
< */
< PacketPtr getTimingPacket();
<
< /**
< * Marks a request as in service (sent downstream in the memory
< * system). This can have side effect since storage for no
< * response commands is deallocated once they are successfully
< * sent. Also remember if we are expecting a Modified (dirty and
< * writable) response from another cache, effectively making this
< * MSHR the ordering point.
< */
< void markInService(MSHR *mshr, bool pending_modified_resp);
<
< /**
489c495
< return mshrQueue.allocated != 0;
---
> return !mshrQueue.isEmpty();
507c513
< Tick nextMSHRReadyTime() const;
---
> Tick nextQueueReadyTime() const;
517a524,543
> /**
> * Take an MSHR, turn it into a suitable downstream packet, and
> * send it out. This construct allows a queue entry to choose a suitable
> * approach based on its type.
> *
> * @param mshr The MSHR to turn into a packet and send
> * @return True if the port is waiting for a retry
> */
> bool sendMSHRQueuePacket(MSHR* mshr);
>
> /**
> * Similar to sendMSHR, but for a write-queue entry
> * instead. Create the packet, and send it, and if successful also
> * mark the entry in service.
> *
> * @param wq_entry The write-queue entry to turn into a packet and send
> * @return True if the port is waiting for a retry
> */
> bool sendWriteQueuePacket(WriteQueueEntry* wq_entry);
>