|
The Pedigree Project 0.1
|
#include <UserMemoryPolicy.h>
Collaboration diagram for RawUserMemory:Classes | |
| class | Plan |
| struct | State |
Public Member Functions | |
| RawUserMemory (VirtualAddressSpace &space) | |
| uint64_t | nextRegionId () |
| bool | completeInventory () const |
| void | setCompleteInventory (bool complete) |
| bool | covers (uintptr_t base, size_t length) const |
| bool | hasLockedMemory (uintptr_t base, size_t length) const |
| MemoryLockStatus | prepareChange (const UserRegion *previous, const UserRegion *replacement, UniquePointer< PreparedMemoryLock > &result) |
| MemoryLockStatus | prepareLocks (uintptr_t base, size_t length, MemoryLockMode mode, UniquePointer< PreparedMemoryLock > &result) |
| MemoryLockStatus | prepareAllLocks (MemoryLockMode mode, UniquePointer< PreparedMemoryLock > &result) |
| MemoryLockStatus | prepareReplacement (uintptr_t base, size_t length, UniquePointer< PreparedMemoryLock > &result) |
| MemoryLockStatus | cloneInto (RawUserMemory &target) |
| size_t | retireRegion (uint64_t id) |
| void | clear () |
Private Member Functions | |
| NOT_COPYABLE_OR_ASSIGNABLE (RawUserMemory) | |
Private Attributes | |
| VirtualAddressSpace & | m_Space |
| UniquePointer< State > | m_State |
Nonowning raw allocation inventory. Core retains physical-page ownership.
Definition at line 123 of file UserMemoryPolicy.h.
|
explicit |
Definition at line 186 of file RawUserMemory.cc.
| void RawUserMemory::clear | ( | ) |
Definition at line 432 of file RawUserMemory.cc.
| MemoryLockStatus RawUserMemory::cloneInto | ( | RawUserMemory & | target | ) |
Definition at line 412 of file RawUserMemory.cc.
| bool RawUserMemory::completeInventory | ( | ) | const |
Definition at line 197 of file RawUserMemory.cc.
| bool RawUserMemory::covers | ( | uintptr_t | base, |
| size_t | length | ||
| ) | const |
Requires the user-memory operation gate; holes are never inferred from brk.
Definition at line 207 of file RawUserMemory.cc.
| bool RawUserMemory::hasLockedMemory | ( | uintptr_t | base, |
| size_t | length | ||
| ) | const |
Definition at line 224 of file RawUserMemory.cc.
| uint64_t RawUserMemory::nextRegionId | ( | ) |
Definition at line 189 of file RawUserMemory.cc.
| MemoryLockStatus RawUserMemory::prepareAllLocks | ( | MemoryLockMode | mode, |
| UniquePointer< PreparedMemoryLock > & | result | ||
| ) |
Definition at line 387 of file RawUserMemory.cc.
| MemoryLockStatus RawUserMemory::prepareChange | ( | const UserRegion * | previous, |
| const UserRegion * | replacement, | ||
| UniquePointer< PreparedMemoryLock > & | result | ||
| ) |
Definition at line 235 of file RawUserMemory.cc.
| MemoryLockStatus RawUserMemory::prepareLocks | ( | uintptr_t | base, |
| size_t | length, | ||
| MemoryLockMode | mode, | ||
| UniquePointer< PreparedMemoryLock > & | result | ||
| ) |
Definition at line 344 of file RawUserMemory.cc.
| MemoryLockStatus RawUserMemory::prepareReplacement | ( | uintptr_t | base, |
| size_t | length, | ||
| UniquePointer< PreparedMemoryLock > & | result | ||
| ) |
Keep the user-memory operation gate through commit. Success with no raw overlap clears result and needs no commit; failures leave result unchanged.
Definition at line 300 of file RawUserMemory.cc.
Referenced by MemoryMapManager::removeAndRelease().
Here is the caller graph for this function:| size_t RawUserMemory::retireRegion | ( | uint64_t | id | ) |
Definition at line 445 of file RawUserMemory.cc.
| void RawUserMemory::setCompleteInventory | ( | bool | complete | ) |
Definition at line 200 of file RawUserMemory.cc.
|
private |
Definition at line 150 of file UserMemoryPolicy.h.
|
private |
Definition at line 151 of file UserMemoryPolicy.h.