Barrelfish
|
vregion management More...
Functions | |
errval_t | vregion_map_aligned (struct vregion *vregion, struct vspace *vspace, struct memobj *memobj, size_t offset, size_t size, vregion_flags_t flags, size_t alignment) |
Setup a new vregion with alignment constraints in an address space. More... | |
errval_t | vregion_map (struct vregion *vregion, struct vspace *vspace, struct memobj *memobj, size_t offset, size_t size, vregion_flags_t flags) |
Setup a new vregion anywhere in the address space. More... | |
errval_t | vregion_map_fixed (struct vregion *vregion, struct vspace *vspace, struct memobj *memobj, size_t offset, size_t size, genvaddr_t addr, vregion_flags_t flags) |
Setup a new vregion at a specified location. More... | |
errval_t | vregion_destroy (struct vregion *vregion) |
Destroy the given region. More... | |
errval_t | vregion_pagefault_handler (struct vregion *vregion, genvaddr_t addr, vm_fault_type_t type) |
Page fault handler. More... | |
vregion management
A vregion is backed by a memory object and a vspace. A vregion manages a range of virtual address space.
errval_t vregion_destroy | ( | struct vregion * | vregion | ) |
Destroy the given region.
errval_t vregion_map | ( | struct vregion * | vregion, |
struct vspace * | vspace, | ||
struct memobj * | memobj, | ||
size_t | offset, | ||
size_t | size, | ||
vregion_flags_t | flags | ||
) |
Setup a new vregion anywhere in the address space.
vregion | The vregion |
vspace | The vspace to associate with the vregion |
memobj | The memory object to associate with the region |
offset | Offset into the memory object |
size | Size of the memory object to use |
flags | Vregion specific flags |
errval_t vregion_map_aligned | ( | struct vregion * | vregion, |
struct vspace * | vspace, | ||
struct memobj * | memobj, | ||
size_t | offset, | ||
size_t | size, | ||
vregion_flags_t | flags, | ||
size_t | alignment | ||
) |
Setup a new vregion with alignment constraints in an address space.
vregion | The vregion |
vspace | The vspace to associate with the vregion |
memobj | The memory object to associate with the region |
offset | Offset into the memory object |
size | Size of the memoryg object to use |
flags | Vregion specific flags |
alignment | Minimum required alignment of mapping (may be increased) |
errval_t vregion_map_fixed | ( | struct vregion * | vregion, |
struct vspace * | vspace, | ||
struct memobj * | memobj, | ||
size_t | offset, | ||
size_t | size, | ||
genvaddr_t | addr, | ||
vregion_flags_t | flags | ||
) |
Setup a new vregion at a specified location.
vregion | The region |
vspace | The vspace to associate with the region |
memobj | The memory object to associate with the region |
offset | Offset into the memory object |
size | Size of the memory object to use |
addr | Address to create the vregion for |
flags | Vregion specific flags |
errval_t vregion_pagefault_handler | ( | struct vregion * | vregion, |
genvaddr_t | addr, | ||
vm_fault_type_t | type | ||
) |
Page fault handler.
vregion | The vregion the fault occured in |
addr | The faulting address |
type | The fault type |
Look up the appropriate memory object and forward the fault to it