The Pedigree Project
0.1
|
The Stack of pages (below4GB, below64GB, no constraint). More...
Public Member Functions | |
PageStack () INITIALISATION_ONLY | |
physical_uintptr_t | allocate (size_t constraints) |
void | free (physical_uintptr_t physicalAddress) |
~PageStack () | |
Private Member Functions | |
PageStack (const PageStack &) | |
PageStack & | operator= (const PageStack &) |
Private Attributes | |
physical_uintptr_t | m_Stack [1] |
void * | m_Stack |
size_t | m_StackMax |
size_t | m_StackSize |
The Stack of pages (below4GB, below64GB, no constraint).
The actual page stack contains is a Stack of the pages with the constraints below4GB and below64GB and those pages without address size constraints.
Definition at line 81 of file kernel/core/processor/armv7/PhysicalMemoryManager.h.
ArmV7PhysicalMemoryManager::PageStack::PageStack | ( | ) |
Default constructor does nothing
Definition at line 293 of file armv7/PhysicalMemoryManager.cc.
Referenced by ~PageStack().
|
inline |
The destructor does nothing
Definition at line 94 of file kernel/core/processor/armv7/PhysicalMemoryManager.h.
References operator=(), and PageStack().
|
private |
The copy-constructor
physical_uintptr_t ArmV7PhysicalMemoryManager::PageStack::allocate | ( | size_t | constraints | ) |
Allocate a page with certain constraints
[in] | constraints | either below4GB or below64GB or 0 |
Definition at line 245 of file armv7/PhysicalMemoryManager.cc.
void ArmV7PhysicalMemoryManager::PageStack::free | ( | physical_uintptr_t | physicalAddress | ) |
Free a physical page
[in] | physicalAddress | physical address of the page |
Definition at line 259 of file armv7/PhysicalMemoryManager.cc.
References VirtualAddressSpace::getKernelAddressSpace(), PhysicalMemoryManager::getPageSize(), VirtualAddressSpace::KernelMode, ArmV7VirtualAddressSpace::map(), physicalAddress(), and VirtualAddressSpace::Write.
The copy-constructor
Referenced by ~PageStack().
|
private |
Pointer to the base address of the stack. The stack grows upwards.
Definition at line 111 of file kernel/core/processor/armv7/PhysicalMemoryManager.h.
|
private |
Size of the currently mapped stack
Definition at line 115 of file kernel/core/processor/armv7/PhysicalMemoryManager.h.
|
private |
Currently used size of the stack
Definition at line 117 of file kernel/core/processor/armv7/PhysicalMemoryManager.h.