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
 

Detailed Description

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.

Internal data, used to go through the VMM's AVL tree.

Field Documentation

◆ allocated

bool vma::allocated

Whether this area is currently being used

◆ segment

struct vm_segment vma::segment

Used by the address space API


The documentation for this struct was generated from the following file: