gem5 v25.0.0.1
Loading...
Searching...
No Matches
gem5::X86ISA::Walker::WalkerState Class Reference

#include <pagetable_walker.hh>

Public Member Functions

 WalkerState (Walker *_walker, BaseMMU::Translation *_translation, const RequestPtr &_req, bool _isFunctional=false)
void initState (ThreadContext *_tc, BaseMMU::Mode _mode, bool _isTiming=false)
Fault startWalk ()
Fault startFunctional (Addr &addr, unsigned &logBytes)
bool recvPacket (PacketPtr pkt)
unsigned numInflight () const
bool isRetrying ()
bool wasStarted ()
bool isTiming ()
void retry ()
void squash ()
std::string name () const

Protected Attributes

Walkerwalker
ThreadContexttc
RequestPtr req
State state
State nextState
int dataSize
bool enableNX
unsigned inflight
TlbEntry entry
PacketPtr read
std::vector< PacketPtrwrites
Fault timingFault
BaseMMU::Translationtranslation
BaseMMU::Mode mode
bool functional
bool timing
bool retrying
bool started
bool squashed

Private Types

enum  State {
  Ready , Waiting , LongPML4 , LongPDP ,
  LongPD , LongPTE , PAEPDP , PAEPD ,
  PAEPTE , PSEPD , PD , PTE
}

Private Member Functions

void setupWalk (Addr vaddr)
Fault stepWalk (PacketPtr &write)
void sendPackets ()
void endWalk ()
Fault pageFault (bool present)

Friends

class Walker

Detailed Description

Definition at line 82 of file pagetable_walker.hh.

Member Enumeration Documentation

◆ State

Enumerator
Ready 
Waiting 
LongPML4 
LongPDP 
LongPD 
LongPTE 
PAEPDP 
PAEPD 
PAEPTE 
PSEPD 
PD 
PTE 

Definition at line 86 of file pagetable_walker.hh.

Constructor & Destructor Documentation

◆ WalkerState()

gem5::X86ISA::Walker::WalkerState::WalkerState ( Walker * _walker,
BaseMMU::Translation * _translation,
const RequestPtr & _req,
bool _isFunctional = false )
inline

Member Function Documentation

◆ endWalk()

void gem5::X86ISA::Walker::WalkerState::endWalk ( )
private

Definition at line 558 of file pagetable_walker.cc.

References nextState, read, and Ready.

Referenced by stepWalk().

◆ initState()

void gem5::X86ISA::Walker::WalkerState::initState ( ThreadContext * _tc,
BaseMMU::Mode _mode,
bool _isTiming = false )

Definition at line 182 of file pagetable_walker.cc.

References mode, Ready, started, state, tc, and timing.

Referenced by gem5::X86ISA::Walker::start().

◆ isRetrying()

bool gem5::X86ISA::Walker::WalkerState::isRetrying ( )

Definition at line 718 of file pagetable_walker.cc.

References retrying.

Referenced by gem5::X86ISA::Walker::recvReqRetry().

◆ isTiming()

bool gem5::X86ISA::Walker::WalkerState::isTiming ( )

Definition at line 724 of file pagetable_walker.cc.

References timing.

Referenced by gem5::X86ISA::Walker::start().

◆ name()

std::string gem5::X86ISA::Walker::WalkerState::name ( ) const
inline

Definition at line 139 of file pagetable_walker.hh.

References walker.

◆ numInflight()

unsigned gem5::X86ISA::Walker::WalkerState::numInflight ( ) const

Definition at line 712 of file pagetable_walker.cc.

References inflight.

Referenced by gem5::X86ISA::Walker::startWalkWrapper().

◆ pageFault()

Fault gem5::X86ISA::Walker::WalkerState::pageFault ( bool present)
private

◆ recvPacket()

◆ retry()

void gem5::X86ISA::Walker::WalkerState::retry ( )

Definition at line 742 of file pagetable_walker.cc.

References retrying, and sendPackets().

Referenced by gem5::X86ISA::Walker::recvReqRetry().

◆ sendPackets()

void gem5::X86ISA::Walker::WalkerState::sendPackets ( )
private

Definition at line 679 of file pagetable_walker.cc.

References inflight, read, retrying, walker, and writes.

