changeset 3c48b2b3cb83 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=3c48b2b3cb83
description:
Merge with head.
diffstat:
src/cpu/simple/timing.cc | 3 ++-
util/m5/m5.c | 5 +++++
2 files changed, 7 insertions(+), 1 deletions(-)
diffs (35 lines):
diff -r 67c670459d01 -r 3c48b2b3cb83 src/cpu/simple/timing.cc
--- a/src/cpu/simple/timing.cc Fri Aug 13 06:16:02 2010 -0700
+++ b/src/cpu/simple/timing.cc Fri Aug 13 06:16:30 2010 -0700
@@ -891,6 +891,8 @@
// received a response from the dcache: complete the load or store
// instruction
assert(!pkt->isError());
+ assert(_status == DcacheWaitResponse || _status == DTBWaitResponse ||
+ pkt->req->getFlags().isSet(Request::NO_ACCESS));
numCycles += tickToCycles(curTick - previousTick);
previousTick = curTick;
@@ -920,7 +922,6 @@
}
}
- assert(_status == DcacheWaitResponse || _status == DTBWaitResponse);
_status = Running;
Fault fault = curStaticInst->completeAcc(pkt, this, traceData);
diff -r 67c670459d01 -r 3c48b2b3cb83 util/m5/m5.c
--- a/util/m5/m5.c Fri Aug 13 06:16:02 2010 -0700
+++ b/util/m5/m5.c Fri Aug 13 06:16:30 2010 -0700
@@ -65,6 +65,11 @@
int offset = 0;
int len;
+ // Touch all buffer pages to ensure they are mapped in the
+ // page table. This is required in the case of X86_FS, where
+ // Linux does demand paging.
+ memset(buf, 0, sizeof(buf));
+
while ((len = m5_readfile(buf, sizeof(buf), offset)) > 0) {
write(dest_fid, buf, len);
offset += len;
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev