40 #ifndef __ARCH_ARM_STAGE2_MMU_HH__
41 #define __ARCH_ARM_STAGE2_MMU_HH__
47 #include "params/ArmStage2MMU.hh"
96 req.
setVirt(0, vaddr, size, flags, masterId, 0);
118 Stage2Translation *translation,
int numBytes,
129 #endif //__ARCH_ARM_STAGE2_MMU_HH__
Fault translateTiming(ThreadContext *tc)
void markDelayed()
Signal that the translation has been delayed due to a hw page table walk.
Declaration of a request, the overall memory request consisting of the parts of the request that are ...
DmaPort & getPort()
Get the port that ultimately belongs to the stage-two MMU, but is used by the two table walkers...
DmaPort port
Port to issue translation requests from.
ThreadContext is the external interface to all thread state for anything outside of the CPU...
void finish(const Fault &fault, RequestPtr req, ThreadContext *tc, BaseTLB::Mode mode)
TLB * _stage2Tlb
The TLB that will cache the stage 2 look ups.
Fault translateTiming(RequestPtr req, ThreadContext *tc, Translation *translation, Mode mode, ArmTranslationType tranType=NormalTran)
Fault readDataTimed(ThreadContext *tc, Addr descAddr, Stage2Translation *translation, int numBytes, Request::Flags flags)
Fault readDataUntimed(ThreadContext *tc, Addr oVAddr, Addr descAddr, uint8_t *data, int numBytes, Request::Flags flags, bool isFunctional)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Stage2MMU(const Params *p)
ArmStage2MMUParams Params
This translation class is used to trigger the data fetch once a timing translation returns the transl...
Stage2Translation(Stage2MMU &_parent, uint8_t *_data, Event *_event, Addr _oVAddr)
void setVirt(int asid, Addr vaddr, unsigned size, Flags flags, MasterID mid, Addr pc)
Set up a virtual (e.g., CPU) request in a previously allocated Request object.
void setVirt(Addr vaddr, int size, Request::Flags flags, int masterId)
std::shared_ptr< FaultBase > Fault
Abstract superclass for simulation objects.
MasterID masterId
Request id for requests generated by this MMU.