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__