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