gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
NoArchPageTable Class Reference

Faux page table class indended to stop the usage of an architectural page table, when there is none defined for a particular ISA. More...

#include <page_table.hh>

Inheritance diagram for NoArchPageTable:
FuncPageTable PageTableBase Serializable

Public Member Functions

 NoArchPageTable (const std::string &__name, uint64_t _pid, System *_sys, Addr _pageSize=TheISA::PageBytes)
 
- Public Member Functions inherited from FuncPageTable
 FuncPageTable (const std::string &__name, uint64_t _pid, Addr _pageSize=TheISA::PageBytes)
 
 ~FuncPageTable ()
 
void initState (ThreadContext *tc) override
 
void map (Addr vaddr, Addr paddr, int64_t size, uint64_t flags=0) override
 Maps a virtual memory region to a physical memory region. More...
 
void remap (Addr vaddr, int64_t size, Addr new_vaddr) override
 
void unmap (Addr vaddr, int64_t size) override
 
bool isUnmapped (Addr vaddr, int64_t size) override
 Check if any pages in a region are already allocated. More...
 
bool lookup (Addr vaddr, TheISA::TlbEntry &entry) override
 Lookup function. More...
 
void serialize (CheckpointOut &cp) const override
 Serialize an object. More...
 
void unserialize (CheckpointIn &cp) override
 Unserialize an object. More...
 
void getMappings (std::vector< std::pair< Addr, Addr >> *addr_maps) override
 
- Public Member Functions inherited from PageTableBase
 PageTableBase (const std::string &__name, uint64_t _pid, Addr _pageSize=TheISA::PageBytes)
 
virtual ~PageTableBase ()
 
const std::string name () const
 
Addr pageAlign (Addr a)
 
Addr pageOffset (Addr a)
 
bool translate (Addr vaddr, Addr &paddr)
 Translate function. More...
 
bool translate (Addr vaddr)
 Simplified translate function (just check for translation) More...
 
Fault translate (RequestPtr req)
 Perform a translation on the memory request, fills in paddr field of req. More...
 
void updateCache (Addr vaddr, TheISA::TlbEntry entry)
 Update the page table cache. More...
 
void eraseCacheEntry (Addr vaddr)
 Erase an entry from the page table cache. More...
 
- Public Member Functions inherited from Serializable
 Serializable ()
 
virtual ~Serializable ()
 
void serializeSection (CheckpointOut &cp, const char *name) const
 Serialize an object into a new section. More...
 
void serializeSection (CheckpointOut &cp, const std::string &name) const
 
void unserializeSection (CheckpointIn &cp, const char *name)
 Unserialize an a child object. More...
 
void unserializeSection (CheckpointIn &cp, const std::string &name)
 

Additional Inherited Members

- Public Types inherited from PageTableBase
enum  MappingFlags : uint32_t {
  Zero = 0, Clobber = 1, NotPresent = 2, Uncacheable = 4,
  ReadOnly = 8
}
 
- Static Public Member Functions inherited from Serializable
static const std::string & currentSection ()
 Get the fully-qualified name of the active section. More...
 
static void serializeAll (const std::string &cpt_dir)
 
static void unserializeGlobals (CheckpointIn &cp)
 
- Static Public Attributes inherited from Serializable
static int ckptCount = 0
 
static int ckptMaxCount = 0
 
static int ckptPrevCount = -1
 
- Protected Attributes inherited from PageTableBase
struct cacheElement pTableCache [3]
 
const Addr pageSize
 
const Addr offsetMask
 
const uint64_t pid
 
const std::string _name
 

Detailed Description

Faux page table class indended to stop the usage of an architectural page table, when there is none defined for a particular ISA.

Definition at line 254 of file page_table.hh.

Constructor & Destructor Documentation

NoArchPageTable::NoArchPageTable ( const std::string &  __name,
uint64_t  _pid,
System _sys,
Addr  _pageSize = TheISA::PageBytes 
)
inline

Definition at line 257 of file page_table.hh.

References fatal.


The documentation for this class was generated from the following file:

Generated on Fri Jun 9 2017 13:04:15 for gem5 by doxygen 1.8.6