Have cpus send snoop ranges
--HG-- extra : convert_revision : 2a1fba141e409ee1d7a0b69b5b21d236e3d4ce68
This commit is contained in:
parent
095d5991f5
commit
bc732b59fd
7 changed files with 15 additions and 15 deletions
|
@ -96,7 +96,7 @@ class DefaultFetch
|
|||
/** Returns the address ranges of this device. */
|
||||
virtual void getDeviceAddressRanges(AddrRangeList &resp,
|
||||
AddrRangeList &snoop)
|
||||
{ resp.clear(); snoop.clear(); }
|
||||
{ resp.clear(); snoop.clear(); snoop.push_back(RangeSize(0,-1)); }
|
||||
|
||||
/** Timing version of receive. Handles setting fetch to the
|
||||
* proper status to start fetching. */
|
||||
|
|
|
@ -311,7 +311,7 @@ class LSQ {
|
|||
/** Returns the address ranges of this device. */
|
||||
virtual void getDeviceAddressRanges(AddrRangeList &resp,
|
||||
AddrRangeList &snoop)
|
||||
{ resp.clear(); snoop.clear(); }
|
||||
{ resp.clear(); snoop.clear(); snoop.push_back(RangeSize(0,-1)); }
|
||||
|
||||
/** Timing version of receive. Handles writing back and
|
||||
* completing the load or store that has returned from
|
||||
|
|
|
@ -92,7 +92,7 @@ class FrontEnd
|
|||
/** Returns the address ranges of this device. */
|
||||
virtual void getDeviceAddressRanges(AddrRangeList &resp,
|
||||
AddrRangeList &snoop)
|
||||
{ resp.clear(); snoop.clear(); }
|
||||
{ resp.clear(); snoop.clear(); snoop.push_back(RangeSize(0,-1)); }
|
||||
|
||||
/** Timing version of receive. Handles setting fetch to the
|
||||
* proper status to start fetching. */
|
||||
|
|
|
@ -260,7 +260,7 @@ class OzoneLWLSQ {
|
|||
|
||||
virtual void getDeviceAddressRanges(AddrRangeList &resp,
|
||||
AddrRangeList &snoop)
|
||||
{ resp.clear(); snoop.clear(); }
|
||||
{ resp.clear(); snoop.clear(); snoop.push_back(RangeSize(0,-1); }
|
||||
|
||||
virtual bool recvTiming(PacketPtr pkt);
|
||||
|
||||
|
|
|
@ -104,9 +104,9 @@ class AtomicSimpleCPU : public BaseSimpleCPU
|
|||
|
||||
virtual void getDeviceAddressRanges(AddrRangeList &resp,
|
||||
AddrRangeList &snoop)
|
||||
{ resp.clear(); snoop.clear(); }
|
||||
};
|
||||
{ resp.clear(); snoop.clear(); snoop.push_back(RangeSize(0,-1)); }
|
||||
|
||||
};
|
||||
CpuPort icachePort;
|
||||
CpuPort dcachePort;
|
||||
|
||||
|
|
|
@ -92,7 +92,7 @@ class TimingSimpleCPU : public BaseSimpleCPU
|
|||
|
||||
virtual void getDeviceAddressRanges(AddrRangeList &resp,
|
||||
AddrRangeList &snoop)
|
||||
{ resp.clear(); snoop.clear(); }
|
||||
{ resp.clear(); snoop.clear(); snoop.push_back(RangeSize(0,-1)); }
|
||||
|
||||
struct TickEvent : public Event
|
||||
{
|
||||
|
|
16
src/mem/cache/base_cache.hh
vendored
16
src/mem/cache/base_cache.hh
vendored
|
@ -156,7 +156,7 @@ class BaseCache : public MemObject
|
|||
if (status == Port::RangeChange){
|
||||
if (!isCpuSide) {
|
||||
cpuSidePort->sendStatusChange(Port::RangeChange);
|
||||
if (topLevelCache && !snoopRangesSent) {
|
||||
if (!snoopRangesSent) {
|
||||
snoopRangesSent = true;
|
||||
memSidePort->sendStatusChange(Port::RangeChange);
|
||||
}
|
||||
|
@ -568,14 +568,14 @@ class BaseCache : public MemObject
|
|||
{
|
||||
//This is where snoops get updated
|
||||
AddrRangeList dummy;
|
||||
if (!topLevelCache)
|
||||
{
|
||||
// if (!topLevelCache)
|
||||
// {
|
||||
cpuSidePort->getPeerAddressRanges(dummy, snoop);
|
||||
}
|
||||
else
|
||||
{
|
||||
snoop.push_back(RangeSize(0,-1));
|
||||
}
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// snoop.push_back(RangeSize(0,-1));
|
||||
// }
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue