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...
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.
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 ...
statistics::Scalar rdMisses
statistics::Scalar wrAccesses
statistics::Scalar rdAccesses
TlbStats(statistics::Group *parent)
statistics::Scalar wrMisses