page_table.hh (11168:f98eb2da15a4) | page_table.hh (11169:44b5c183c3cd) |
---|---|
1/* 2 * Copyright (c) 2014 Advanced Micro Devices, Inc. 3 * Copyright (c) 2003 The Regents of The University of Michigan 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: redistributions of source code must retain the above copyright --- 197 unchanged lines hidden (view full) --- 206 207 public: 208 209 FuncPageTable(const std::string &__name, uint64_t _pid, 210 Addr _pageSize = TheISA::PageBytes); 211 212 ~FuncPageTable(); 213 | 1/* 2 * Copyright (c) 2014 Advanced Micro Devices, Inc. 3 * Copyright (c) 2003 The Regents of The University of Michigan 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: redistributions of source code must retain the above copyright --- 197 unchanged lines hidden (view full) --- 206 207 public: 208 209 FuncPageTable(const std::string &__name, uint64_t _pid, 210 Addr _pageSize = TheISA::PageBytes); 211 212 ~FuncPageTable(); 213 |
214 void initState(ThreadContext* tc) | 214 void initState(ThreadContext* tc) override |
215 { 216 } 217 218 void map(Addr vaddr, Addr paddr, int64_t size, | 215 { 216 } 217 218 void map(Addr vaddr, Addr paddr, int64_t size, |
219 uint64_t flags = 0); 220 void remap(Addr vaddr, int64_t size, Addr new_vaddr); 221 void unmap(Addr vaddr, int64_t size); | 219 uint64_t flags = 0) override; 220 void remap(Addr vaddr, int64_t size, Addr new_vaddr) override; 221 void unmap(Addr vaddr, int64_t size) override; |
222 223 /** 224 * Check if any pages in a region are already allocated 225 * @param vaddr The starting virtual address of the region. 226 * @param size The length of the region. 227 * @return True if no pages in the region are mapped. 228 */ | 222 223 /** 224 * Check if any pages in a region are already allocated 225 * @param vaddr The starting virtual address of the region. 226 * @param size The length of the region. 227 * @return True if no pages in the region are mapped. 228 */ |
229 bool isUnmapped(Addr vaddr, int64_t size); | 229 bool isUnmapped(Addr vaddr, int64_t size) override; |
230 231 /** 232 * Lookup function 233 * @param vaddr The virtual address. 234 * @return entry The page table entry corresponding to vaddr. 235 */ | 230 231 /** 232 * Lookup function 233 * @param vaddr The virtual address. 234 * @return entry The page table entry corresponding to vaddr. 235 */ |
236 bool lookup(Addr vaddr, TheISA::TlbEntry &entry); | 236 bool lookup(Addr vaddr, TheISA::TlbEntry &entry) override; |
237 238 void serialize(CheckpointOut &cp) const override; 239 void unserialize(CheckpointIn &cp) override; 240}; 241 242/** 243 * Faux page table class indended to stop the usage of 244 * an architectural page table, when there is none defined --- 13 unchanged lines hidden --- | 237 238 void serialize(CheckpointOut &cp) const override; 239 void unserialize(CheckpointIn &cp) override; 240}; 241 242/** 243 * Faux page table class indended to stop the usage of 244 * an architectural page table, when there is none defined --- 13 unchanged lines hidden --- |