gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Attributes | Private Attributes | List of all members
SparcISA::PageTableEntry Class Reference

#include <pagetable.hh>

Public Types

enum  EntryType { sun4v, sun4u, invalid }
 

Public Member Functions

 PageTableEntry ()
 
 PageTableEntry (uint64_t e, EntryType t=sun4u)
 
void populate (uint64_t e, EntryType t=sun4u)
 
void clear ()
 
uint64_t operator() () const
 
const PageTableEntryoperator= (uint64_t e)
 
const PageTableEntryoperator= (const PageTableEntry &e)
 
bool valid () const
 
uint8_t _size () const
 
Addr size () const
 
Addr sizeMask () const
 
bool ie () const
 
Addr pfn () const
 
Addr paddr () const
 
bool locked () const
 
bool cv () const
 
bool cp () const
 
bool priv () const
 
bool writable () const
 
bool nofault () const
 
bool sideffect () const
 
Addr paddrMask () const
 
Addr translate (Addr vaddr) const
 

Static Public Attributes

static int pageSizes [6]
 

Private Attributes

uint64_t entry
 
EntryType type
 
uint64_t entry4u
 
bool populated
 

Detailed Description

Definition at line 72 of file pagetable.hh.

Member Enumeration Documentation

Enumerator
sun4v 
sun4u 
invalid 

Definition at line 75 of file pagetable.hh.

Constructor & Destructor Documentation

SparcISA::PageTableEntry::PageTableEntry ( )
inline

Definition at line 88 of file pagetable.hh.

SparcISA::PageTableEntry::PageTableEntry ( uint64_t  e,
EntryType  t = sun4u 
)
inline

Definition at line 91 of file pagetable.hh.

References entry, populate(), and type.

Member Function Documentation

uint8_t SparcISA::PageTableEntry::_size ( ) const
inline

Definition at line 154 of file pagetable.hh.

References bits(), entry4u, and populated.

Referenced by size().

void SparcISA::PageTableEntry::clear ( )
inline

Definition at line 125 of file pagetable.hh.

References populated.

bool SparcISA::PageTableEntry::cp ( ) const
inline

Definition at line 167 of file pagetable.hh.

References bits(), entry4u, and populated.

bool SparcISA::PageTableEntry::cv ( ) const
inline

Definition at line 166 of file pagetable.hh.

References bits(), entry4u, and populated.

bool SparcISA::PageTableEntry::ie ( ) const
inline

Definition at line 162 of file pagetable.hh.

References bits(), and entry4u.

bool SparcISA::PageTableEntry::locked ( ) const
inline

Definition at line 165 of file pagetable.hh.

References bits(), entry4u, and populated.

Referenced by SparcISA::TLB::clearUsedBits().

bool SparcISA::PageTableEntry::nofault ( ) const
inline

Definition at line 170 of file pagetable.hh.

References bits(), entry4u, and populated.

Referenced by SparcISA::TLB::translateData().

uint64_t SparcISA::PageTableEntry::operator() ( ) const
inline

Definition at line 132 of file pagetable.hh.

References entry4u, and populated.

const PageTableEntry& SparcISA::PageTableEntry::operator= ( uint64_t  e)
inline

Definition at line 135 of file pagetable.hh.

References ArmISA::e, entry4u, and populated.

const PageTableEntry& SparcISA::PageTableEntry::operator= ( const PageTableEntry e)
inline

Definition at line 143 of file pagetable.hh.

References entry4u, populated, and type.

Addr SparcISA::PageTableEntry::paddr ( ) const
inline
Addr SparcISA::PageTableEntry::paddrMask ( ) const
inline

Definition at line 172 of file pagetable.hh.

References paddr(), populated, and sizeMask().

Addr SparcISA::PageTableEntry::pfn ( ) const
inline

Definition at line 163 of file pagetable.hh.

References bits(), entry4u, and populated.

void SparcISA::PageTableEntry::populate ( uint64_t  e,
EntryType  t = sun4u 
)
inline
bool SparcISA::PageTableEntry::priv ( ) const
inline

Definition at line 168 of file pagetable.hh.

References bits(), entry4u, and populated.

Referenced by SparcISA::TLB::translateData(), and SparcISA::TLB::translateInst().

bool SparcISA::PageTableEntry::sideffect ( ) const
inline

Definition at line 171 of file pagetable.hh.

References bits(), entry4u, and populated.

Referenced by SparcISA::TLB::translateData().

Addr SparcISA::PageTableEntry::size ( ) const
inline

Definition at line 160 of file pagetable.hh.

References _size(), and pageSizes.

Referenced by SparcISA::TLB::insert(), SparcISA::TLB::lookup(), and sizeMask().

Addr SparcISA::PageTableEntry::sizeMask ( ) const
inline

Definition at line 161 of file pagetable.hh.

References size().

Referenced by paddrMask(), and translate().

Addr SparcISA::PageTableEntry::translate ( Addr  vaddr) const
inline
bool SparcISA::PageTableEntry::valid ( ) const
inline

Definition at line 151 of file pagetable.hh.

References bits(), entry4u, and populated.

Referenced by SparcISA::TLB::insert().

bool SparcISA::PageTableEntry::writable ( ) const
inline

Definition at line 169 of file pagetable.hh.

References bits(), entry4u, and populated.

Referenced by SparcISA::TLB::translateData().

Member Data Documentation

uint64_t SparcISA::PageTableEntry::entry
private

Definition at line 82 of file pagetable.hh.

Referenced by PageTableEntry(), and populate().

uint64_t SparcISA::PageTableEntry::entry4u
private
int SparcISA::PageTableEntry::pageSizes
static
Initial value:
=
{ 8 * 1024, 64 * 1024, 0, 4 * 1024 * 1024, 0, 256 * 1024 * 1024L}

Definition at line 130 of file pagetable.hh.

Referenced by size().

bool SparcISA::PageTableEntry::populated
private
EntryType SparcISA::PageTableEntry::type
private

Definition at line 83 of file pagetable.hh.

Referenced by operator=(), PageTableEntry(), and populate().


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

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