summaryrefslogtreecommitdiff
path: root/src/mem/multi_level_page_table_impl.hh
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-01-05 17:48:40 -0800
committerGabe Black <gabeblack@google.com>2018-01-20 08:07:23 +0000
commit703662624ca9f6f5454b4d1ac773475c0af1bec5 (patch)
tree68181a1f3683dc45c9346c09a379679e1d13d16c /src/mem/multi_level_page_table_impl.hh
parent2a15bfd79ced20a6d4cbf0a0a4c2fbb1444b9a44 (diff)
downloadgem5-703662624ca9f6f5454b4d1ac773475c0af1bec5.tar.xz
x86, mem: Pass the multi level page table layout in as a parameter.
Don't get it from a global constant declared in an ISA header file. Change-Id: Ie19440abdd76500a5e12e6791e6f755ad9e95af3 Reviewed-on: https://gem5-review.googlesource.com/7344 Maintainer: Gabe Black <gabeblack@google.com> Reviewed-by: Brandon Potter <Brandon.Potter@amd.com> Reviewed-by: Alexandru Duțu <alexandru.dutu@amd.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Diffstat (limited to 'src/mem/multi_level_page_table_impl.hh')
-rw-r--r--src/mem/multi_level_page_table_impl.hh8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mem/multi_level_page_table_impl.hh b/src/mem/multi_level_page_table_impl.hh
index 3222f5f11..2d7ddc4e4 100644
--- a/src/mem/multi_level_page_table_impl.hh
+++ b/src/mem/multi_level_page_table_impl.hh
@@ -45,11 +45,11 @@ using namespace std;
using namespace TheISA;
template <class ISAOps>
-MultiLevelPageTable<ISAOps>::MultiLevelPageTable(const std::string &__name,
- uint64_t _pid, System *_sys,
- Addr pageSize)
+MultiLevelPageTable<ISAOps>::MultiLevelPageTable(
+ const std::string &__name, uint64_t _pid, System *_sys,
+ Addr pageSize, const std::vector<uint8_t> &layout)
: EmulationPageTable(__name, _pid, pageSize), system(_sys),
- logLevelSize(PageTableLayout),
+ logLevelSize(layout),
numLevels(logLevelSize.size())
{
}