Hello Alec Roelke,
I'd like you to reexamine a change. Please visit
https://gem5-review.googlesource.com/8189
to look at the new patch set (#2).
Change subject: riscv: fix AMO (Atomic Memory Operation) instructions
......................................................................
riscv: fix AMO (Atomic Memory Operation) instructions
This patch changes how RISC-V AMO instructions are implemented. For each
AMO, instead of issuing a locking load and an unlocking store request to
downstream memory system, this patch issues a single memory request that
contains a corresponding AtomicOpFunctor to the memory system. Once the
memory system receives the request, the atomic operation is executed in
one single step.
This patch also changes how AMO instructions handle acquire and release
flags in AMOs (e.g., amoadd.aq and amoadd.rl). If an AMO is associated
with an acquire flag, a memory fence is inserted after the AMO completes
as a micro-op. If an AMO is associated with a release flag, another
memory fence is inserted before the AMO executes. If both flags are
specified, the AMO is broken down into a sequence of 3 micro-ops:
mem fence -> atomic RMW -> mem fence. This change makes this AMO
implementation comply to the release consistency model.
Change-Id: I1e95900367c89dd866ba872a5203f63359ac51ae
---
M src/arch/riscv/insts/amo.cc
M src/arch/riscv/insts/amo.hh
M src/arch/riscv/isa/decoder.isa
M src/arch/riscv/isa/formats/amo.isa
4 files changed, 281 insertions(+), 183 deletions(-)
--
To view, visit https://gem5-review.googlesource.com/8189
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I1e95900367c89dd866ba872a5203f63359ac51ae
Gerrit-Change-Number: 8189
Gerrit-PatchSet: 2
Gerrit-Owner: Tuan Ta <[email protected]>
Gerrit-Reviewer: Alec Roelke <[email protected]>
Gerrit-Reviewer: Tuan Ta <[email protected]>
Gerrit-CC: Jason Lowe-Power <[email protected]>
Gerrit-MessageType: newpatchset
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev