38#ifndef __ARCH_X86_TLB_HH__
39#define __ARCH_X86_TLB_HH__
48#include "params/X86TLB.hh"
126 bool &delayedResponse,
bool timing);
The AddrRange class encapsulates an address range, and supports a number of tests to check if two ran...
BaseTLB(const BaseTLBParams &p)
Ports are used to interface objects to each other.
ThreadContext is the external interface to all thread state for anything outside of the CPU.
TlbEntry * lookup(Addr va, bool update_lru=true)
Fault finalizePhysical(const RequestPtr &req, ThreadContext *tc, BaseMMU::Mode mode) const override
Do post-translation physical address finalization.
void flushAll() override
Remove all entries from the TLB.
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
void setConfigAddress(uint32_t addr)
Addr concAddrPcid(Addr vpn, uint64_t pcid)
Fault translateInt(bool read, RequestPtr req, ThreadContext *tc)
std::list< TlbEntry * > EntryList
gem5::X86ISA::TLB::TlbStats stats
TlbEntry * insert(Addr vpn, const TlbEntry &entry, uint64_t pcid)
void serialize(CheckpointOut &cp) const override
Serialize an object.
void unserialize(CheckpointIn &cp) override
Unserialize an object.
Port * getTableWalkerPort() override
Get the table walker port.
std::vector< TlbEntry > tlb
void demapPage(Addr va, uint64_t asn) override
Fault translate(const RequestPtr &req, ThreadContext *tc, BaseMMU::Translation *translation, BaseMMU::Mode mode, bool &delayedResponse, bool timing)
Fault translateFunctional(const RequestPtr &req, ThreadContext *tc, BaseMMU::Mode mode) override
EntryList::iterator lookupIt(Addr va, bool update_lru=true)
void takeOverFrom(BaseTLB *otlb) override
Take over from an old tlb context.
This is a simple scalar statistic, like a counter.
Trie< Addr, TlbEntry > TlbEntryTrie
This is exposed globally, independent of the ISA.
Copyright (c) 2024 Arm Limited 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 ...
statistics::Scalar rdMisses
statistics::Scalar wrAccesses
statistics::Scalar rdAccesses
TlbStats(statistics::Group *parent)
statistics::Scalar wrMisses