Go to the documentation of this file.
38 #ifndef __ARCH_X86_PAGE_TABLE_WALKER_HH__
39 #define __ARCH_X86_PAGE_TABLE_WALKER_HH__
47 #include "params/X86PagetableWalker.hh"
115 const RequestPtr &_req,
bool _isFunctional =
false) :
124 bool _isTiming =
false);
214 #endif // __ARCH_X86_PAGE_TABLE_WALKER_HH__
bool recvTimingResp(PacketPtr pkt)
Walker(const Params *params)
Fault pageFault(bool present)
void setupWalk(Addr vaddr)
const PortID InvalidPortID
WalkerPort(const std::string &_name, Walker *_walker)
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
bool recvPacket(PacketPtr pkt)
bool sendTiming(WalkerState *sendingState, PacketPtr pkt)
std::vector< PacketPtr > writes
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
std::shared_ptr< Request > RequestPtr
const Params * params() const
Fault stepWalk(PacketPtr &write)
EventFunctionWrapper startWalkWrapperEvent
Event used to call startWalkWrapper.
The ClockedObject class extends the SimObject with a clock and accessor functions to relate ticks to ...
Fault startFunctional(ThreadContext *_tc, Addr &addr, unsigned &logBytes, BaseTLB::Mode mode)
ThreadContext is the external interface to all thread state for anything outside of the CPU.
A virtual base opaque structure used to hold state associated with the packet (e.g....
Fault start(ThreadContext *_tc, BaseTLB::Translation *translation, const RequestPtr &req, BaseTLB::Mode mode)
std::shared_ptr< FaultBase > Fault
Ports are used to interface objects to each other.
void initState(ThreadContext *_tc, BaseTLB::Mode _mode, bool _isTiming=false)
unsigned numInflight() const
A RequestPort is a specialisation of a Port, which implements the default protocol for the three diff...
TLB::Translation * translation
This is exposed globally, independent of the ISA.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
void recvReqRetry()
Called by the peer if sendTimingReq was called on this peer (causing recvTimingReq to be called on th...
Fault startFunctional(Addr &addr, unsigned &logBytes)
std::list< WalkerState * > currStates
WalkerState(Walker *_walker, BaseTLB::Translation *_translation, const RequestPtr &_req, bool _isFunctional=false)
virtual const std::string name() const
const SimObjectParams * _params
Cached copy of the object parameters.
bool recvTimingResp(PacketPtr pkt)
Receive a timing response from the peer.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
WalkerSenderState(WalkerState *_senderWalk)
X86PagetableWalkerParams Params
Generated on Wed Sep 30 2020 14:02:07 for gem5 by doxygen 1.8.17