1/* 2 * Copyright (c) 2014 Advanced Micro Devices, Inc. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 126 unchanged lines hidden (view full) --- 135 * walking the page table 136 * @return PTE_addr The address of the found PTE 137 */ 138 void walk(Addr vaddr, bool allocate, Addr &PTE_addr); 139 140public: 141 MultiLevelPageTable(const std::string &__name, uint64_t _pid, 142 System *_sys, Addr pageSize, |
143 const std::vector<uint8_t> &layout, 144 Addr _basePtr); |
145 ~MultiLevelPageTable(); 146 147 void initState(ThreadContext* tc) override; 148 149 void map(Addr vaddr, Addr paddr, int64_t size, 150 uint64_t flags = 0) override; 151 void remap(Addr vaddr, int64_t size, Addr new_vaddr) override; 152 void unmap(Addr vaddr, int64_t size) override; 153 void serialize(CheckpointOut &cp) const override; 154 void unserialize(CheckpointIn &cp) override; 155}; 156#endif // __MEM_MULTI_LEVEL_PAGE_TABLE_HH__ |