87c87
< class CoherentXBarSlavePort : public SlavePort
---
> class CoherentXBarSlavePort : public QueuedSlavePort
94a95,97
> /** A normal packet queue used to store responses. */
> RespPacketQueue queue;
>
99c102,103
< : SlavePort(_name, &_xbar, _id), xbar(_xbar)
---
> : QueuedSlavePort(_name, &_xbar, queue, _id), xbar(_xbar),
> queue(_xbar, *this)
129,134d132
< * When receiving a retry, pass it to the crossbar.
< */
< virtual void recvRespRetry()
< { panic("Crossbar slave ports should never retry.\n"); }
<
< /**
218c216
< SlavePort& slavePort;
---
> QueuedSlavePort& slavePort;
225c223
< SnoopRespPort(SlavePort& slave_port, CoherentXBar& _xbar) :
---
> SnoopRespPort(QueuedSlavePort& slave_port, CoherentXBar& _xbar) :
256c254
< std::vector<SlavePort*> snoopPorts;
---
> std::vector<QueuedSlavePort*> snoopPorts;
327c325
< const std::vector<SlavePort*>& dests);
---
> const std::vector<QueuedSlavePort*>& dests);
350c348,349
< return forwardAtomic(pkt, exclude_slave_port_id, InvalidPortID, snoopPorts);
---
> return forwardAtomic(pkt, exclude_slave_port_id, InvalidPortID,
> snoopPorts);
368c367,368
< const std::vector<SlavePort*>& dests);
---
> const std::vector<QueuedSlavePort*>&
> dests);