gem5
|
Level 2 page table descriptor. More...
#include <table_walker.hh>
Public Member Functions | |
L2Descriptor () | |
Default ctor. More... | |
L2Descriptor (L1Descriptor &parent) | |
virtual uint64_t | getRawData () const |
virtual std::string | dbgHeader () const |
virtual TlbEntry::DomainType | domain () const |
bool | secure (bool have_security, WalkerState *currState) const |
virtual uint8_t | offsetBits () const |
bool | invalid () const |
Is the entry invalid. More... | |
bool | large () const |
What is the size of the mapping? More... | |
bool | xn () const |
Is execution allowed on this mapping? More... | |
bool | global (WalkerState *currState) const |
Is the translation global (no asid used)? More... | |
uint8_t | ap () const |
Three bit access protection flags. More... | |
uint8_t | texcb () const |
Memory region attributes: ARM DDI 0406B: B3-32. More... | |
Addr | pfn () const |
Return the physical frame, bits shifted right. More... | |
Addr | paddr (Addr va) const |
Return complete physical address given a VA. More... | |
bool | shareable () const |
If the section is shareable. More... | |
void | setAp0 () |
Set access flag that this entry has been touched. More... | |
bool | dirty () const |
This entry needs to be written back to memory. More... | |
Public Attributes | |
uint32_t | data |
The raw bits of the entry. More... | |
L1Descriptor * | l1Parent |
bool | _dirty |
This entry has been modified (access flag set) and needs to be written back to memory. More... | |
Public Attributes inherited from ArmISA::TableWalker::DescriptorBase | |
LookupLevel | lookupLevel |
Current lookup level for this descriptor. More... | |
Level 2 page table descriptor.
Definition at line 242 of file table_walker.hh.
|
inline |
Default ctor.
Definition at line 253 of file table_walker.hh.
References ArmISA::L2, and ArmISA::TableWalker::DescriptorBase::lookupLevel.
|
inline |
Definition at line 258 of file table_walker.hh.
References ArmISA::L2, and ArmISA::TableWalker::DescriptorBase::lookupLevel.
|
inlinevirtual |
Three bit access protection flags.
Implements ArmISA::TableWalker::DescriptorBase.
Definition at line 314 of file table_walker.hh.
Referenced by ArmISA::TableWalker::doL2Descriptor().
|
inlinevirtual |
Implements ArmISA::TableWalker::DescriptorBase.
Definition at line 269 of file table_walker.hh.
|
inline |
This entry needs to be written back to memory.
Definition at line 358 of file table_walker.hh.
References _dirty.
|
inlinevirtual |
Implements ArmISA::TableWalker::DescriptorBase.
Definition at line 274 of file table_walker.hh.
References ArmISA::TableWalker::L1Descriptor::domain(), and l1Parent.
|
inlinevirtual |
Implements ArmISA::TableWalker::DescriptorBase.
Definition at line 264 of file table_walker.hh.
References data.
|
inlinevirtual |
Is the translation global (no asid used)?
Implements ArmISA::TableWalker::DescriptorBase.
Definition at line 308 of file table_walker.hh.
|
inline |
Is the entry invalid.
Definition at line 290 of file table_walker.hh.
Referenced by ArmISA::TableWalker::doL2Descriptor().
|
inline |
What is the size of the mapping?
Definition at line 296 of file table_walker.hh.
Referenced by offsetBits(), paddr(), pfn(), texcb(), and xn().
|
inlinevirtual |
Implements ArmISA::TableWalker::DescriptorBase.
Definition at line 284 of file table_walker.hh.
References large().
Return complete physical address given a VA.
Definition at line 334 of file table_walker.hh.
|
inlinevirtual |
Return the physical frame, bits shifted right.
Implements ArmISA::TableWalker::DescriptorBase.
Definition at line 328 of file table_walker.hh.
|
inlinevirtual |
Implements ArmISA::TableWalker::DescriptorBase.
Definition at line 279 of file table_walker.hh.
References l1Parent, and ArmISA::TableWalker::L1Descriptor::secure().
|
inline |
Set access flag that this entry has been touched.
Mark the entry as requiring a writeback, in the future.
Definition at line 351 of file table_walker.hh.
|
inlinevirtual |
If the section is shareable.
See texcb() comment.
Reimplemented from ArmISA::TableWalker::DescriptorBase.
Definition at line 343 of file table_walker.hh.
|
inlinevirtual |
Memory region attributes: ARM DDI 0406B: B3-32.
Reimplemented from ArmISA::TableWalker::DescriptorBase.
Definition at line 320 of file table_walker.hh.
|
inlinevirtual |
Is execution allowed on this mapping?
Implements ArmISA::TableWalker::DescriptorBase.
Definition at line 302 of file table_walker.hh.
bool ArmISA::TableWalker::L2Descriptor::_dirty |
This entry has been modified (access flag set) and needs to be written back to memory.
Definition at line 250 of file table_walker.hh.
uint32_t ArmISA::TableWalker::L2Descriptor::data |
The raw bits of the entry.
Definition at line 245 of file table_walker.hh.
Referenced by ap(), ArmISA::TableWalker::doL1Descriptor(), ArmISA::TableWalker::doL2Descriptor(), getRawData(), global(), invalid(), large(), paddr(), pfn(), setAp0(), shareable(), texcb(), and xn().
L1Descriptor* ArmISA::TableWalker::L2Descriptor::l1Parent |
Definition at line 246 of file table_walker.hh.