multi_level_page_table.hh (12456:9d042ae9dd5b) | multi_level_page_table.hh (12457:b9b7bdb5a8ac) |
---|---|
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, | 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); | 143 const std::vector<uint8_t> &layout, 144 Addr _basePtr); |
144 ~MultiLevelPageTable(); 145 146 void initState(ThreadContext* tc) override; 147 148 void map(Addr vaddr, Addr paddr, int64_t size, 149 uint64_t flags = 0) override; 150 void remap(Addr vaddr, int64_t size, Addr new_vaddr) override; 151 void unmap(Addr vaddr, int64_t size) override; 152 void serialize(CheckpointOut &cp) const override; 153 void unserialize(CheckpointIn &cp) override; 154}; 155#endif // __MEM_MULTI_LEVEL_PAGE_TABLE_HH__ | 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__ |