100,109d99
< /**
< * Reasons for cache to request a bus.
< */
< enum RequestCause {
< Request_MSHR = MSHRQueue_MSHRs,
< Request_WB = MSHRQueue_WriteBuffer,
< Request_PF,
< NUM_REQUEST_CAUSES
< };
<
117c107
< * writebacks). The send event is scheduled through requestBus,
---
> * writebacks). The send event is scheduled through schedSendEvent,
130c120
< void requestBus(RequestCause cause, Tick time)
---
> void schedSendEvent(Tick time)
132,133c122
< DPRINTF(CachePort, "Scheduling request at %llu due to %d\n",
< time, cause);
---
> DPRINTF(CachePort, "Scheduling send event at %llu\n", time);
216c205,206
< PacketPtr pkt, Tick time, bool requestBus)
---
> PacketPtr pkt, Tick time,
> bool sched_send)
229,231c219,221
< if (requestBus) {
< requestMemSideBus((RequestCause)mq->index, time);
< }
---
> if (sched_send)
> // schedule the send
> schedMemSideSendEvent(time);
513c503
< MSHR *allocateMissBuffer(PacketPtr pkt, Tick time, bool requestBus)
---
> MSHR *allocateMissBuffer(PacketPtr pkt, Tick time, bool sched_send = true)
517c507
< pkt, time, requestBus);
---
> pkt, time, sched_send);
520c510
< MSHR *allocateWriteBuffer(PacketPtr pkt, Tick time, bool requestBus)
---
> MSHR *allocateWriteBuffer(PacketPtr pkt, Tick time)
527c517
< pkt, time, requestBus);
---
> pkt, time, true);
574,576c564,569
< * Request the master bus for the given cause and time.
< * @param cause The reason for the request.
< * @param time The time to make the request.
---
> * Schedule a send event for the memory-side port. If already
> * scheduled, this may reschedule the event at an earlier
> * time. When the specified time is reached, the port is free to
> * send either a response, a request, or a prefetch request.
> *
> * @param time The time when to attempt sending a packet.
578c571
< void requestMemSideBus(RequestCause cause, Tick time)
---
> void schedMemSideSendEvent(Tick time)
580c573
< memSidePort->requestBus(cause, time);
---
> memSidePort->schedSendEvent(time);
583,595d575
< /**
< * Clear the master bus request for the given cause.
< * @param cause The request reason to clear.
< */
< void deassertMemSideBusRequest(RequestCause cause)
< {
< // Obsolete... we no longer signal bus requests explicitly so
< // we can't deassert them. Leaving this in as a no-op since
< // the prefetcher calls it to indicate that it no longer wants
< // to request a prefetch, and someday that might be
< // interesting again.
< }
<