448d447
< : atomicOpFunctor(atomic_op)
450c449
< setVirt(asid, vaddr, size, flags, mid, pc);
---
> setVirt(asid, vaddr, size, flags, mid, pc, atomic_op);
453a453,471
> Request(const Request& other)
> : _paddr(other._paddr), _size(other._size),
> _masterId(other._masterId),
> _flags(other._flags),
> _memSpaceConfigFlags(other._memSpaceConfigFlags),
> privateFlags(other.privateFlags),
> _time(other._time),
> _taskId(other._taskId), _asid(other._asid), _vaddr(other._vaddr),
> _extraData(other._extraData), _contextId(other._contextId),
> _pc(other._pc), _reqInstSeqNum(other._reqInstSeqNum),
> translateDelta(other.translateDelta),
> accessDelta(other.accessDelta), depth(other.depth)
> {
> if (other.atomicOpFunctor)
> atomicOpFunctor = (other.atomicOpFunctor)->clone();
> else
> atomicOpFunctor = nullptr;
> }
>
477c495
< Addr pc)
---
> Addr pc, AtomicOpFunctor *amo_op = nullptr)
492a511
> atomicOpFunctor = amo_op;