summaryrefslogtreecommitdiff
path: root/src/arch/arm/tlb.cc
diff options
context:
space:
mode:
authorDam Sunwoo <dam.sunwoo@arm.com>2010-06-02 12:58:18 -0500
committerDam Sunwoo <dam.sunwoo@arm.com>2010-06-02 12:58:18 -0500
commit6b00c7fa22a38f140790aa57c8913178b006e5e8 (patch)
treeb6cf699f14b45e26624670f5068e13df22f9e1dc /src/arch/arm/tlb.cc
parent6c8dd32fa4f21771a2c83886b08c3d68be516044 (diff)
downloadgem5-6b00c7fa22a38f140790aa57c8913178b006e5e8.tar.xz
ARM: Support table walks in timing mode.
Diffstat (limited to 'src/arch/arm/tlb.cc')
-rw-r--r--src/arch/arm/tlb.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/arch/arm/tlb.cc b/src/arch/arm/tlb.cc
index 7f02061b0..422ac68f4 100644
--- a/src/arch/arm/tlb.cc
+++ b/src/arch/arm/tlb.cc
@@ -408,8 +408,11 @@ TLB::translateFs(RequestPtr req, ThreadContext *tc, Mode mode,
vaddr, context_id);
fault = tableWalker->walk(req, tc, context_id, mode, translation,
timing);
- if (timing)
+ if (timing) {
delay = true;
+ // for timing mode, return and wait for table walk
+ return fault;
+ }
if (fault)
return fault;