bool walk(Addr vaddr, bool allocate, Addr &PTE_addr);
public:
- MultiLevelPageTable(const std::string &__name, uint64_t _pid, System *_sys);
+ MultiLevelPageTable(const std::string &__name, uint64_t _pid,
+ System *_sys);
~MultiLevelPageTable();
void initState(ThreadContext* tc);
- void map(Addr vaddr, Addr paddr, int64_t size, bool clobber = false);
+ void map(Addr vaddr, Addr paddr, int64_t size,
+ uint64_t flags = 0);
void remap(Addr vaddr, int64_t size, Addr new_vaddr);
void unmap(Addr vaddr, int64_t size);
bool isUnmapped(Addr vaddr, int64_t size);
bool lookup(Addr vaddr, TheISA::TlbEntry &entry);
- void serialize(std::ostream &os);
- void unserialize(Checkpoint *cp, const std::string §ion);
+ void serialize(CheckpointOut &cp) const M5_ATTR_OVERRIDE;
+ void unserialize(CheckpointIn &cp) M5_ATTR_OVERRIDE;
};
#endif // __MEM_MULTI_LEVEL_PAGE_TABLE_HH__