projects
/
gem5.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
0d301ca
)
O3CPU: Fix a bug where stores in the cpu where never marked as split.
author
Timothy M. Jones
<tjones1@inf.ed.ac.uk>
Thu, 22 Jul 2010 17:52:02 +0000
(18:52 +0100)
committer
Timothy M. Jones
<tjones1@inf.ed.ac.uk>
Thu, 22 Jul 2010 17:52:02 +0000
(18:52 +0100)
src/cpu/o3/lsq_unit.hh
patch
|
blob
|
history
diff --git
a/src/cpu/o3/lsq_unit.hh
b/src/cpu/o3/lsq_unit.hh
index cf51f8eabc9c31c59e8da94d89c2f7ce4dca0e03..7b8b1e2e33f27ba8999a4d73c9a60d92bc4ac752 100644
(file)
--- a/
src/cpu/o3/lsq_unit.hh
+++ b/
src/cpu/o3/lsq_unit.hh
@@
-822,6
+822,12
@@
LSQUnit<Impl>::write(Request *req, Request *sreqLow, Request *sreqHigh,
storeQueue[store_idx].sreqLow = sreqLow;
storeQueue[store_idx].sreqHigh = sreqHigh;
storeQueue[store_idx].size = sizeof(T);
+
+ // Split stores can only occur in ISAs with unaligned memory accesses. If
+ // a store request has been split, sreqLow and sreqHigh will be non-null.
+ if (TheISA::HasUnalignedMemAcc && sreqLow) {
+ storeQueue[store_idx].isSplit = true;
+ }
assert(sizeof(T) <= sizeof(storeQueue[store_idx].data));
T gData = htog(data);