Referenced by recvPacket(), retry(), and startWalk().

◆ setupWalk()

◆ squash()

void gem5::X86ISA::Walker::WalkerState::squash ( )

Definition at line 736 of file pagetable_walker.cc.

References squashed.

Referenced by gem5::X86ISA::Walker::startWalkWrapper().

◆ startFunctional()

Fault gem5::X86ISA::Walker::WalkerState::startFunctional ( Addr & addr,
unsigned & logBytes )

◆ startWalk()

Fault gem5::X86ISA::Walker::WalkerState::startWalk ( )

◆ stepWalk()

◆ wasStarted()

bool gem5::X86ISA::Walker::WalkerState::wasStarted ( )

Definition at line 730 of file pagetable_walker.cc.

References started.

Referenced by gem5::X86ISA::Walker::startWalkWrapper().

◆ Walker

friend class Walker
friend

Definition at line 84 of file pagetable_walker.hh.

References Walker.

Referenced by Walker, and WalkerState().

Member Data Documentation

◆ dataSize

int gem5::X86ISA::Walker::WalkerState::dataSize
protected

Definition at line 104 of file pagetable_walker.hh.

Referenced by setupWalk(), and stepWalk().

◆ enableNX

bool gem5::X86ISA::Walker::WalkerState::enableNX
protected

Definition at line 105 of file pagetable_walker.hh.

Referenced by pageFault(), setupWalk(), and stepWalk().

◆ entry

TlbEntry gem5::X86ISA::Walker::WalkerState::entry
protected

Definition at line 107 of file pagetable_walker.hh.

Referenced by pageFault(), setupWalk(), startFunctional(), and stepWalk().

◆ functional

bool gem5::X86ISA::Walker::WalkerState::functional
protected

Definition at line 113 of file pagetable_walker.hh.

Referenced by stepWalk(), and WalkerState().

◆ inflight

unsigned gem5::X86ISA::Walker::WalkerState::inflight
protected

Definition at line 106 of file pagetable_walker.hh.

Referenced by numInflight(), recvPacket(), sendPackets(), and WalkerState().

◆ mode

BaseMMU::Mode gem5::X86ISA::Walker::WalkerState::mode
protected

◆ nextState

State gem5::X86ISA::Walker::WalkerState::nextState
protected

◆ read

PacketPtr gem5::X86ISA::Walker::WalkerState::read
protected

◆ req

RequestPtr gem5::X86ISA::Walker::WalkerState::req
protected

◆ retrying

bool gem5::X86ISA::Walker::WalkerState::retrying
protected

Definition at line 115 of file pagetable_walker.hh.

Referenced by isRetrying(), retry(), sendPackets(), and WalkerState().

◆ squashed

bool gem5::X86ISA::Walker::WalkerState::squashed
protected

Definition at line 117 of file pagetable_walker.hh.

Referenced by recvPacket(), squash(), and WalkerState().

◆ started

bool gem5::X86ISA::Walker::WalkerState::started
protected

Definition at line 116 of file pagetable_walker.hh.

Referenced by initState(), startFunctional(), startWalk(), WalkerState(), and wasStarted().

◆ state

State gem5::X86ISA::Walker::WalkerState::state
protected

◆ tc

ThreadContext* gem5::X86ISA::Walker::WalkerState::tc
protected

◆ timing

bool gem5::X86ISA::Walker::WalkerState::timing
protected

Definition at line 114 of file pagetable_walker.hh.

Referenced by initState(), isTiming(), startWalk(), and WalkerState().

◆ timingFault

Fault gem5::X86ISA::Walker::WalkerState::timingFault
protected

Definition at line 110 of file pagetable_walker.hh.

Referenced by recvPacket(), and startWalk().

◆ translation

BaseMMU::Translation* gem5::X86ISA::Walker::WalkerState::translation
protected

◆ walker

Walker* gem5::X86ISA::Walker::WalkerState::walker
protected

◆ writes

std::vector<PacketPtr> gem5::X86ISA::Walker::WalkerState::writes
protected

Definition at line 109 of file pagetable_walker.hh.

Referenced by recvPacket(), and sendPackets().


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

Generated on Sat Oct 18 2025 08:07:53 for gem5 by doxygen 1.14.0