Phoenix
Object-oriented orthogonally persistent operating system
|
Class for creating short temporal mappings for separate pages. More...
#include <vm_mm.h>
Public Types | |
enum | { MAX_PAGES = 64 } |
Public Member Functions | |
QuickMap (Vaddr mapBase, size_t numPages, void **mapPte) | |
Construct quick map helper object. | |
Vaddr | Map (Paddr pa, long flags=LAT_EF_PRESENT|LAT_EF_WRITE) |
Map physical address. | |
void | Unmap (Vaddr va) |
Unmap page which was previously mapped by Map method. |
Class for creating short temporal mappings for separate pages.
QuickMap::QuickMap | ( | Vaddr | mapBase, |
size_t | numPages, | ||
void ** | mapPte | ||
) |
Construct quick map helper object.
mapBase | Virtual address of the first page in the VAS region reserved for quick maps. The region must be a continuous range of one or more pages. |
numPages | Number of pages available in provided VAS region. |
mapPte | Array of PTEs which correspond to virtual addresses provided in mapBase. |
Map physical address.
pa | Physical address to map. One page is mapped. |
flags | Mapping flags for the entry, see LatEntryFlags. |
void QuickMap::Unmap | ( | Vaddr | va | ) |