From 697e55995626f24658ce443287cd1ba90c2f68eb Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Tue, 29 Oct 2019 19:31:37 -0700 Subject: arch: Make and use endian specific versions of the mem helpers. Rather than using TheISA to pick an endian conversion function, we can have a version defined for big and little endian and call the right one from the ISA code. Change-Id: I5014504968952e21abff3c5f6cbe58ca24233f33 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/22373 Reviewed-by: Giacomo Travaglini Maintainer: Gabe Black Tested-by: kokoro --- src/arch/riscv/isa/formats/amo.isa | 12 ++++++------ src/arch/riscv/isa/formats/mem.isa | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) (limited to 'src/arch/riscv') diff --git a/src/arch/riscv/isa/formats/amo.isa b/src/arch/riscv/isa/formats/amo.isa index cc7346aa8..a115ccd93 100644 --- a/src/arch/riscv/isa/formats/amo.isa +++ b/src/arch/riscv/isa/formats/amo.isa @@ -227,7 +227,7 @@ def template LoadReservedExecute {{ %(ea_code)s; if (fault == NoFault) { - fault = readMemAtomic(xc, traceData, EA, Mem, memAccessFlags); + fault = readMemAtomicLE(xc, traceData, EA, Mem, memAccessFlags); %(memacc_code)s; } @@ -256,7 +256,7 @@ def template StoreCondExecute {{ } if (fault == NoFault) { - fault = writeMemAtomic(xc, traceData, Mem, EA, memAccessFlags, + fault = writeMemAtomicLE(xc, traceData, Mem, EA, memAccessFlags, &result); // RISC-V has the opposite convention gem5 has for success flags, // so we invert the result here. @@ -290,7 +290,7 @@ def template AtomicMemOpRMWExecute {{ assert(amo_op); if (fault == NoFault) { - fault = amoMemAtomic(xc, traceData, Mem, EA, memAccessFlags, + fault = amoMemAtomicLE(xc, traceData, Mem, EA, memAccessFlags, amo_op); %(memacc_code)s; } @@ -346,7 +346,7 @@ def template StoreCondInitiateAcc {{ } if (fault == NoFault) { - fault = writeMemTiming(xc, traceData, Mem, EA, + fault = writeMemTimingLE(xc, traceData, Mem, EA, memAccessFlags, nullptr); } @@ -394,7 +394,7 @@ def template LoadReservedCompleteAcc {{ %(op_decl)s; %(op_rd)s; - getMem(pkt, Mem, traceData); + getMemLE(pkt, Mem, traceData); if (fault == NoFault) { %(memacc_code)s; @@ -441,7 +441,7 @@ def template AtomicMemOpRMWCompleteAcc {{ %(op_decl)s; %(op_rd)s; - getMem(pkt, Mem, traceData); + getMemLE(pkt, Mem, traceData); if (fault == NoFault) { %(memacc_code)s; diff --git a/src/arch/riscv/isa/formats/mem.isa b/src/arch/riscv/isa/formats/mem.isa index a932d01cc..1e416d87e 100644 --- a/src/arch/riscv/isa/formats/mem.isa +++ b/src/arch/riscv/isa/formats/mem.isa @@ -106,7 +106,7 @@ def template LoadExecute {{ %(ea_code)s; if (fault == NoFault) { - fault = readMemAtomic(xc, traceData, EA, Mem, memAccessFlags); + fault = readMemAtomicLE(xc, traceData, EA, Mem, memAccessFlags); %(memacc_code)s; } @@ -148,7 +148,7 @@ def template LoadCompleteAcc {{ %(op_decl)s; %(op_rd)s; - getMem(pkt, Mem, traceData); + getMemLE(pkt, Mem, traceData); if (fault == NoFault) { %(memacc_code)s; @@ -179,7 +179,7 @@ def template StoreExecute {{ } if (fault == NoFault) { - fault = writeMemAtomic(xc, traceData, Mem, EA, memAccessFlags, + fault = writeMemAtomicLE(xc, traceData, Mem, EA, memAccessFlags, nullptr); } @@ -212,7 +212,7 @@ def template StoreInitiateAcc {{ } if (fault == NoFault) { - fault = writeMemTiming(xc, traceData, Mem, EA, + fault = writeMemTimingLE(xc, traceData, Mem, EA, memAccessFlags, nullptr); } -- cgit v1.2.3