mem: Pass snoop retries through the CommMonitor
Allow the monitor to be placed after a snooping port, and do not fail on snoop retries, but instead pass them on to the slave port.
This commit is contained in:
parent
4453537ead
commit
2a1f49fae6
2 changed files with 13 additions and 0 deletions
|
@ -344,6 +344,12 @@ CommMonitor::recvTimingSnoopResp(PacketPtr pkt)
|
||||||
return masterPort.sendTimingSnoopResp(pkt);
|
return masterPort.sendTimingSnoopResp(pkt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CommMonitor::recvRetrySnoopResp()
|
||||||
|
{
|
||||||
|
slavePort.sendRetrySnoopResp();
|
||||||
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
CommMonitor::isSnooping() const
|
CommMonitor::isSnooping() const
|
||||||
{
|
{
|
||||||
|
|
|
@ -167,6 +167,11 @@ class CommMonitor : public MemObject
|
||||||
mon.recvReqRetry();
|
mon.recvReqRetry();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void recvRetrySnoopResp()
|
||||||
|
{
|
||||||
|
mon.recvRetrySnoopResp();
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
CommMonitor& mon;
|
CommMonitor& mon;
|
||||||
|
@ -248,6 +253,8 @@ class CommMonitor : public MemObject
|
||||||
|
|
||||||
bool recvTimingSnoopResp(PacketPtr pkt);
|
bool recvTimingSnoopResp(PacketPtr pkt);
|
||||||
|
|
||||||
|
void recvRetrySnoopResp();
|
||||||
|
|
||||||
AddrRangeList getAddrRanges() const;
|
AddrRangeList getAddrRanges() const;
|
||||||
|
|
||||||
bool isSnooping() const;
|
bool isSnooping() const;
|
||||||
|
|
Loading…
Reference in a new issue