32#ifndef __ARCH_POWER_TLB_HH__
33#define __ARCH_POWER_TLB_HH__
41#include "params/PowerTLB.hh"
61 bool uncacheable,
bool read_only)
64 if (uncacheable || read_only)
65 warn(
"Power TlbEntry does not support uncacheable"
66 " or read-only mappings\n");
72 panic(
"unimplemented");
140 panic(
"demapPage unimplemented.\n");
void flushAll() override
Remove all entries from the TLB.
void serialize(CheckpointOut &cp) const override
Serialize an object.
void insertAt(PowerISA::PTE &pte, unsigned Index, int _smallPages)
Fault translateFunctional(const RequestPtr &req, ThreadContext *tc, BaseMMU::Mode mode) override
Fault finalizePhysical(const RequestPtr &req, ThreadContext *tc, BaseMMU::Mode mode) const override
Do post-translation physical address finalization.
void demapPage(Addr vaddr, uint64_t asn) override
PowerISA::PTE * lookup(Addr vpn, uint8_t asn) const
static bool validVirtualAddress(Addr vaddr)
Fault translateInst(const RequestPtr &req, ThreadContext *tc)
Fault translateData(const RequestPtr &req, ThreadContext *tc, bool write)
void unserialize(CheckpointIn &cp) override
Unserialize an object.
void insert(Addr vaddr, PowerISA::PTE &pte)
PowerISA::PTE * getEntry(unsigned) const
void takeOverFrom(BaseTLB *otlb) override
Take over from an old tlb context.
void translateTiming(const RequestPtr &req, ThreadContext *tc, BaseMMU::Translation *translation, BaseMMU::Mode mode) override
Fault translateAtomic(const RequestPtr &req, ThreadContext *tc, BaseMMU::Mode mode) override
int probeEntry(Addr vpn, uint8_t) const
static Fault checkCacheability(const RequestPtr &req)
std::multimap< Addr, int > PageTable
ThreadContext is the external interface to all thread state for anything outside of the CPU.
#define panic(...)
This implements a cprintf based panic() function.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::shared_ptr< FaultBase > Fault
std::shared_ptr< Request > RequestPtr
std::ostream CheckpointOut
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Declaration of a request, the overall memory request consisting of the parts of the request that are ...
#define UNSERIALIZE_SCALAR(scalar)
#define SERIALIZE_SCALAR(scalar)
Declaration of Statistics objects.
void unserialize(CheckpointIn &cp)
TlbEntry(Addr asn, Addr vaddr, Addr paddr, bool uncacheable, bool read_only)
void updateVaddr(Addr new_vaddr)
void serialize(CheckpointOut &cp) const