Deleted Added
sdiff udiff text old ( 11800:54436a1784dc ) new ( 11886:43b882cada33 )
full compact
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

--- 180 unchanged lines hidden (view full) ---

189 if (pTableCache[0].valid && pTableCache[0].vaddr == vaddr) {
190 pTableCache[0].valid = false;
191 } else if (pTableCache[1].valid && pTableCache[1].vaddr == vaddr) {
192 pTableCache[1].valid = false;
193 } else if (pTableCache[2].valid && pTableCache[2].vaddr == vaddr) {
194 pTableCache[2].valid = false;
195 }
196 }
197};
198
199/**
200 * Declaration of functional page table.
201 */
202class FuncPageTable : public PageTableBase
203{
204 private:

--- 29 unchanged lines hidden (view full) ---

234 * Lookup function
235 * @param vaddr The virtual address.
236 * @return entry The page table entry corresponding to vaddr.
237 */
238 bool lookup(Addr vaddr, TheISA::TlbEntry &entry) override;
239
240 void serialize(CheckpointOut &cp) const override;
241 void unserialize(CheckpointIn &cp) override;
242};
243
244/**
245 * Faux page table class indended to stop the usage of
246 * an architectural page table, when there is none defined
247 * for a particular ISA.
248 */
249class NoArchPageTable : public FuncPageTable
250{
251 public:
252 NoArchPageTable(const std::string &__name, uint64_t _pid, System *_sys,
253 Addr _pageSize = TheISA::PageBytes) : FuncPageTable(__name, _pid)
254 {
255 fatal("No architectural page table defined for this ISA.\n");
256 }
257};
258
259#endif // __MEM_PAGE_TABLE_HH__