|
gem5
|
#include <tlb.hh>
Public Member Functions | |
| void | demapPage (Addr vaddr, uint64_t asn) override |
| Fault | translateAtomic (RequestPtr req, ThreadContext *tc, Mode mode) |
| void | translateTiming (RequestPtr req, ThreadContext *tc, Translation *translation, Mode mode) |
| Fault | finalizePhysical (RequestPtr req, ThreadContext *tc, Mode mode) const |
| Do post-translation physical address finalization. More... | |
Public Member Functions inherited from BaseTLB | |
| virtual void | flushAll ()=0 |
| Remove all entries from the TLB. More... | |
| virtual void | takeOverFrom (BaseTLB *otlb)=0 |
| Take over from an old tlb context. More... | |
| virtual BaseMasterPort * | getMasterPort () |
| Get the table walker master port if present. More... | |
| void | memInvalidate () |
| Invalidate the contents of memory buffers. More... | |
Public Member Functions inherited from SimObject | |
| const Params * | params () const |
| SimObject (const Params *_params) | |
| virtual | ~SimObject () |
| virtual const std::string | name () const |
| virtual void | init () |
| init() is called after all C++ SimObjects have been created and all ports are connected. More... | |
| virtual void | loadState (CheckpointIn &cp) |
| loadState() is called on each SimObject when restoring from a checkpoint. More... | |
| virtual void | initState () |
| initState() is called on each SimObject when not restoring from a checkpoint. More... | |
| virtual void | regStats () |
| Register statistics for this object. More... | |
| virtual void | resetStats () |
| Reset statistics associated with this object. More... | |
| virtual void | regProbePoints () |
| Register probe points for this object. More... | |
| virtual void | regProbeListeners () |
| Register probe listeners for this object. More... | |
| ProbeManager * | getProbeManager () |
| Get the probe manager for this object. More... | |
| virtual void | startup () |
| startup() is the final initialization call before simulation. More... | |
| DrainState | drain () override |
| Provide a default implementation of the drain interface for objects that don't need draining. More... | |
| virtual void | memWriteback () |
| Write back dirty buffers to memory using functional writes. More... | |
| void | serialize (CheckpointOut &cp) const override |
| Serialize an object. More... | |
| void | unserialize (CheckpointIn &cp) override |
| Unserialize an object. More... | |
Public Member Functions inherited from EventManager | |
| EventManager (EventManager &em) | |
| EventManager (EventManager *em) | |
| EventManager (EventQueue *eq) | |
| EventQueue * | eventQueue () const |
| void | schedule (Event &event, Tick when) |
| void | deschedule (Event &event) |
| void | reschedule (Event &event, Tick when, bool always=false) |
| void | schedule (Event *event, Tick when) |
| void | deschedule (Event *event) |
| void | reschedule (Event *event, Tick when, bool always=false) |
| void | wakeupEventQueue (Tick when=(Tick)-1) |
| void | setCurTick (Tick newVal) |
Public Member Functions inherited from Serializable | |
| Serializable () | |
| virtual | ~Serializable () |
| void | serializeSection (CheckpointOut &cp, const char *name) const |
| Serialize an object into a new section. More... | |
| void | serializeSection (CheckpointOut &cp, const std::string &name) const |
| void | unserializeSection (CheckpointIn &cp, const char *name) |
| Unserialize an a child object. More... | |
| void | unserializeSection (CheckpointIn &cp, const std::string &name) |
Public Member Functions inherited from Drainable | |
| DrainState | drainState () const |
| Return the current drain state of an object. More... | |
| virtual void | notifyFork () |
| Notify a child process of a fork. More... | |
Protected Member Functions | |
| GenericTLB (const Params *p) | |
Protected Member Functions inherited from BaseTLB | |
| BaseTLB (const Params *p) | |
Protected Member Functions inherited from Drainable | |
| Drainable () | |
| virtual | ~Drainable () |
| virtual void | drainResume () |
| Resume execution after a successful drain. More... | |
| void | signalDrainDone () const |
| Signal that an object is drained. More... | |
Additional Inherited Members | |
Public Types inherited from BaseTLB | |
| enum | Mode { Read, Write, Execute } |
Public Types inherited from SimObject | |
| typedef SimObjectParams | Params |
Static Public Member Functions inherited from SimObject | |
| static void | serializeAll (CheckpointOut &cp) |
| Serialize all SimObjects in the system. More... | |
| static SimObject * | find (const char *name) |
| Find the SimObject with the given name and return a pointer to it. More... | |
Static Public Member Functions inherited from Serializable | |
| static const std::string & | currentSection () |
| Get the fully-qualified name of the active section. More... | |
| static void | serializeAll (const std::string &cpt_dir) |
| static void | unserializeGlobals (CheckpointIn &cp) |
Static Public Attributes inherited from Serializable | |
| static int | ckptCount = 0 |
| static int | ckptMaxCount = 0 |
| static int | ckptPrevCount = -1 |
Protected Attributes inherited from SimObject | |
| const SimObjectParams * | _params |
| Cached copy of the object parameters. More... | |
Protected Attributes inherited from EventManager | |
| EventQueue * | eventq |
| A pointer to this object's event queue. More... | |
|
overridevirtual |
| Fault GenericTLB::finalizePhysical | ( | RequestPtr | req, |
| ThreadContext * | tc, | ||
| Mode | mode | ||
| ) | const |
Do post-translation physical address finalization.
This method is used by some architectures that need post-translation massaging of physical addresses. For example, X86 uses this to remap physical addresses in the APIC range to a range of physical memory not normally available to real x86 implementations.
| req | Request to updated in-place. |
| tc | Thread context that created the request. |
| mode | Request type (read/write/execute). |
Definition at line 63 of file tlb.cc.
References NoFault.
| Fault GenericTLB::translateAtomic | ( | RequestPtr | req, |
| ThreadContext * | tc, | ||
| Mode | mode | ||
| ) |
Definition at line 40 of file tlb.cc.
References FullSystem, ThreadContext::getProcessPtr(), NoFault, MipsISA::p, panic, Process::pTable, and PageTableBase::translate().
Referenced by translateTiming().
| void GenericTLB::translateTiming | ( | RequestPtr | req, |
| ThreadContext * | tc, | ||
| Translation * | translation, | ||
| Mode | mode | ||
| ) |
Definition at line 55 of file tlb.cc.
References BaseTLB::Translation::finish(), and translateAtomic().