67c67,71
< class CpuPort : public Port
---
> /**
> * An AtomicCPUPort overrides the default behaviour of the
> * recvAtomic and ignores the packet instead of panicking.
> */
> class AtomicCPUPort : public CpuPort
68a73
>
71,72c76,77
< CpuPort(const std::string &_name, AtomicSimpleCPU *_cpu)
< : Port(_name, _cpu), cpu(_cpu)
---
> AtomicCPUPort(const std::string &_name, BaseCPU* _cpu)
> : CpuPort(_name, _cpu)
75,76d79
< bool snoopRangeSent;
<
79c82,86
< AtomicSimpleCPU *cpu;
---
> virtual Tick recvAtomic(PacketPtr pkt)
> {
> // Snooping a coherence request, just return
> return 0;
> }
81,94d87
< virtual bool recvTiming(PacketPtr pkt);
<
< virtual Tick recvAtomic(PacketPtr pkt);
<
< virtual void recvFunctional(PacketPtr pkt);
<
< virtual void recvStatusChange(Status status);
<
< virtual void recvRetry();
<
< virtual void getDeviceAddressRanges(AddrRangeList &resp,
< bool &snoop)
< { resp.clear(); snoop = true; }
<
96d88
< CpuPort icachePort;
98c90,91
< CpuPort dcachePort;
---
> AtomicCPUPort icachePort;
> AtomicCPUPort dcachePort;