gem5  v22.1.0.0
Public Member Functions | Protected Attributes | Private Types | Private Member Functions | Friends | List of all members
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
 

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. More...
 
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 104 of file pagetable_walker.hh.

References DPRINTF, state, and walker.

Member Function Documentation

◆ endWalk()

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

Definition at line 331 of file pagetable_walker.cc.

◆ getWalker()

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

Definition at line 121 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 429 of file pagetable_walker.cc.

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

◆ name()

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

Definition at line 120 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 458 of file pagetable_walker.cc.

◆ pageFault()

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

◆ retry()

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

Definition at line 435 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 343 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 Function Documentation

◆ Walker

friend class Walker
friend

Definition at line 78 of file pagetable_walker.hh.

Member Data Documentation

◆ 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 Wed Dec 21 2022 10:25:03 for gem5 by doxygen 1.9.1