diff options
author | Curtis Dunham <Curtis.Dunham@arm.com> | 2016-08-02 10:38:03 +0100 |
---|---|---|
committer | Curtis Dunham <Curtis.Dunham@arm.com> | 2016-08-02 10:38:03 +0100 |
commit | 8b3434a4f2090961dc5b3da7bc48b8b636b9f1e3 (patch) | |
tree | 07e1633a0d9d28ffe5940260e48e81ae7df8fc1b /src/arch/arm/table_walker.hh | |
parent | 09218ed397f0df12dd7d4cd21dd6203330e69d06 (diff) | |
download | gem5-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.hh | 1 |
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, |