summaryrefslogtreecommitdiff
path: root/src/arch/arm/table_walker.hh
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/table_walker.hh
parent6c8dd32fa4f21771a2c83886b08c3d68be516044 (diff)
downloadgem5-6b00c7fa22a38f140790aa57c8913178b006e5e8.tar.xz
ARM: Support table walks in timing mode.
Diffstat (limited to 'src/arch/arm/table_walker.hh')
-rw-r--r--src/arch/arm/table_walker.hh12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/arch/arm/table_walker.hh b/src/arch/arm/table_walker.hh
index f6d3bee06..fbb9133e1 100644
--- a/src/arch/arm/table_walker.hh
+++ b/src/arch/arm/table_walker.hh
@@ -289,6 +289,12 @@ class TableWalker : public MemObject
L1Descriptor l1Desc;
L2Descriptor l2Desc;
+ /** Save mode for use in delayed response */
+ BaseTLB::Mode mode;
+
+ /** Whether L1/L2 descriptor response is delayed in timing mode */
+ bool delayed;
+
public:
typedef ArmTableWalkerParams Params;
TableWalker(const Params *p);
@@ -312,10 +318,12 @@ class TableWalker : public MemObject
private:
void doL1Descriptor();
- EventWrapper<TableWalker, &TableWalker::doL1Descriptor> doL1DescEvent;
+ void doL1DescriptorWrapper();
+ EventWrapper<TableWalker, &TableWalker::doL1DescriptorWrapper> doL1DescEvent;
void doL2Descriptor();
- EventWrapper<TableWalker, &TableWalker::doL2Descriptor> doL2DescEvent;
+ void doL2DescriptorWrapper();
+ EventWrapper<TableWalker, &TableWalker::doL2DescriptorWrapper> doL2DescEvent;
};