|
gem5
v19.0.0.0
|
TLB TranslationState: this currently is a somewhat bastardization of the usage of SenderState, whereby the receiver of a packet is not usually supposed to need to look at the contents of the senderState, you're really only supposed to look at what you pushed on, pop it off, and send it back. More...
#include <gpu_tlb.hh>
Public Member Functions | |
| TranslationState (Mode tlb_mode, ThreadContext *_tc, bool _prefetch=false, Packet::SenderState *_saved=nullptr) | |
Public Member Functions inherited from Packet::SenderState | |
| SenderState () | |
| virtual | ~SenderState () |
Public Attributes | |
| Mode | tlbMode |
| ThreadContext * | tc |
| TlbEntry * | tlbEntry |
| bool | prefetch |
| uint64_t | issueTime |
| std::vector< SlavePort * > | ports |
| std::vector< int > | reqCnt |
| int | hitLevel |
| Packet::SenderState * | saved |
Public Attributes inherited from Packet::SenderState | |
| SenderState * | predecessor |
TLB TranslationState: this currently is a somewhat bastardization of the usage of SenderState, whereby the receiver of a packet is not usually supposed to need to look at the contents of the senderState, you're really only supposed to look at what you pushed on, pop it off, and send it back.
However, since there is state that we want to pass to the TLBs using the send/recv Timing/Functional/etc. APIs, which don't allow for new arguments, we need a common TLB senderState to pass between TLBs, both "forwards" and "backwards."
So, basically, the rule is that any packet received by a TLB port (cpuside OR memside) must be safely castable to a TranslationState.
Definition at line 330 of file gpu_tlb.hh.
|
inline |
Definition at line 357 of file gpu_tlb.hh.
| int X86ISA::GpuTLB::TranslationState::hitLevel |
Definition at line 354 of file gpu_tlb.hh.
Referenced by X86ISA::GpuTLB::CpuSidePort::recvFunctional().
| uint64_t X86ISA::GpuTLB::TranslationState::issueTime |
Definition at line 346 of file gpu_tlb.hh.
| std::vector<SlavePort*> X86ISA::GpuTLB::TranslationState::ports |
Definition at line 348 of file gpu_tlb.hh.
| bool X86ISA::GpuTLB::TranslationState::prefetch |
Definition at line 344 of file gpu_tlb.hh.
Referenced by X86ISA::GpuTLB::handleFuncTranslationReturn(), X86ISA::GpuTLB::issueTLBLookup(), X86ISA::GpuTLB::CpuSidePort::recvFunctional(), and X86ISA::GpuTLB::translationReturn().
| std::vector<int> X86ISA::GpuTLB::TranslationState::reqCnt |
Definition at line 352 of file gpu_tlb.hh.
Referenced by X86ISA::GpuTLB::CpuSidePort::recvFunctional(), and X86ISA::GpuTLB::translationReturn().
| Packet::SenderState* X86ISA::GpuTLB::TranslationState::saved |
Definition at line 355 of file gpu_tlb.hh.
Referenced by ComputeUnit::sendRequest().
| ThreadContext* X86ISA::GpuTLB::TranslationState::tc |
Definition at line 335 of file gpu_tlb.hh.
Referenced by X86ISA::GpuTLB::handleFuncTranslationReturn(), X86ISA::GpuTLB::handleTranslationReturn(), X86ISA::GpuTLB::CpuSidePort::recvFunctional(), and X86ISA::GpuTLB::translationReturn().
| TlbEntry* X86ISA::GpuTLB::TranslationState::tlbEntry |
Definition at line 342 of file gpu_tlb.hh.
Referenced by X86ISA::GpuTLB::handleFuncTranslationReturn(), X86ISA::GpuTLB::handleTranslationReturn(), X86ISA::GpuTLB::CpuSidePort::recvFunctional(), ComputeUnit::sendRequest(), and X86ISA::GpuTLB::translationReturn().
| Mode X86ISA::GpuTLB::TranslationState::tlbMode |
Definition at line 333 of file gpu_tlb.hh.
Referenced by X86ISA::GpuTLB::handleFuncTranslationReturn(), X86ISA::GpuTLB::handleTranslationReturn(), X86ISA::GpuTLB::CpuSidePort::recvFunctional(), and X86ISA::GpuTLB::translationReturn().