gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | Private Types | Private Member Functions | Friends | List of all members
X86ISA::Walker::WalkerState Class Reference

#include <pagetable_walker.hh>

Public Member Functions

 WalkerState (Walker *_walker, BaseTLB::Translation *_translation, RequestPtr _req, bool _isFunctional=false)
 
void initState (ThreadContext *_tc, BaseTLB::Mode _mode, bool _isTiming=false)
 
Fault startWalk ()
 
Fault startFunctional (Addr &addr, unsigned &logBytes)
 
bool recvPacket (PacketPtr pkt)
 
bool isRetrying ()
 
bool wasStarted ()
 
bool isTiming ()
 
void retry ()
 
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
 
TLB::Translationtranslation
 
BaseTLB::Mode mode
 
bool functional
 
bool timing
 
bool retrying
 
bool started
 

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

Member Enumeration Documentation

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

Definition at line 84 of file pagetable_walker.hh.

Constructor & Destructor Documentation

X86ISA::Walker::WalkerState::WalkerState ( Walker _walker,
BaseTLB::Translation _translation,
RequestPtr  _req,
bool  _isFunctional = false 
)
inline

Definition at line 115 of file pagetable_walker.hh.

Member Function Documentation

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

Definition at line 537 of file pagetable_walker.cc.

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

Definition at line 180 of file pagetable_walker.cc.

References ArmISA::mode.

Referenced by X86ISA::Walker::start(), and X86ISA::Walker::startFunctional().

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

Definition at line 682 of file pagetable_walker.cc.

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

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

Definition at line 688 of file pagetable_walker.cc.

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

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

Definition at line 133 of file pagetable_walker.hh.

References SimObject::name(), and walker.

Fault X86ISA::Walker::WalkerState::pageFault ( bool  present)
private
bool X86ISA::Walker::WalkerState::recvPacket ( PacketPtr  pkt)
void X86ISA::Walker::WalkerState::retry ( )

Definition at line 700 of file pagetable_walker.cc.

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

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

Definition at line 649 of file pagetable_walker.cc.

void X86ISA::Walker::WalkerState::setupWalk ( Addr  vaddr)
private
Fault X86ISA::Walker::WalkerState::startFunctional ( Addr addr,
unsigned &  logBytes 
)

Definition at line 251 of file pagetable_walker.cc.

References NoFault.

Referenced by X86ISA::Walker::startFunctional().

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

Definition at line 222 of file pagetable_walker.cc.

References NoFault.

Referenced by X86ISA::Walker::start(), and X86ISA::Walker::startWalkWrapper().

Fault X86ISA::Walker::WalkerState::stepWalk ( PacketPtr write)
private
bool X86ISA::Walker::WalkerState::wasStarted ( )

Definition at line 694 of file pagetable_walker.cc.

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

Friends And Related Function Documentation

friend class Walker
friend

Definition at line 82 of file pagetable_walker.hh.

Member Data Documentation

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

Definition at line 101 of file pagetable_walker.hh.

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

Definition at line 102 of file pagetable_walker.hh.

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

Definition at line 104 of file pagetable_walker.hh.

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

Definition at line 110 of file pagetable_walker.hh.

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

Definition at line 103 of file pagetable_walker.hh.

BaseTLB::Mode X86ISA::Walker::WalkerState::mode
protected

Definition at line 109 of file pagetable_walker.hh.

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

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

Definition at line 100 of file pagetable_walker.hh.

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

Definition at line 105 of file pagetable_walker.hh.

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

Definition at line 98 of file pagetable_walker.hh.

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

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

Definition at line 112 of file pagetable_walker.hh.

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

Definition at line 113 of file pagetable_walker.hh.

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

Definition at line 99 of file pagetable_walker.hh.

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

Definition at line 97 of file pagetable_walker.hh.

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

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

Definition at line 111 of file pagetable_walker.hh.

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

Definition at line 107 of file pagetable_walker.hh.

TLB::Translation* X86ISA::Walker::WalkerState::translation
protected

Definition at line 108 of file pagetable_walker.hh.

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

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

Definition at line 96 of file pagetable_walker.hh.

Referenced by name().

std::vector<PacketPtr> X86ISA::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 Fri Jun 9 2017 13:04:42 for gem5 by doxygen 1.8.6