gem5  v22.1.0.0
Public Types | Public Member Functions | Static Public Attributes | Private Attributes | List of all members
gem5::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 68 of file pagetable.hh.

Member Enumeration Documentation

◆ EntryType

Enumerator
sun4v 
sun4u 
invalid 

Definition at line 71 of file pagetable.hh.

Constructor & Destructor Documentation

◆ PageTableEntry() [1/2]

gem5::SparcISA::PageTableEntry::PageTableEntry ( )
inline

Definition at line 85 of file pagetable.hh.

◆ PageTableEntry() [2/2]

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

Definition at line 88 of file pagetable.hh.

References entry, populate(), and type.

Member Function Documentation

◆ _size()

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

Definition at line 151 of file pagetable.hh.

References gem5::bits(), entry4u, and populated.

Referenced by size(), and gem5::SparcISA::TLB::TagRead().

◆ clear()

void gem5::SparcISA::PageTableEntry::clear ( )
inline

Definition at line 122 of file pagetable.hh.

References populated.

◆ cp()

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

Definition at line 164 of file pagetable.hh.

References gem5::bits(), entry4u, and populated.

◆ cv()

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

Definition at line 163 of file pagetable.hh.

References gem5::bits(), entry4u, and populated.

◆ ie()

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

Definition at line 159 of file pagetable.hh.

References gem5::bits(), and entry4u.

◆ locked()

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

Definition at line 162 of file pagetable.hh.

References gem5::bits(), entry4u, and populated.

◆ nofault()

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

Definition at line 167 of file pagetable.hh.

References gem5::bits(), entry4u, and populated.

◆ operator()()

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

Definition at line 129 of file pagetable.hh.

References entry4u, and populated.

◆ operator=() [1/2]

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

Definition at line 140 of file pagetable.hh.

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

◆ operator=() [2/2]

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

Definition at line 132 of file pagetable.hh.

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

◆ paddr()

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

◆ paddrMask()

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

Definition at line 169 of file pagetable.hh.

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

◆ pfn()

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

Definition at line 160 of file pagetable.hh.

References gem5::bits(), entry4u, and populated.

◆ populate()

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

◆ priv()

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

Definition at line 165 of file pagetable.hh.

References gem5::bits(), entry4u, and populated.

◆ sideffect()

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

Definition at line 168 of file pagetable.hh.

References gem5::bits(), entry4u, and populated.

◆ size()

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

Definition at line 157 of file pagetable.hh.

References _size(), and pageSizes.

Referenced by sizeMask().

◆ sizeMask()

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

Definition at line 158 of file pagetable.hh.

References size().

Referenced by paddrMask(), and translate().

◆ translate()

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

◆ valid()

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

Definition at line 148 of file pagetable.hh.

References gem5::bits(), entry4u, and populated.

◆ writable()

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

Definition at line 166 of file pagetable.hh.

References gem5::bits(), entry4u, and populated.

Referenced by gem5::X86ISA::Walker::WalkerState::stepWalk().

Member Data Documentation

◆ entry

uint64_t gem5::SparcISA::PageTableEntry::entry
private

Definition at line 79 of file pagetable.hh.

Referenced by PageTableEntry(), and populate().

◆ entry4u

uint64_t gem5::SparcISA::PageTableEntry::entry4u
private

◆ pageSizes

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

Definition at line 127 of file pagetable.hh.

Referenced by size().

◆ populated

bool gem5::SparcISA::PageTableEntry::populated
private

◆ type

EntryType gem5::SparcISA::PageTableEntry::type
private

Definition at line 80 of file pagetable.hh.

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


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

Generated on Wed Dec 21 2022 10:24:25 for gem5 by doxygen 1.9.1