|
My Kernel v0.1.0
|
Virtual Memory Area. More...
#include <vmm.h>
Data Structures | |
| struct | vma_avl |
| Intrusive AVL tree structures used by the VMM libalgo/avl.H. More... | |
Data Fields | |
| struct vm_segment | segment |
| bool | allocated |
A virtual memory area represents a contiguous area in the virtual address space. A single area can be allocated (currently in use), or not. If an area is marked as 'free', this means that each (virtual) addresses located inside it can safely be given to a function which requests it.
Each area can also be associated with different feature flags (defined as VMM_F_*). This is necessary to be able distinct between addresses mapped to files or not, or even addresses mapped to IO devices.
VMAs are managed by the Virtual Memory Manager, and should not be interacted with directly by the user. They serve as an internal structure for the VMM to be able to easily keep track of allocated addresses.
| bool vma::allocated |
Whether this area is currently being used
| struct vm_segment vma::segment |
Used by the address space API