summaryrefslogtreecommitdiff
path: root/src/arch/sparc/isa/formats/mem/swap.isa
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/sparc/isa/formats/mem/swap.isa')
-rw-r--r--src/arch/sparc/isa/formats/mem/swap.isa11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/arch/sparc/isa/formats/mem/swap.isa b/src/arch/sparc/isa/formats/mem/swap.isa
index 99bbf3a68..17a490c4b 100644
--- a/src/arch/sparc/isa/formats/mem/swap.isa
+++ b/src/arch/sparc/isa/formats/mem/swap.isa
@@ -50,8 +50,8 @@ def template SwapExecute {{
}
if (storeCond && fault == NoFault) {
%(EA_trunc)s
- fault = xc->write((uint%(mem_acc_size)s_t)Mem,
- EA, %(asi_val)s, &mem_data);
+ fault = writeMemAtomic(xc, traceData, Mem, EA,
+ %(asi_val)s, &mem_data);
}
if (fault == NoFault) {
// Handle the swapping
@@ -87,8 +87,8 @@ def template SwapInitiateAcc {{
}
if (fault == NoFault) {
%(EA_trunc)s
- fault = xc->write((uint%(mem_acc_size)s_t)Mem,
- EA, %(asi_val)s, &mem_data);
+ fault = writeMemTiming(xc, traceData, Mem, EA, %(asi_val)s,
+ &mem_data);
}
return fault;
}
@@ -103,7 +103,8 @@ def template SwapCompleteAcc {{
Fault fault = NoFault;
%(op_decl)s;
- uint64_t mem_data = pkt->get<uint%(mem_acc_size)s_t>();
+ getMem(pkt, Mem, traceData);
+ uint64_t mem_data = Mem;
if (fault == NoFault) {
// Handle the swapping