• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /barrelfish-2018-10-04/lib/barrelfish/vspace/

Lines Matching refs:vregion

3  * \brief vregion management
5 * A vregion is backed by a memory object and a vspace.
6 * A vregion manages a range of virtual address space.
23 * \brief Setup a new vregion with alignment constraints in an address space
25 * \param vregion The vregion
26 * \param vspace The vspace to associate with the vregion
33 errval_t vregion_map_aligned(struct vregion *vregion, struct vspace* vspace,
48 vregion->vspace = vspace;
49 vregion->memobj = memobj;
50 vregion->base = address;
51 vregion->offset = offset;
52 vregion->size = size;
53 vregion->flags = flags;
56 err = vspace_add_vregion(vspace, vregion);
62 err = memobj->f.map_region(memobj, vregion);
67 vregion->memobj = NULL;
75 * \brief Setup a new vregion anywhere in the address space
77 * \param vregion The vregion
78 * \param vspace The vspace to associate with the vregion
84 errval_t vregion_map(struct vregion *vregion, struct vspace *vspace,
88 return vregion_map_aligned(vregion, vspace, memobj, offset, size, flags, 0);
92 * \brief Setup a new vregion at a specified location
94 * \param vregion The region
99 * \param addr Address to create the vregion for
102 errval_t vregion_map_fixed(struct vregion *vregion, struct vspace *vspace,
114 vregion->vspace = vspace;
115 vregion->memobj = memobj;
116 vregion->base = addr;
117 vregion->offset = offset;
118 vregion->size = size;
119 vregion->flags = flags;
122 err = vspace_add_vregion(vspace, vregion);
128 err = memobj->f.map_region(memobj, vregion);
143 errval_t vregion_destroy(struct vregion *vregion)
147 struct vspace *vspace = vregion_get_vspace(vregion);
149 err = vspace_remove_vregion(vspace, vregion);
155 struct memobj *memobj = vregion_get_memobj(vregion);
157 err = memobj->f.unmap_region(memobj, vregion);
169 * \param vregion The vregion the fault occured in
175 errval_t vregion_pagefault_handler(struct vregion *vregion, genvaddr_t addr,
178 struct memobj *memobj = vregion->memobj;
179 genvaddr_t offset = addr - vregion->base;
181 return memobj->f.pagefault(memobj, vregion, offset, type);