diff options
Diffstat (limited to 'src/mem')
-rw-r--r-- | src/mem/multi_level_page_table.hh | 3 | ||||
-rw-r--r-- | src/mem/multi_level_page_table_impl.hh | 8 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/mem/multi_level_page_table.hh b/src/mem/multi_level_page_table.hh index 10e411eb1..f71dc0dbc 100644 --- a/src/mem/multi_level_page_table.hh +++ b/src/mem/multi_level_page_table.hh @@ -139,7 +139,8 @@ class MultiLevelPageTable : public EmulationPageTable public: MultiLevelPageTable(const std::string &__name, uint64_t _pid, - System *_sys, Addr pageSize); + System *_sys, Addr pageSize, + const std::vector<uint8_t> &layout); ~MultiLevelPageTable(); void initState(ThreadContext* tc) override; 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()) { } |