gem5 [DEVELOP-FOR-25.0]
Loading...
Searching...
No Matches
gem5::VegaISA::Walker::WalkerState Class Reference

#include <pagetable_walker.hh>

Public Member Functions

 WalkerState (Walker *_walker, PacketPtr pkt, bool is_functional=false)
 
void initState (BaseMMU::Mode _mode, Addr baseAddr, Addr vaddr, bool is_functional=false)
 
void startWalk ()
 
Fault startFunctional (Addr base, Addr vaddr, PageTableEntry &pte, unsigned &logBytes)
 
bool isRetrying ()
 
void retry ()
 
std::string name () const
 
WalkergetWalker () const
 

Protected Attributes

Walkerwalker
 
State state
 
State nextState
 
int dataSize
 
bool enableNX
 
VegaTlbEntry entry
 
PacketPtr read
 
Fault timingFault
 
BaseMMU::Mode mode
 
bool retrying
 
bool started
 
bool timing
 
PacketPtr tlbPkt
 
int blockFragmentSize
 

Private Types

enum  State {
  Ready , Waiting , PDE2 , PDE1 ,
  PDE0 , PTE
}
 

Private Member Functions

Fault stepWalk ()
 
void stepTimingWalk ()
 
void walkStateMachine (PageTableEntry &pte, Addr &nextRead, bool &doEndWalk, Fault &fault)
 
void sendPackets ()
 Port related methods.
 
void endWalk ()
 
Fault pageFault (bool present)
 
uint64_t offsetFunc (Addr logicalAddr, int top, int lsb)
 

Friends

class Walker
 

Detailed Description

Definition at line 80 of file pagetable_walker.hh.

Member Enumeration Documentation

◆ State

Enumerator
Ready 
Waiting 
PDE2 
PDE1 
PDE0 
PTE 

Definition at line 85 of file pagetable_walker.hh.

Constructor & Destructor Documentation

◆ WalkerState()

gem5::VegaISA::Walker::WalkerState::WalkerState ( Walker * _walker,
PacketPtr pkt,
bool is_functional = false )
inline

Member Function Documentation

◆ endWalk()

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

Definition at line 351 of file pagetable_walker.cc.

References nextState, read, Ready, and walker.

Referenced by stepWalk().

◆ getWalker()

Walker * gem5::VegaISA::Walker::WalkerState::getWalker ( ) const
inline

Definition at line 127 of file pagetable_walker.hh.

References Walker, and walker.

◆ initState()

void gem5::VegaISA::Walker::WalkerState::initState ( BaseMMU::Mode _mode,
Addr baseAddr,
Addr vaddr,
bool is_functional = false )

◆ isRetrying()

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

Definition at line 481 of file pagetable_walker.cc.

References retrying.

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

◆ name()

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

Definition at line 126 of file pagetable_walker.hh.

References walker.

◆ offsetFunc()

uint64_t gem5::VegaISA::Walker::WalkerState::offsetFunc ( Addr logicalAddr,
int top,
int lsb )
private

Definition at line 510 of file pagetable_walker.cc.

Referenced by walkStateMachine().

◆ pageFault()

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

◆ retry()

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

Definition at line 487 of file pagetable_walker.cc.

References retrying, and sendPackets().

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

◆ sendPackets()

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

Port related methods.

Definition at line 363 of file pagetable_walker.cc.

References gem5::X86ISA::addr, DPRINTF, read, retrying, and walker.

Referenced by retry(), and startWalk().

◆ startFunctional()

Fault gem5::VegaISA::Walker::WalkerState::startFunctional ( Addr base,
Addr vaddr,
PageTableEntry & pte,
unsigned & logBytes )

◆ startWalk()

◆ stepTimingWalk()

void gem5::VegaISA::Walker::WalkerState::stepTimingWalk ( )
private

References gem5::X86ISA::present.

◆ stepWalk()

◆ walkStateMachine()

void gem5::VegaISA::Walker::WalkerState::walkStateMachine ( PageTableEntry & pte,
Addr & nextRead,
bool & doEndWalk,
Fault & fault )
private

Friends And Related Symbol Documentation

◆ Walker

friend class Walker
friend

Definition at line 82 of file pagetable_walker.hh.

References Walker.

Referenced by getWalker(), Walker, and WalkerState().

Member Data Documentation

◆ blockFragmentSize

int gem5::VegaISA::Walker::WalkerState::blockFragmentSize
protected

Definition at line 106 of file pagetable_walker.hh.

Referenced by WalkerState(), and walkStateMachine().

◆ dataSize

int gem5::VegaISA::Walker::WalkerState::dataSize
protected

Definition at line 96 of file pagetable_walker.hh.

Referenced by initState(), and WalkerState().

◆ enableNX

bool gem5::VegaISA::Walker::WalkerState::enableNX
protected

Definition at line 97 of file pagetable_walker.hh.

Referenced by initState(), pageFault(), WalkerState(), and walkStateMachine().

◆ entry

VegaTlbEntry gem5::VegaISA::Walker::WalkerState::entry
protected

◆ mode

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

Definition at line 101 of file pagetable_walker.hh.

Referenced by initState(), pageFault(), and walkStateMachine().

◆ nextState

State gem5::VegaISA::Walker::WalkerState::nextState
protected

◆ read

PacketPtr gem5::VegaISA::Walker::WalkerState::read
protected

◆ retrying

bool gem5::VegaISA::Walker::WalkerState::retrying
protected

Definition at line 102 of file pagetable_walker.hh.

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

◆ started

bool gem5::VegaISA::Walker::WalkerState::started
protected

Definition at line 103 of file pagetable_walker.hh.

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

◆ state

State gem5::VegaISA::Walker::WalkerState::state
protected

◆ timing

bool gem5::VegaISA::Walker::WalkerState::timing
protected

Definition at line 104 of file pagetable_walker.hh.

Referenced by initState().

◆ timingFault

Fault gem5::VegaISA::Walker::WalkerState::timingFault
protected

Definition at line 100 of file pagetable_walker.hh.

Referenced by startWalk().

◆ tlbPkt

PacketPtr gem5::VegaISA::Walker::WalkerState::tlbPkt
protected

Definition at line 105 of file pagetable_walker.hh.

Referenced by startWalk(), and WalkerState().

◆ walker

Walker* gem5::VegaISA::Walker::WalkerState::walker
protected

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

Generated on Mon May 26 2025 09:20:41 for gem5 by doxygen 1.13.2