37 #ifndef __ARCH_POWER_TLB_HH__
38 #define __ARCH_POWER_TLB_HH__
49 #include "params/PowerTLB.hh"
69 if (uncacheable || read_only)
70 warn(
"Power TlbEntry does not support uncacheable"
71 " or read-only mappings\n");
77 panic(
"unimplemented");
157 panic(
"demapPage unimplemented.\n");
167 Translation *translation,
Mode mode);
183 #endif // __ARCH_POWER_TLB_HH__
Stats::Scalar read_misses
void unserialize(CheckpointIn &cp)
Fault translateFunctional(RequestPtr req, ThreadContext *tc, Mode mode)
Stub function for CheckerCPU compilation support.
Fault translateInst(RequestPtr req, ThreadContext *tc)
void updateVaddr(Addr new_vaddr)
void insertAt(PowerISA::PTE &pte, unsigned Index, int _smallPages)
Declaration of a request, the overall memory request consisting of the parts of the request that are ...
std::multimap< Addr, int > PageTable
Stats::Scalar write_accesses
PowerISA::PTE & index(bool advance=true)
Stats::Scalar read_accesses
void insert(Addr vaddr, PowerISA::PTE &pte)
void takeOverFrom(BaseTLB *otlb) override
Take over from an old tlb context.
ThreadContext is the external interface to all thread state for anything outside of the CPU...
Declaration of Statistics objects.
This is a simple scalar statistic, like a counter.
void demapPage(Addr vaddr, uint64_t asn) override
void serialize(CheckpointOut &cp) const
Fault finalizePhysical(RequestPtr req, ThreadContext *tc, Mode mode) const
#define UNSERIALIZE_SCALAR(scalar)
void regStats() override
Register statistics for this object.
void serialize(CheckpointOut &cp) const override
Serialize an object.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Fault translateAtomic(RequestPtr req, ThreadContext *tc, Mode mode)
#define SERIALIZE_SCALAR(scalar)
TlbEntry(Addr asn, Addr vaddr, Addr paddr, bool uncacheable, bool read_only)
void translateTiming(RequestPtr req, ThreadContext *tc, Translation *translation, Mode mode)
PowerISA::PTE * getEntry(unsigned) const
static Fault checkCacheability(RequestPtr &req)
std::ostream CheckpointOut
Fault translateData(RequestPtr req, ThreadContext *tc, bool write)
PowerISA::PTE * lookup(Addr vpn, uint8_t asn) const
static bool validVirtualAddress(Addr vaddr)
Stats::Scalar write_misses
void unserialize(CheckpointIn &cp) override
Unserialize an object.
int probeEntry(Addr vpn, uint8_t) const
std::shared_ptr< FaultBase > Fault
void flushAll() override
Remove all entries from the TLB.