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 (uint64_t physicalAddress) |
~PageStack () | |
size_t | freePages () const |
Private Member Functions | |
PageStack (const PageStack &) | |
PageStack & | operator= (const PageStack &) |
Private Attributes | |
void * | m_Stack [StackCount] |
size_t | m_StackMax [StackCount] |
size_t | m_StackSize [StackCount] |
size_t | m_FreePages |
Static Private Attributes | |
static const size_t | StackCount = 1 |
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 106 of file kernel/core/processor/hosted/PhysicalMemoryManager.h.
HostedPhysicalMemoryManager::PageStack::PageStack | ( | ) |
Default constructor does nothing
Definition at line 493 of file hosted/PhysicalMemoryManager.cc.
Referenced by ~PageStack().
|
inline |
The destructor does nothing
Definition at line 119 of file kernel/core/processor/hosted/PhysicalMemoryManager.h.
References m_FreePages, operator=(), and PageStack().
|
private |
The copy-constructor
physical_uintptr_t HostedPhysicalMemoryManager::PageStack::allocate | ( | size_t | constraints | ) |
Allocate a page with certain constraints
[in] | constraints | either below4GB or below64GB or 0 |
Definition at line 425 of file hosted/PhysicalMemoryManager.cc.
void HostedPhysicalMemoryManager::PageStack::free | ( | uint64_t | physicalAddress | ) |
Free a physical page
[in] | physicalAddress | physical address of the page |
Definition at line 460 of file hosted/PhysicalMemoryManager.cc.
References VirtualAddressSpace::getKernelAddressSpace(), PhysicalMemoryManager::getPageSize(), physicalAddress(), and VirtualAddressSpace::Write.
Referenced by HostedPhysicalMemoryManager::unmapRegion().
The copy-constructor
Referenced by ~PageStack().
|
private |
Current pages available.
Definition at line 147 of file kernel/core/processor/hosted/PhysicalMemoryManager.h.
Referenced by ~PageStack().
|
private |
Pointer to the base address of the stack. The stack grows upwards.
Definition at line 141 of file kernel/core/processor/hosted/PhysicalMemoryManager.h.
|
private |
Size of the currently mapped stack
Definition at line 143 of file kernel/core/processor/hosted/PhysicalMemoryManager.h.
|
private |
Currently used size of the stack
Definition at line 145 of file kernel/core/processor/hosted/PhysicalMemoryManager.h.
|
staticprivate |
The number of Stacks
Definition at line 137 of file kernel/core/processor/hosted/PhysicalMemoryManager.h.