gem5  v20.0.0.2
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules 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 70 of file pagetable.hh.

Member Enumeration Documentation

◆ EntryType

Enumerator
sun4v 
sun4u 
invalid 

Definition at line 73 of file pagetable.hh.

Constructor & Destructor Documentation

◆ PageTableEntry() [1/2]

SparcISA::PageTableEntry::PageTableEntry ( )
inline

Definition at line 86 of file pagetable.hh.

◆ PageTableEntry() [2/2]

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

Definition at line 89 of file pagetable.hh.

Member Function Documentation

◆ _size()

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

Definition at line 152 of file pagetable.hh.

References bits().

◆ clear()

void SparcISA::PageTableEntry::clear ( )
inline

Definition at line 123 of file pagetable.hh.

◆ cp()

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

Definition at line 165 of file pagetable.hh.

References bits().

◆ cv()

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

Definition at line 164 of file pagetable.hh.

References bits().

◆ ie()

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

Definition at line 160 of file pagetable.hh.

References bits().

◆ locked()

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

Definition at line 163 of file pagetable.hh.

References bits().

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

◆ nofault()

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

Definition at line 168 of file pagetable.hh.

References bits().

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

◆ operator()()

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

Definition at line 130 of file pagetable.hh.

◆ operator=() [1/2]

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

Definition at line 133 of file pagetable.hh.

References ArmISA::e.

◆ operator=() [2/2]

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

Definition at line 141 of file pagetable.hh.

References entry4u, and type.

◆ paddr()

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

◆ paddrMask()

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

Definition at line 170 of file pagetable.hh.

◆ pfn()

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

Definition at line 161 of file pagetable.hh.

References bits().

◆ populate()

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

◆ priv()

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

Definition at line 166 of file pagetable.hh.

References bits().

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

◆ sideffect()

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

Definition at line 169 of file pagetable.hh.

References bits().

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

◆ size()

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

Definition at line 158 of file pagetable.hh.

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

◆ sizeMask()

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

Definition at line 159 of file pagetable.hh.

◆ translate()

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

◆ valid()

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

Definition at line 149 of file pagetable.hh.

References bits().

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

◆ writable()

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

Definition at line 167 of file pagetable.hh.

References bits().

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

Member Data Documentation

◆ entry

uint64_t SparcISA::PageTableEntry::entry
private

Definition at line 80 of file pagetable.hh.

◆ entry4u

uint64_t SparcISA::PageTableEntry::entry4u
private

Definition at line 82 of file pagetable.hh.

Referenced by operator=().

◆ pageSizes

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

Definition at line 128 of file pagetable.hh.

Referenced by SparcISA::TlbEntry::unserialize().

◆ populated

bool SparcISA::PageTableEntry::populated
private

Definition at line 83 of file pagetable.hh.

◆ type

EntryType SparcISA::PageTableEntry::type
private

Definition at line 81 of file pagetable.hh.

Referenced by operator=().


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

Generated on Mon Jun 8 2020 15:46:03 for gem5 by doxygen 1.8.13