45 #ifndef __CPU_TRANSLATION_HH__
46 #define __CPU_TRANSLATION_HH__
96 RequestPtr _sreqHigh, uint8_t *_data, uint64_t *_res,
217 template <
class ExecContextPtr>
270 return xc->isSquashed();
274 #endif // __CPU_TRANSLATION_HH__
DataTranslation(ExecContextPtr _xc, WholeTranslationState *_state, int _index)
This class represents part of a data address translation.
unsigned getFlags()
Get the flags associated with this request.
decltype(nullptr) constexpr NoFault
bool isStrictlyOrdered() const
void deleteReqs()
Delete all requests that make up this translation.
void markDelayed()
Signal the translation state that the translation has been delayed due to a hw page table walk...
This class captures the state of an address translation.
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)
Finish this part of the translation and indicate that the whole translation is complete if the state ...
bool squashed() const
This function is used by the page table walker to determine if it should translate the a pending requ...
Fault getFault() const
Determine whether this translation produced a fault.
bool isPrefetch() const
Check if this request is a prefetch.
WholeTranslationState(RequestPtr _req, RequestPtr _sreqLow, RequestPtr _sreqHigh, uint8_t *_data, uint64_t *_res, BaseTLB::Mode _mode)
Split translation state.
bool finish(const Fault &fault, int index)
Finish part of a translation.
DataTranslation(ExecContextPtr _xc, WholeTranslationState *_state)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
WholeTranslationState(RequestPtr _req, uint8_t *_data, uint64_t *_res, BaseTLB::Mode _mode)
Single translation state.
Flags getFlags()
Accessor for flags.
void setNoFault()
Remove all faults from the translation.
WholeTranslationState * state
bool isStrictlyOrdered() const
Check if this request is strictly ordered device access.
void setPaddr(Addr paddr)
Set just the physical address.
void setFlags(Flags flags)
Note that unlike other accessors, this function sets specific flags (ORs them in); it does not assign...
std::shared_ptr< FaultBase > Fault
void setTranslateLatency()
Set/Get the time taken for this request to be successfully translated.
Addr getPaddr() const
Get the physical address of this request.