summaryrefslogtreecommitdiff
path: root/src/arch/power
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2011-07-03 11:38:25 -0500
committerNilay Vaish <nilay@cs.wisc.edu>2011-07-03 11:38:25 -0500
commit9b85b4b19a1f39927ce9d4f39e5815ec6c87fbf7 (patch)
tree482974f9e6a85b6867ff5f9f3fb1f891f0fdf96d /src/arch/power
parent5e0851d554d55e4fa22240c803cc4b9ad5e293f5 (diff)
parentec89fffb07318e50e90257ebeb17535bf6787952 (diff)
downloadgem5-9b85b4b19a1f39927ce9d4f39e5815ec6c87fbf7.tar.xz
Merged with Gabe's recent changes.
Diffstat (limited to 'src/arch/power')
-rw-r--r--src/arch/power/isa/formats/mem.isa14
-rw-r--r--src/arch/power/isa/includes.isa1
2 files changed, 8 insertions, 7 deletions
diff --git a/src/arch/power/isa/formats/mem.isa b/src/arch/power/isa/formats/mem.isa
index 014e4ff5a..519275a16 100644
--- a/src/arch/power/isa/formats/mem.isa
+++ b/src/arch/power/isa/formats/mem.isa
@@ -84,7 +84,7 @@ def template LoadExecute {{
%(ea_code)s;
if (fault == NoFault) {
- fault = xc->read(EA, (uint%(mem_acc_size)d_t&)Mem, memAccessFlags);
+ fault = readMemAtomic(xc, traceData, EA, Mem, memAccessFlags);
%(memacc_code)s;
}
@@ -109,7 +109,7 @@ def template LoadInitiateAcc {{
%(ea_code)s;
if (fault == NoFault) {
- fault = xc->read(EA, (uint%(mem_acc_size)d_t &)Mem, memAccessFlags);
+ fault = readMemTiming(xc, traceData, EA, Mem, memAccessFlags);
xc->setEA(EA);
}
@@ -132,7 +132,7 @@ def template LoadCompleteAcc {{
EA = xc->getEA();
- val = pkt->get<uint%(mem_acc_size)d_t>();
+ getMem(pkt, val, traceData);
*((uint%(mem_acc_size)d_t*)&Mem) = val;
if (fault == NoFault) {
@@ -164,8 +164,8 @@ def template StoreExecute {{
}
if (fault == NoFault) {
- fault = xc->write((uint%(mem_acc_size)d_t&)Mem, EA,
- memAccessFlags, NULL);
+ fault = writeMemAtomic(xc, traceData, Mem, EA, memAccessFlags,
+ NULL);
}
if (fault == NoFault) {
@@ -193,8 +193,8 @@ def template StoreInitiateAcc {{
}
if (fault == NoFault) {
- fault = xc->write((uint%(mem_acc_size)d_t&)Mem, EA,
- memAccessFlags, NULL);
+ fault = writeMemTiming(xc, traceData, Mem, EA, memAccessFlags,
+ NULL);
}
// Need to write back any potential address register update
diff --git a/src/arch/power/isa/includes.isa b/src/arch/power/isa/includes.isa
index 5c2b74141..f6292eaab 100644
--- a/src/arch/power/isa/includes.isa
+++ b/src/arch/power/isa/includes.isa
@@ -75,6 +75,7 @@ output exec {{
#include <fenv.h>
#endif
+#include "arch/generic/memhelpers.hh"
#include "arch/power/faults.hh"
#include "arch/power/isa_traits.hh"
#include "arch/power/utility.hh"