|
gem5 [DEVELOP-FOR-25.0]
|
#include <pagetable.hh>
Public Types | |
| typedef enums::ArmLookupLevel | LookupLevel |
| typedef int64_t | pte_t |
Public Member Functions | |
| virtual bool | isValid (pte_t pte, unsigned level) const =0 |
| virtual bool | isLeaf (pte_t pte, unsigned level) const =0 |
| virtual bool | isWritable (pte_t pte, unsigned level, bool stage2) const =0 |
| virtual Addr | nextLevelPointer (pte_t pte, unsigned level) const =0 |
| virtual Addr | index (Addr va, unsigned level, int tsz) const =0 |
| virtual Addr | pageMask (pte_t pte, unsigned level) const =0 |
| virtual unsigned | walkBits (unsigned level) const =0 |
| virtual LookupLevel | firstLevel (uint8_t tsz) const =0 |
| virtual LookupLevel | firstS2Level (uint8_t sl0) const =0 |
| virtual LookupLevel | lastLevel () const =0 |
| Addr | walkMask (unsigned level) const |
Definition at line 94 of file pagetable.hh.
| typedef enums::ArmLookupLevel gem5::ArmISA::PageTableOps::LookupLevel |
Definition at line 96 of file pagetable.hh.
| typedef int64_t gem5::ArmISA::PageTableOps::pte_t |
Definition at line 97 of file pagetable.hh.
|
pure virtual |
|
pure virtual |
Implemented in gem5::ArmISA::V8PageTableOps16k, gem5::ArmISA::V8PageTableOps4k, and gem5::ArmISA::V8PageTableOps64k.
References gem5::ArmISA::sl0.
|
pure virtual |
Implemented in gem5::ArmISA::V7LPageTableOps, gem5::ArmISA::V8PageTableOps16k, gem5::ArmISA::V8PageTableOps4k, and gem5::ArmISA::V8PageTableOps64k.
References gem5::X86ISA::level, and gem5::ArmISA::va.
Referenced by gem5::SMMUTranslationProcess::walkStage1And2(), and gem5::SMMUTranslationProcess::walkStage2().
|
pure virtual |
Implemented in gem5::ArmISA::V7LPageTableOps, gem5::ArmISA::V8PageTableOps16k, gem5::ArmISA::V8PageTableOps4k, and gem5::ArmISA::V8PageTableOps64k.
References gem5::X86ISA::level.
Referenced by gem5::SMMUTranslationProcess::walkStage1And2(), and gem5::SMMUTranslationProcess::walkStage2().
|
pure virtual |
Implemented in gem5::ArmISA::V7LPageTableOps, gem5::ArmISA::V8PageTableOps16k, gem5::ArmISA::V8PageTableOps4k, and gem5::ArmISA::V8PageTableOps64k.
References gem5::X86ISA::level.
Referenced by gem5::SMMUTranslationProcess::walkStage1And2(), and gem5::SMMUTranslationProcess::walkStage2().
|
pure virtual |
Implemented in gem5::ArmISA::V7LPageTableOps, gem5::ArmISA::V8PageTableOps16k, gem5::ArmISA::V8PageTableOps4k, and gem5::ArmISA::V8PageTableOps64k.
References gem5::X86ISA::level.
Referenced by gem5::SMMUTranslationProcess::walkStage1And2(), and gem5::SMMUTranslationProcess::walkStage2().
|
pure virtual |
Implemented in gem5::ArmISA::V7LPageTableOps, gem5::ArmISA::V8PageTableOps16k, gem5::ArmISA::V8PageTableOps4k, and gem5::ArmISA::V8PageTableOps64k.
References gem5::X86ISA::level.
Referenced by gem5::SMMUTranslationProcess::walkStage1And2(), and gem5::SMMUTranslationProcess::walkStage2().
|
pure virtual |
Implemented in gem5::ArmISA::V7LPageTableOps, gem5::ArmISA::V8PageTableOps16k, gem5::ArmISA::V8PageTableOps4k, and gem5::ArmISA::V8PageTableOps64k.
References gem5::X86ISA::level.
Referenced by gem5::SMMUTranslationProcess::walkStage1And2(), and gem5::SMMUTranslationProcess::walkStage2().
Implemented in gem5::ArmISA::V7LPageTableOps, gem5::ArmISA::V8PageTableOps16k, gem5::ArmISA::V8PageTableOps4k, and gem5::ArmISA::V8PageTableOps64k.
References gem5::X86ISA::level.
Referenced by gem5::SMMUTranslationProcess::walkStage1And2(), and gem5::SMMUTranslationProcess::walkStage2().
|
pure virtual |
Implemented in gem5::ArmISA::V7LPageTableOps, gem5::ArmISA::V8PageTableOps16k, gem5::ArmISA::V8PageTableOps4k, and gem5::ArmISA::V8PageTableOps64k.
References gem5::X86ISA::level.
Referenced by walkMask().
| Addr gem5::ArmISA::PageTableOps::walkMask | ( | unsigned | level | ) | const |
Definition at line 55 of file pagetable.cc.
References gem5::X86ISA::level, gem5::ArmISA::mask, and walkBits().
Referenced by gem5::SMMUTranslationProcess::walkStage1And2(), and gem5::SMMUTranslationProcess::walkStage2().