Barrelfish
|
pmap management More...
Functions | |
errval_t | pmap_x86_64_init (struct pmap *pmap, struct vspace *vspace, struct capref vnode, struct slot_allocator *opt_slot_alloc) |
Initialize a x86 pmap object. More... | |
errval_t | pmap_x86_64_current_init (bool init_domain) |
Initialize the current pmap. Reserve space for metadata. More... | |
pmap management
x86_64 specific management of page tables
Warning: This code is coupled with the code in slot_alloc/. and pinned.c
The maximum number of slots required to map a BASE_PAGE_SIZE sized page is the number of page table levels + 1. The sum for x86_64 is 4.
Warning: Additional slots will be required to map a BASE_PAGE_SIZE size page, if we also track the actual frames that are mapped. Currently this is not the case.
errval_t pmap_x86_64_current_init | ( | bool | init_domain | ) |
Initialize the current pmap. Reserve space for metadata.
This code is coupled with vspace_current_init()
errval_t pmap_x86_64_init | ( | struct pmap * | pmap, |
struct vspace * | vspace, | ||
struct capref | vnode, | ||
struct slot_allocator * | opt_slot_alloc | ||
) |
Initialize a x86 pmap object.
pmap | Pmap object of type x86 |