Go to the documentation of this file.
41 #ifndef __ARCH_ARM_PAGETABLE_H__
42 #define __ARCH_ARM_PAGETABLE_H__
50 #include "enums/TypeTLB.hh"
51 #include "enums/ArmLookupLevel.hh"
80 panic(
"Need to implement PTE serialization\n");
85 panic(
"Need to implement PTE serialization\n");
263 bool uncacheable,
bool read_only) :
279 warn(
"ARM TlbEntry does not support read-only mappings\n");
405 return csprintf(
"%#x, asn %d vmn %d hyp %d ppn %#x size: %#x ap:%d "
438 uint8_t domain_ =
static_cast<uint8_t
>(
domain);
470 paramIn(cp,
"domain", domain_);
481 #endif // __ARCH_ARM_PAGETABLE_H__
Addr index(Addr va, unsigned level, int tsz) const override
Addr nextLevelPointer(pte_t pte, unsigned level) const override
std::string print() const
LookupLevel firstLevel(uint8_t tsz) const override
bool match(const Lookup &lookup) const
#define UNSERIALIZE_SCALAR(scalar)
bool isValid(pte_t pte, unsigned level) const override
const PageTableOps * getPageTableOps(GrainSize trans_granule)
const GrainSize GrainMap_tg0[]
Addr index(Addr va, unsigned level, int tsz) const override
virtual Addr index(Addr va, unsigned level, int tsz) const =0
bool isWritable(pte_t pte, unsigned level, bool stage2) const override
bool isValid(pte_t pte, unsigned level) const override
TlbEntry(Addr _asn, Addr _vaddr, Addr _paddr, bool uncacheable, bool read_only)
void serialize(CheckpointOut &cp) const
const unsigned MaxPhysAddrRange
Addr pageMask(pte_t pte, unsigned level) const override
virtual unsigned walkBits(unsigned level) const =0
LookupLevel firstLevel(uint8_t tsz) const override
const GrainSize GrainMap_tg1[]
void setAttributes(bool lpae)
virtual bool isValid(pte_t pte, unsigned level) const =0
std::string csprintf(const char *format, const Args &...args)
void serialize(CheckpointOut &cp) const override
Serialize an object.
virtual LookupLevel firstS2Level(uint8_t sl0) const =0
Addr walkMask(unsigned level) const
virtual Addr pageMask(pte_t pte, unsigned level) const =0
#define SERIALIZE_ENUM(scalar)
virtual LookupLevel firstLevel(uint8_t tsz) const =0
Basic support for object serialization.
LookupLevel lastLevel() const override
bool isWritable(pte_t pte, unsigned level, bool stage2) const override
unsigned walkBits(unsigned level) const override
LookupLevel lastLevel() const override
bool isWritable(pte_t pte, unsigned level, bool stage2) const override
virtual bool isWritable(pte_t pte, unsigned level, bool stage2) const =0
LookupLevel firstS2Level(uint8_t sl0) const override
Addr nextLevelPointer(pte_t pte, unsigned level) const override
Addr pageMask(pte_t pte, unsigned level) const override
LookupLevel firstLevel(uint8_t tsz) const override
void unserialize(CheckpointIn &cp) override
Unserialize an object.
enums::ArmLookupLevel LookupLevel
Addr pageMask(pte_t pte, unsigned level) const override
bool isLeaf(pte_t pte, unsigned level) const override
bool isValid(pte_t pte, unsigned level) const override
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
void unserialize(CheckpointIn &cp)
#define SERIALIZE_SCALAR(scalar)
bool isLeaf(pte_t pte, unsigned level) const override
LookupLevel lastLevel() const override
LookupLevel lastLevel() const override
bool isLeaf(pte_t pte, unsigned level) const override
Addr pageMask(pte_t pte, unsigned level) const override
Addr nextLevelPointer(pte_t pte, unsigned level) const override
unsigned walkBits(unsigned level) const override
virtual bool isLeaf(pte_t pte, unsigned level) const =0
void paramOut(CheckpointOut &cp, const std::string &name, ExtMachInst const &machInst)
Addr nextLevelPointer(pte_t pte, unsigned level) const override
LookupLevel firstS2Level(uint8_t sl0) const override
void paramIn(CheckpointIn &cp, const std::string &name, ExtMachInst &machInst)
bool isLeaf(pte_t pte, unsigned level) const override
LookupLevel firstS2Level(uint8_t sl0) const override
std::ostream CheckpointOut
#define UNSERIALIZE_ENUM(scalar)
virtual Addr nextLevelPointer(pte_t pte, unsigned level) const =0
void updateVaddr(Addr new_vaddr)
virtual LookupLevel lastLevel() const =0
unsigned walkBits(unsigned level) const override
enums::ArmLookupLevel LookupLevel
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
bool checkELMatch(ExceptionLevel target_el, bool in_host) const
Addr pAddr(Addr va) const
Addr index(Addr va, unsigned level, int tsz) const override
bool isValid(pte_t pte, unsigned level) const override
unsigned walkBits(unsigned level) const override
Addr index(Addr va, unsigned level, int tsz) const override
bool isWritable(pte_t pte, unsigned level, bool stage2) const override
#define panic(...)
This implements a cprintf based panic() function.
LookupLevel firstLevel(uint8_t tsz) const override
Generated on Sun Jul 30 2023 01:56:47 for gem5 by doxygen 1.8.17