gem5  v20.1.0.0
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 65 of file pagetable.hh.

Member Enumeration Documentation

◆ EntryType

Enumerator
sun4v 
sun4u 
invalid 

Definition at line 68 of file pagetable.hh.

Constructor & Destructor Documentation

◆ PageTableEntry() [1/2]

SparcISA::PageTableEntry::PageTableEntry ( )
inline

Definition at line 81 of file pagetable.hh.

◆ PageTableEntry() [2/2]

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

Definition at line 84 of file pagetable.hh.

References entry, populate(), and type.

Member Function Documentation

◆ _size()

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

Definition at line 147 of file pagetable.hh.

References bits(), entry4u, and populated.

Referenced by size().

◆ clear()

void SparcISA::PageTableEntry::clear ( )
inline

Definition at line 118 of file pagetable.hh.

References populated.

◆ cp()

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

Definition at line 160 of file pagetable.hh.

References bits(), entry4u, and populated.

◆ cv()

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

Definition at line 159 of file pagetable.hh.

References bits(), entry4u, and populated.

◆ ie()

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

Definition at line 155 of file pagetable.hh.

References bits(), and entry4u.

◆ locked()

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

Definition at line 158 of file pagetable.hh.

References bits(), entry4u, and populated.

◆ nofault()

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

Definition at line 163 of file pagetable.hh.

References bits(), entry4u, and populated.

◆ operator()()

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

Definition at line 125 of file pagetable.hh.

References entry4u, and populated.

◆ operator=() [1/2]

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

Definition at line 136 of file pagetable.hh.

References ArmISA::e, entry4u, populated, and type.

◆ operator=() [2/2]

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

Definition at line 128 of file pagetable.hh.

References ArmISA::e, entry4u, and populated.

◆ paddr()

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

◆ paddrMask()

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

Definition at line 165 of file pagetable.hh.

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

◆ pfn()

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

Definition at line 156 of file pagetable.hh.

References bits(), entry4u, and populated.

◆ populate()

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

◆ priv()

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

Definition at line 161 of file pagetable.hh.

References bits(), entry4u, and populated.

◆ sideffect()

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

Definition at line 164 of file pagetable.hh.

References bits(), entry4u, and populated.

◆ size()

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

Definition at line 153 of file pagetable.hh.

References _size(), and pageSizes.

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

◆ sizeMask()

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

Definition at line 154 of file pagetable.hh.

References size().

Referenced by paddrMask(), and translate().

◆ translate()

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

Definition at line 168 of file pagetable.hh.

References ArmISA::mask, paddr(), populated, sizeMask(), and MipsISA::vaddr.

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

◆ valid()

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

Definition at line 144 of file pagetable.hh.

References bits(), entry4u, and populated.

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

◆ writable()

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

Definition at line 162 of file pagetable.hh.

References bits(), entry4u, and populated.

Member Data Documentation

◆ entry

uint64_t SparcISA::PageTableEntry::entry
private

Definition at line 75 of file pagetable.hh.

Referenced by PageTableEntry(), and populate().

◆ entry4u

uint64_t SparcISA::PageTableEntry::entry4u
private

◆ pageSizes

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

Definition at line 123 of file pagetable.hh.

Referenced by size().

◆ populated

bool SparcISA::PageTableEntry::populated
private

◆ type

EntryType SparcISA::PageTableEntry::type
private

Definition at line 76 of file pagetable.hh.

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


The documentation for this class was generated from the following files:
X86ISA::L
Bitfield< 7, 0 > L
Definition: int.hh:57

Generated on Wed Sep 30 2020 14:03:11 for gem5 by doxygen 1.8.17