gem5  v21.1.0.2
Public Member Functions | Public Attributes | List of all members
gem5::X86ISA::TlbEntry Struct Reference

#include <pagetable.hh>

Inheritance diagram for gem5::X86ISA::TlbEntry:
gem5::Serializable

Public Member Functions

 TlbEntry (Addr asn, Addr _vaddr, Addr _paddr, bool uncacheable, bool read_only)
 
 TlbEntry ()
 
void updateVaddr (Addr new_vaddr)
 
Addr pageStart ()
 
int size ()
 
void serialize (CheckpointOut &cp) const override
 Serialize an object. More...
 
void unserialize (CheckpointIn &cp) override
 Unserialize an object. More...
 
- Public Member Functions inherited from gem5::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)
 

Public Attributes

Addr paddr
 
Addr vaddr
 
unsigned logBytes
 
bool writable
 
bool user
 
bool uncacheable
 
bool global
 
bool patBit
 
bool noExec
 
uint64_t lruSeq
 
TlbEntryTrie::Handle trieHandle
 

Additional Inherited Members

- Static Public Member Functions inherited from gem5::Serializable
static const std::string & currentSection ()
 Gets the fully-qualified name of the active section. More...
 
static void generateCheckpointOut (const std::string &cpt_dir, std::ofstream &outstream)
 Generate a checkpoint file so that the serialization can be routed to it. More...
 

Detailed Description

Definition at line 65 of file pagetable.hh.

Constructor & Destructor Documentation

◆ TlbEntry() [1/2]

gem5::X86ISA::TlbEntry::TlbEntry ( Addr  asn,
Addr  _vaddr,
Addr  _paddr,
bool  uncacheable,
bool  read_only 
)

Definition at line 58 of file pagetable.cc.

◆ TlbEntry() [2/2]

gem5::X86ISA::TlbEntry::TlbEntry ( )

Definition at line 51 of file pagetable.cc.

Member Function Documentation

◆ pageStart()

Addr gem5::X86ISA::TlbEntry::pageStart ( )
inline

Definition at line 106 of file pagetable.hh.

References paddr.

◆ serialize()

void gem5::X86ISA::TlbEntry::serialize ( CheckpointOut cp) const
overridevirtual

Serialize an object.

Output an object's state into the current checkpoint section.

Parameters
cpCheckpoint state

Implements gem5::Serializable.

Definition at line 66 of file pagetable.cc.

References global, logBytes, lruSeq, noExec, paddr, patBit, SERIALIZE_SCALAR, uncacheable, user, vaddr, and writable.

◆ size()

int gem5::X86ISA::TlbEntry::size ( )
inline

◆ unserialize()

void gem5::X86ISA::TlbEntry::unserialize ( CheckpointIn cp)
overridevirtual

Unserialize an object.

Read an object's state from the current checkpoint section.

Parameters
cpCheckpoint state

Implements gem5::Serializable.

Definition at line 81 of file pagetable.cc.

References global, logBytes, lruSeq, noExec, paddr, patBit, uncacheable, UNSERIALIZE_SCALAR, user, vaddr, and writable.

◆ updateVaddr()

void gem5::X86ISA::TlbEntry::updateVaddr ( Addr  new_vaddr)
inline

Definition at line 101 of file pagetable.hh.

References vaddr.

Member Data Documentation

◆ global

bool gem5::X86ISA::TlbEntry::global

Definition at line 86 of file pagetable.hh.

Referenced by serialize(), and unserialize().

◆ logBytes

unsigned gem5::X86ISA::TlbEntry::logBytes

◆ lruSeq

uint64_t gem5::X86ISA::TlbEntry::lruSeq

◆ noExec

bool gem5::X86ISA::TlbEntry::noExec

Definition at line 90 of file pagetable.hh.

Referenced by serialize(), and unserialize().

◆ paddr

Addr gem5::X86ISA::TlbEntry::paddr

◆ patBit

bool gem5::X86ISA::TlbEntry::patBit

Definition at line 88 of file pagetable.hh.

Referenced by serialize(), and unserialize().

◆ trieHandle

TlbEntryTrie::Handle gem5::X86ISA::TlbEntry::trieHandle

◆ uncacheable

bool gem5::X86ISA::TlbEntry::uncacheable

◆ user

bool gem5::X86ISA::TlbEntry::user

◆ vaddr

Addr gem5::X86ISA::TlbEntry::vaddr

◆ writable

bool gem5::X86ISA::TlbEntry::writable

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

Generated on Tue Sep 21 2021 12:35:00 for gem5 by doxygen 1.8.17