35 #ifndef __ARCH_RISCV_TLB_HH__
36 #define __ARCH_RISCV_TLB_HH__
47 #include "params/RiscvTLB.hh"
100 panic(
"demapPage unimplemented.\n");
116 Translation *translation,
Mode mode);
133 #endif // __RISCV_MEMORY_HH__
Stats::Scalar write_accesses
void insert(Addr vaddr, RiscvISA::PTE &pte)
void insertAt(RiscvISA::PTE &pte, unsigned Index, int _smallPages)
void demapPage(Addr vaddr, uint64_t asn) override
Fault translateData(RequestPtr req, ThreadContext *tc, bool write)
Declaration of a request, the overall memory request consisting of the parts of the request that are ...
RiscvISA::PTE * lookup(Addr vpn, uint8_t asn) const
int probeEntry(Addr vpn, uint8_t) const
ThreadContext is the external interface to all thread state for anything outside of the CPU...
void serialize(CheckpointOut &cp) const override
Serialize an object.
Declaration of Statistics objects.
This is a simple scalar statistic, like a counter.
void flushAll() override
Remove all entries from the TLB.
Fault finalizePhysical(RequestPtr req, ThreadContext *tc, Mode mode) const
static bool validVirtualAddress(Addr vaddr)
void regStats() override
Register statistics for this object.
Stats::Scalar read_accesses
RiscvISA::PTE & index(bool advance=true)
static Fault checkCacheability(RequestPtr &req)
void takeOverFrom(BaseTLB *otlb) override
Take over from an old tlb context.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Fault translateFunctional(RequestPtr req, ThreadContext *tc, Mode mode)
Function stub for CheckerCPU compilation issues.
std::multimap< Addr, int > PageTable
Stats::Scalar read_misses
void unserialize(CheckpointIn &cp) override
Unserialize an object.
void translateTiming(RequestPtr req, ThreadContext *tc, Translation *translation, Mode mode)
std::ostream CheckpointOut
Fault translateAtomic(RequestPtr req, ThreadContext *tc, Mode mode)
Fault translateInst(RequestPtr req, ThreadContext *tc)
std::shared_ptr< FaultBase > Fault
Stats::Scalar write_misses
RiscvISA::PTE * getEntry(unsigned) const