summaryrefslogtreecommitdiff
path: root/src/arch/arm/table_walker.hh
diff options
context:
space:
mode:
authorCurtis Dunham <Curtis.Dunham@arm.com>2016-08-02 10:38:03 +0100
committerCurtis Dunham <Curtis.Dunham@arm.com>2016-08-02 10:38:03 +0100
commit8b3434a4f2090961dc5b3da7bc48b8b636b9f1e3 (patch)
tree07e1633a0d9d28ffe5940260e48e81ae7df8fc1b /src/arch/arm/table_walker.hh
parent09218ed397f0df12dd7d4cd21dd6203330e69d06 (diff)
downloadgem5-8b3434a4f2090961dc5b3da7bc48b8b636b9f1e3.tar.xz
arm: refactor page table walking
Introduce and use a lookup table. Using fetchDescriptor() rather than DMA cleanly handles nested paging. Change-Id: I69ec762f176bd752ba1040890e731826b58d15a6
Diffstat (limited to 'src/arch/arm/table_walker.hh')
-rw-r--r--src/arch/arm/table_walker.hh1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/arch/arm/table_walker.hh b/src/arch/arm/table_walker.hh
index fc628f714..c52cfcb4c 100644
--- a/src/arch/arm/table_walker.hh
+++ b/src/arch/arm/table_walker.hh
@@ -944,6 +944,7 @@ class TableWalker : public MemObject
&TableWalker::doL3LongDescriptorWrapper> doL3LongDescEvent;
void doLongDescriptorWrapper(LookupLevel curr_lookup_level);
+ Event* LongDescEventByLevel[4];
bool fetchDescriptor(Addr descAddr, uint8_t *data, int numBytes,
Request::Flags flags, int queueIndex, Event *event,