# Node ID 57b008eb65c34bb77c94d972cf36799940a5db13 # Parent 497b036b96a4bca961d82e284632409dcdd9fc1b diff --git a/src/mem/ruby/system/RubyPort.hh b/src/mem/ruby/system/RubyPort.hh --- a/src/mem/ruby/system/RubyPort.hh +++ b/src/mem/ruby/system/RubyPort.hh @@ -88,8 +88,15 @@ protected: bool recvTimingReq(PacketPtr pkt); - Tick recvAtomic(PacketPtr pkt) - { panic("RubyPort::MemSlavePort::recvAtomic() not implemented!\n"); } + Tick + recvAtomic(PacketPtr pkt) + { + warn_once("Attempting atomic access with MemSlavePort. Atomic " + "acceses are not supported in Ruby. Converting atomic " + "acceses to functional.\n"); + recvFunctional(pkt); + return 0; + } void recvFunctional(PacketPtr pkt);