Go to the documentation of this file.
32 #ifndef __ARCH_POWER_TLB_HH__
33 #define __ARCH_POWER_TLB_HH__
43 #include "params/PowerTLB.hh"
60 bool uncacheable,
bool read_only)
63 if (uncacheable || read_only)
64 warn(
"Power TlbEntry does not support uncacheable"
65 " or read-only mappings\n");
71 panic(
"unimplemented");
139 panic(
"demapPage unimplemented.\n");
151 Translation *translation,
Mode mode)
override;
165 #endif // __ARCH_POWER_TLB_HH__
void serialize(CheckpointOut &cp) const
void unserialize(CheckpointIn &cp) override
Unserialize an object.
std::multimap< Addr, int > PageTable
Fault translateAtomic(const RequestPtr &req, ThreadContext *tc, Mode mode) override
Fault translateFunctional(const RequestPtr &req, ThreadContext *tc, Mode mode) override
#define UNSERIALIZE_SCALAR(scalar)
void serialize(CheckpointOut &cp) const override
Serialize an object.
std::shared_ptr< Request > RequestPtr
static bool validVirtualAddress(Addr vaddr)
Fault translateInst(const RequestPtr &req, ThreadContext *tc)
static Fault checkCacheability(const RequestPtr &req)
void insert(Addr vaddr, PowerISA::PTE &pte)
void translateTiming(const RequestPtr &req, ThreadContext *tc, Translation *translation, Mode mode) override
void takeOverFrom(BaseTLB *otlb) override
Take over from an old tlb context.
Fault translateData(const RequestPtr &req, ThreadContext *tc, bool write)
ThreadContext is the external interface to all thread state for anything outside of the CPU.
std::shared_ptr< FaultBase > Fault
void unserialize(CheckpointIn &cp)
Fault finalizePhysical(const RequestPtr &req, ThreadContext *tc, Mode mode) const override
Do post-translation physical address finalization.
void updateVaddr(Addr new_vaddr)
int probeEntry(Addr vpn, uint8_t) const
PowerISA::PTE * lookup(Addr vpn, uint8_t asn) const
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
#define SERIALIZE_SCALAR(scalar)
PowerISA::PTE & index(bool advance=true)
void demapPage(Addr vaddr, uint64_t asn) override
TlbEntry(Addr asn, Addr vaddr, Addr paddr, bool uncacheable, bool read_only)
std::ostream CheckpointOut
PowerISA::PTE * getEntry(unsigned) const
void flushAll() override
Remove all entries from the TLB.
#define panic(...)
This implements a cprintf based panic() function.
void insertAt(PowerISA::PTE &pte, unsigned Index, int _smallPages)
Generated on Wed Sep 30 2020 14:01:59 for gem5 by doxygen 1.8.17