summaryrefslogtreecommitdiff
path: root/src/arch/sparc
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2019-10-29 19:31:37 -0700
committerGabe Black <gabeblack@google.com>2019-11-18 20:02:31 +0000
commit697e55995626f24658ce443287cd1ba90c2f68eb (patch)
tree4f19d13ded04c4d4b3ae53607fa90638ba96a7bd /src/arch/sparc
parent17a0c0b00644c37e9d8539a9de0a02dc213a6834 (diff)
downloadgem5-697e55995626f24658ce443287cd1ba90c2f68eb.tar.xz
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 <giacomo.travaglini@arm.com> Maintainer: Gabe Black <gabeblack@google.com> Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src/arch/sparc')
-rw-r--r--src/arch/sparc/isa/formats/mem/swap.isa6
-rw-r--r--src/arch/sparc/isa/formats/mem/util.isa10
2 files changed, 9 insertions, 7 deletions
diff --git a/src/arch/sparc/isa/formats/mem/swap.isa b/src/arch/sparc/isa/formats/mem/swap.isa
index fcabc33e4..f8c4e900d 100644
--- a/src/arch/sparc/isa/formats/mem/swap.isa
+++ b/src/arch/sparc/isa/formats/mem/swap.isa
@@ -50,7 +50,7 @@ def template SwapExecute {{
}
if (storeCond && fault == NoFault) {
%(EA_trunc)s
- fault = writeMemAtomic(xc, traceData, Mem, EA,
+ fault = writeMemAtomicBE(xc, traceData, Mem, EA,
%(asi_val)s, &mem_data);
}
if (fault == NoFault) {
@@ -87,7 +87,7 @@ def template SwapInitiateAcc {{
}
if (fault == NoFault) {
%(EA_trunc)s
- fault = writeMemTiming(xc, traceData, Mem, EA, %(asi_val)s,
+ fault = writeMemTimingBE(xc, traceData, Mem, EA, %(asi_val)s,
&mem_data);
}
return fault;
@@ -103,7 +103,7 @@ def template SwapCompleteAcc {{
Fault fault = NoFault;
%(op_decl)s;
- getMem(pkt, Mem, traceData);
+ getMemBE(pkt, Mem, traceData);
uint64_t mem_data = Mem;
if (fault == NoFault) {
diff --git a/src/arch/sparc/isa/formats/mem/util.isa b/src/arch/sparc/isa/formats/mem/util.isa
index 8711cb812..5ee4143df 100644
--- a/src/arch/sparc/isa/formats/mem/util.isa
+++ b/src/arch/sparc/isa/formats/mem/util.isa
@@ -48,7 +48,7 @@ def template LoadExecute {{
%(fault_check)s;
if (fault == NoFault) {
%(EA_trunc)s
- fault = readMemAtomic(xc, traceData, EA, Mem, %(asi_val)s);
+ fault = readMemAtomicBE(xc, traceData, EA, Mem, %(asi_val)s);
}
if (fault == NoFault) {
%(code)s;
@@ -89,7 +89,7 @@ def template LoadCompleteAcc {{
Fault fault = NoFault;
%(op_decl)s;
%(op_rd)s;
- getMem(pkt, Mem, traceData);
+ getMemBE(pkt, Mem, traceData);
%(code)s;
if (fault == NoFault) {
%(op_wb)s;
@@ -119,7 +119,8 @@ def template StoreExecute {{
}
if (storeCond && fault == NoFault) {
%(EA_trunc)s
- fault = writeMemAtomic(xc, traceData, Mem, EA, %(asi_val)s, 0);
+ fault = writeMemAtomicBE(
+ xc, traceData, Mem, EA, %(asi_val)s, 0);
}
if (fault == NoFault) {
// Write the resulting state to the execution context
@@ -149,7 +150,8 @@ def template StoreInitiateAcc {{
}
if (storeCond && fault == NoFault) {
%(EA_trunc)s
- fault = writeMemTiming(xc, traceData, Mem, EA, %(asi_val)s, 0);
+ fault = writeMemTimingBE(
+ xc, traceData, Mem, EA, %(asi_val)s, 0);
}
return fault;
}