gem5  v21.1.0.2
Public Member Functions | Protected Attributes | Private Types | Private Member Functions | Friends | List of all members
gem5::RiscvISA::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 level
 
unsigned inflight
 
TlbEntry entry
 
PacketPtr read
 
std::vector< PacketPtrwrites
 
Fault timingFault
 
BaseMMU::Translationtranslation
 
BaseMMU::Mode mode
 
SATP satp
 
STATUS status
 
PrivilegeMode pmode
 
bool functional
 
bool timing
 
bool retrying
 
bool started
 
bool squashed
 

Private Types

enum  State { Ready, Waiting, Translate }
 

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

Member Enumeration Documentation

◆ State

Enumerator
Ready 
Waiting 
Translate 

Definition at line 89 of file pagetable_walker.hh.

Constructor & Destructor Documentation

◆ WalkerState()

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

Definition at line 119 of file pagetable_walker.hh.

Member Function Documentation

◆ endWalk()

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

Definition at line 439 of file pagetable_walker.cc.

◆ initState()

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

◆ isRetrying()

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

Definition at line 579 of file pagetable_walker.cc.

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

◆ isTiming()

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

Definition at line 585 of file pagetable_walker.cc.

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

◆ name()

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

Definition at line 139 of file pagetable_walker.hh.

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

◆ numInflight()

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

Definition at line 573 of file pagetable_walker.cc.

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

◆ pageFault()

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

Definition at line 610 of file pagetable_walker.cc.

References DPRINTF, and gem5::RiscvISA::mode.

◆ recvPacket()

bool gem5::RiscvISA::Walker::WalkerState::recvPacket ( PacketPtr  pkt)

◆ retry()

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

Definition at line 603 of file pagetable_walker.cc.

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

◆ sendPackets()

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

Definition at line 540 of file pagetable_walker.cc.

◆ setupWalk()

void gem5::RiscvISA::Walker::WalkerState::setupWalk ( Addr  vaddr)
private

◆ squash()

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

Definition at line 597 of file pagetable_walker.cc.

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

◆ startFunctional()

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

◆ startWalk()

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

◆ stepWalk()

Fault gem5::RiscvISA::Walker::WalkerState::stepWalk ( PacketPtr write)
private

◆ wasStarted()

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

Definition at line 591 of file pagetable_walker.cc.

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

Friends And Related Function Documentation

◆ Walker

friend class Walker
friend

Definition at line 87 of file pagetable_walker.hh.

Member Data Documentation

◆ entry

TlbEntry gem5::RiscvISA::Walker::WalkerState::entry
protected

Definition at line 104 of file pagetable_walker.hh.

◆ functional

bool gem5::RiscvISA::Walker::WalkerState::functional
protected

Definition at line 113 of file pagetable_walker.hh.

◆ inflight

unsigned gem5::RiscvISA::Walker::WalkerState::inflight
protected

Definition at line 103 of file pagetable_walker.hh.

◆ level

int gem5::RiscvISA::Walker::WalkerState::level
protected

Definition at line 102 of file pagetable_walker.hh.

◆ mode

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

Definition at line 109 of file pagetable_walker.hh.

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

◆ nextState

State gem5::RiscvISA::Walker::WalkerState::nextState
protected

Definition at line 101 of file pagetable_walker.hh.

◆ pmode

PrivilegeMode gem5::RiscvISA::Walker::WalkerState::pmode
protected

Definition at line 112 of file pagetable_walker.hh.

◆ read

PacketPtr gem5::RiscvISA::Walker::WalkerState::read
protected

Definition at line 105 of file pagetable_walker.hh.

◆ req

RequestPtr gem5::RiscvISA::Walker::WalkerState::req
protected

Definition at line 99 of file pagetable_walker.hh.

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

◆ retrying

bool gem5::RiscvISA::Walker::WalkerState::retrying
protected

Definition at line 115 of file pagetable_walker.hh.

◆ satp

SATP gem5::RiscvISA::Walker::WalkerState::satp
protected

Definition at line 110 of file pagetable_walker.hh.

◆ squashed

bool gem5::RiscvISA::Walker::WalkerState::squashed
protected

Definition at line 117 of file pagetable_walker.hh.

◆ started

bool gem5::RiscvISA::Walker::WalkerState::started
protected

Definition at line 116 of file pagetable_walker.hh.

◆ state

State gem5::RiscvISA::Walker::WalkerState::state
protected

Definition at line 100 of file pagetable_walker.hh.

◆ status

STATUS gem5::RiscvISA::Walker::WalkerState::status
protected

Definition at line 111 of file pagetable_walker.hh.

◆ tc

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

Definition at line 98 of file pagetable_walker.hh.

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

◆ timing

bool gem5::RiscvISA::Walker::WalkerState::timing
protected

Definition at line 114 of file pagetable_walker.hh.

◆ timingFault

Fault gem5::RiscvISA::Walker::WalkerState::timingFault
protected

Definition at line 107 of file pagetable_walker.hh.

◆ translation

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

Definition at line 108 of file pagetable_walker.hh.

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

◆ walker

Walker* gem5::RiscvISA::Walker::WalkerState::walker
protected

Definition at line 97 of file pagetable_walker.hh.

Referenced by name().

◆ writes

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

Definition at line 106 of file pagetable_walker.hh.


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

Generated on Tue Sep 21 2021 12:32:03 for gem5 by doxygen 1.8.17