Go to the documentation of this file.
42 #ifndef __CPU_TRANSLATION_HH__
43 #define __CPU_TRANSLATION_HH__
160 return mainReq->isStrictlyOrdered();
214 template <
class ExecContextPtr>
257 req->setTranslateLatency();
267 return xc->isSquashed();
271 #endif // __CPU_TRANSLATION_HH__
WholeTranslationState(const RequestPtr &_req, uint8_t *_data, uint64_t *_res, BaseTLB::Mode _mode)
Single translation state.
void setNoFault()
Remove all faults from the translation.
std::shared_ptr< Request > RequestPtr
bool isPrefetch() const
Check if this request is a prefetch.
WholeTranslationState * state
void finish(const Fault &fault, const RequestPtr &req, ThreadContext *tc, BaseTLB::Mode mode)
Finish this part of the translation and indicate that the whole translation is complete if the state ...
This class captures the state of an address translation.
ThreadContext is the external interface to all thread state for anything outside of the CPU.
std::shared_ptr< FaultBase > Fault
bool finish(const Fault &fault, int index)
Finish part of a translation.
bool isStrictlyOrdered() const
Check if this request is strictly ordered device access.
DataTranslation(ExecContextPtr _xc, WholeTranslationState *_state)
constexpr decltype(nullptr) NoFault
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
DataTranslation(ExecContextPtr _xc, WholeTranslationState *_state, int _index)
bool squashed() const
This function is used by the page table walker to determine if it should translate the a pending requ...
void deleteReqs()
Delete all requests that make up this translation.
Fault getFault() const
Determine whether this translation produced a fault.
void markDelayed()
Signal the translation state that the translation has been delayed due to a hw page table walk.
unsigned getFlags()
Get the flags associated with this request.
This class represents part of a data address translation.
WholeTranslationState(const RequestPtr &_req, const RequestPtr &_sreqLow, const RequestPtr &_sreqHigh, uint8_t *_data, uint64_t *_res, BaseTLB::Mode _mode)
Split translation state.
Addr getPaddr() const
Get the physical address of this request.
Generated on Wed Sep 30 2020 14:02:10 for gem5 by doxygen 1.8.17