gem5 v24.0.0.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 76 of file pagetable_walker.hh.

Member Enumeration Documentation

◆ State

Enumerator
Ready 
Waiting 
PDE2 
PDE1 
PDE0 
PTE 

Definition at line 81 of file pagetable_walker.hh.

Constructor & Destructor Documentation

◆ WalkerState()

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

Definition at line 105 of file pagetable_walker.hh.

References DPRINTF, state, and walker.

Member Function Documentation

◆ endWalk()

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

Definition at line 352 of file pagetable_walker.cc.

◆ getWalker()

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

Definition at line 123 of file pagetable_walker.hh.

References walker.

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

◆ 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 451 of file pagetable_walker.cc.

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

◆ name()

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

Definition at line 122 of file pagetable_walker.hh.

References gem5::Named::name(), and walker.

◆ offsetFunc()

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

Definition at line 480 of file pagetable_walker.cc.

◆ pageFault()

◆ retry()

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

Definition at line 457 of file pagetable_walker.cc.

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

◆ sendPackets()

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

Port related methods.

Definition at line 364 of file pagetable_walker.cc.

References DPRINTF.

◆ startFunctional()

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

◆ startWalk()

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

◆ stepTimingWalk()

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

◆ stepWalk()

Fault gem5::VegaISA::Walker::WalkerState::stepWalk ( )
private

◆ 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 78 of file pagetable_walker.hh.

Member Data Documentation

◆ blockFragmentSize

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

Definition at line 102 of file pagetable_walker.hh.

◆ dataSize

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

Definition at line 92 of file pagetable_walker.hh.

◆ enableNX

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

Definition at line 93 of file pagetable_walker.hh.

◆ entry

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

Definition at line 94 of file pagetable_walker.hh.

Referenced by startFunctional().

◆ mode

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

Definition at line 97 of file pagetable_walker.hh.

◆ nextState

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

Definition at line 91 of file pagetable_walker.hh.

Referenced by startFunctional().

◆ read

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

Definition at line 95 of file pagetable_walker.hh.

Referenced by startFunctional().

◆ retrying

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

Definition at line 98 of file pagetable_walker.hh.

◆ started

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

Definition at line 99 of file pagetable_walker.hh.

Referenced by startFunctional().

◆ state

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

Definition at line 90 of file pagetable_walker.hh.

Referenced by startFunctional(), and WalkerState().

◆ timing

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

Definition at line 100 of file pagetable_walker.hh.

◆ timingFault

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

Definition at line 96 of file pagetable_walker.hh.

◆ tlbPkt

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

Definition at line 101 of file pagetable_walker.hh.

◆ walker

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

Definition at line 89 of file pagetable_walker.hh.

Referenced by getWalker(), name(), startFunctional(), and WalkerState().


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

Generated on Tue Jun 18 2024 16:24:54 for gem5 by doxygen 1.11.0