/barrelfish-2018-10-04/lib/barrelfish/vspace/ |
H A D | vregion.c | 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, argument 48 vregion 84 vregion_map(struct vregion *vregion, struct vspace *vspace, struct memobj *memobj, size_t offset, size_t size, vregion_flags_t flags) argument 102 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) argument 143 vregion_destroy(struct vregion *vregion) argument 175 vregion_pagefault_handler(struct vregion *vregion, genvaddr_t addr, vm_fault_type_t type) argument [all...] |
H A D | memobj_pinned.c | 5 * This can only be mapped into one vregion. 29 * Only one vregion can be mapped 31 static errval_t map_region(struct memobj *memobj, struct vregion *vregion) argument 35 if (pinned->vregion) { 39 pinned->vregion = vregion; 49 static errval_t unmap_region(struct memobj *memobj, struct vregion *vregion) argument 58 * \param region The vregion t 63 protect(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, size_t range, vs_prot_flags_t flags) argument 77 pin(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, size_t range) argument 91 unpin(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, size_t range) argument 118 struct vregion *vregion = pinned->vregion; local 141 pagefault(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, vm_fault_type_t type) argument [all...] |
H A D | memobj_one_frame_one_map.c | 24 static errval_t map_region(struct memobj *memobj, struct vregion *vregion) argument 29 if (state->vregion) { 33 state->vregion = vregion; 43 static errval_t unmap_region(struct memobj *memobj, struct vregion *vregion) argument 48 if (one_frame->vregion != vregion) { 52 struct vspace *vspace = vregion_get_vspace(vregion); 68 protect(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, size_t range, vs_prot_flags_t flags) argument 94 pin(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, size_t range) argument 109 unpin(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, size_t range) argument 145 pagefault(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, vm_fault_type_t type) argument [all...] |
H A D | memobj_fixed.c | 35 static errval_t map_region(struct memobj *memobj, struct vregion *vregion) argument 40 assert(memobj->size >= (vregion->offset + vregion->size)); 42 /* the vregion must start at one of the backed frames */ 43 if (vregion->offset % fixed->chunk_size) { 47 if (fixed->vregion) { 51 fixed->vregion = vregion; 62 static errval_t unmap_region(struct memobj *memobj, struct vregion *vregio argument 97 protect(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, size_t range, vs_prot_flags_t flags) argument 126 pin(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, size_t range) argument 142 unpin(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, size_t range) argument 208 struct vregion *vregion = fixed->vregion; local 248 pagefault(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, vm_fault_type_t type) argument 370 struct vregion *vregion = NULL; local [all...] |
H A D | memobj_numa.c | 38 static errval_t map_region(struct memobj *memobj, struct vregion *vregion) argument 43 assert(memobj->size >= (vregion->offset + vregion->size)); 45 /* the vregion must start at one of the backed frames */ 46 if (vregion->offset % mo_numa->stride) { 50 if (mo_numa->vregion) { 54 mo_numa->vregion = vregion; 65 static errval_t unmap_region(struct memobj *memobj, struct vregion *vregio argument 99 protect(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, size_t range, vs_prot_flags_t flags) argument 128 pin(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, size_t range) argument 146 unpin(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, size_t range) argument 250 pagefault(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, vm_fault_type_t type) argument 401 struct vregion *vregion = mo_numa->vregion; local [all...] |
H A D | memobj_one_frame_lazy.c | 24 static errval_t map_region(struct memobj *memobj, struct vregion *vregion) argument 33 data->region = vregion; 47 static errval_t unmap_region(struct memobj *memobj, struct vregion *vregion) argument 58 * \param region The vregion to modify the mappings on 63 static errval_t protect(struct memobj *memobj, struct vregion *vregion, argument 74 * \param region The vregion to modify the state on 78 static errval_t pin(struct memobj *memobj, struct vregion *vregio argument 93 unpin(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, size_t range) argument 108 pagefault(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, vm_fault_type_t type) argument [all...] |
H A D | utils.c | 40 struct vregion *vregion = vspace_get_region(get_current_vspace(), buf); local 41 assert(vregion); 43 err = vregion_destroy(vregion); 53 struct vregion *vregion, size_t size, 63 // Create a memobj and vregion 69 err1 = vregion_map_aligned(vregion, get_current_vspace(), 77 *retaddr = (void*)vspace_genvaddr_to_lvaddr(vregion_get_base_addr(vregion)); 94 * The memory object and vregion ar 52 vspace_map_anon_nomalloc(void **retaddr, struct memobj_anon *memobj, struct vregion *vregion, size_t size, size_t *retsize, vregion_flags_t flags, size_t alignment) argument 104 struct vregion *vregion = NULL; local 139 struct vregion *vregion = NULL; local 174 struct vregion *vregion = NULL; local 253 struct vregion *vregion = NULL; local 343 struct vregion *vregion = NULL; local 410 vspace_map_one_frame_one_map(struct memobj_one_frame_one_map *memobj, struct vregion *vregion, size_t size, struct capref frame) argument [all...] |
H A D | vspace_internal.h | 28 errval_t vspace_add_vregion(struct vspace* vspace, struct vregion* region); 29 errval_t vspace_remove_vregion(struct vspace*qvspace, struct vregion* region);
|
H A D | memobj_one_frame.c | 24 static errval_t map_region(struct memobj *memobj, struct vregion *vregion) argument 33 data->region = vregion; 49 static errval_t unmap_region(struct memobj *memobj, struct vregion *vregion) argument 56 struct vspace *vspace = vregion_get_vspace(vregion); 58 genvaddr_t vregion_base = vregion_get_base_addr(vregion); 59 genvaddr_t vregion_off = vregion_get_offset(vregion); 66 /* Remove the vregion from the list */ 70 if (walk->region == vregion) { 98 protect(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, size_t range, vs_prot_flags_t flags) argument 124 pin(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, size_t range) argument 138 unpin(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, size_t range) argument 172 pagefault(struct memobj *memobj, struct vregion *vregion, genvaddr_t offset, vm_fault_type_t type) argument [all...] |
/barrelfish-2018-10-04/include/barrelfish/ |
H A D | vregion.h | 49 struct vregion { struct 50 struct vspace *vspace; ///< A vregion is always associated with one vspace 51 struct memobj *memobj; ///< A vregion is always associated with one memobj 53 genvaddr_t size; ///< Size of the vregion 54 genvaddr_t base; ///< Base address of the vregion 56 struct vregion *next; ///< Pointer for the list in vspace 60 * \brief Get the vspace associated with the vregion 62 * \param vregion The vregion 64 static inline struct vspace *vregion_get_vspace(struct vregion *vregio argument 74 vregion_get_memobj(struct vregion *vregion) argument 84 vregion_get_base_addr(struct vregion *vregion) argument 94 vregion_get_offset(struct vregion *vregion) argument 104 vregion_get_size(struct vregion *vregion) argument 114 vregion_get_flags(struct vregion *vregion) argument [all...] |
H A D | vspace_mmu_aware.h | 19 #include <barrelfish/vregion.h> 25 struct vregion vregion; member in struct:vspace_mmu_vregion_list 35 struct vregion vregion; ///< Needs just one vregion member in struct:vspace_mmu_aware
|
H A D | vspace_common.h | 30 #include <barrelfish/vregion.h> 40 struct vregion **ret_vregion, size_t size, 43 struct vregion *vregion, size_t size, 47 struct vregion **ret_vregion, size_t size, 52 struct vregion **ret_vregion, 57 struct vregion **retvregion); 62 struct vregion **retvregion); 65 struct vregion **retvregion); 67 struct vregion *vregio [all...] |
H A D | memobj.h | 39 struct vregion; 41 errval_t (*map_region)(struct memobj *memobj, struct vregion *vregion); 42 errval_t (*unmap_region)(struct memobj* memobj, struct vregion* region); 43 errval_t (*protect)(struct memobj* memobj, struct vregion* region, 45 errval_t (*pin)(struct memobj* memobj, struct vregion* region, 47 errval_t (*unpin)(struct memobj* memobj, struct vregion* region, 55 errval_t (*pagefault)(struct memobj* memobj, struct vregion* region, 62 struct vregion *region; 76 struct vregion *vregio member in struct:memobj_pinned 81 struct vregion *vregion; ///< Pointer to the single vregion member in struct:memobj_one_frame_one_map 127 struct vregion *vregion; ///< the associated vregion member in struct:memobj_fixed 141 struct vregion *vregion; ///< the associated vregion member in struct:memobj_numa [all...] |
H A D | vspace.h | 25 struct vregion *head; ///< List of vregions in the vspace 44 struct vregion* vspace_get_region(struct vspace* vspace, const void *addr);
|
/barrelfish-2018-10-04/include/arch/aarch64/barrelfish/ |
H A D | core_state_arch.h | 28 struct vregion vregion; member in struct:pinned_state
|
/barrelfish-2018-10-04/include/arch/arm/barrelfish/ |
H A D | core_state_arch.h | 28 struct vregion vregion; member in struct:pinned_state
|
/barrelfish-2018-10-04/include/arch/x86/barrelfish/ |
H A D | core_state_arch.h | 28 struct vregion vregion; member in struct:pinned_state
|
/barrelfish-2018-10-04/lib/spawndomain/ |
H A D | spawn_vspace.c | 74 struct vregion *vregion = NULL; local 77 vregion = malloc(sizeof(struct vregion)); 78 if (!vregion) { 98 err = vregion_map(vregion, si->vspace, &memobj->m, 0, size, 104 err = memobj->m.f.pagefault(&memobj->m, vregion, 0, 0); 110 *retaddr = vregion_get_base_addr(vregion); 114 if (vregion) { 115 free(vregion); 130 struct vregion *vregion = NULL; local 181 spawn_vspace_map_anon_fixed_attr(struct spawninfo *si, genvaddr_t addr, size_t size, struct vregion **vregion, struct memobj **memobj, vregion_flags_t flags) argument [all...] |
/barrelfish-2018-10-04/include/pci/ |
H A D | mem.h | 33 struct vregion *vregion; // valid after map_device() member in struct:device_mem
|
/barrelfish-2018-10-04/lib/vfs/ |
H A D | mmap.c | 28 * \param region The associated vregion 32 static errval_t pagefault(struct memobj *memobj, struct vregion *vregion, argument 39 struct vspace *vspace = vregion_get_vspace(vregion); 41 genvaddr_t vregion_base = vregion_get_base_addr(vregion); 42 genvaddr_t vregion_off = vregion_get_offset(vregion); 82 struct vregion *tmp_vregion = NULL; 118 walk->size, vregion_get_flags(vregion), NULL, NULL); 168 errval_t memobj_flush_vfs(struct memobj *memobj, struct vregion *vregion) argument 240 struct vregion *vregion = NULL; local [all...] |
/barrelfish-2018-10-04/lib/pci/confspace/ |
H A D | pcie_confspace.c | 23 static struct vregion *vregion = NULL; variable in typeref:struct:vregion 50 vregion = malloc(sizeof(struct vregion)); 51 assert(vregion); 58 err = vregion_map(vregion, get_current_vspace(), &memobj->m, 0, region_bytes, 87 err = memobj->m.f.pagefault(&memobj->m, vregion, page * BASE_PAGE_SIZE, 0); 95 genvaddr_t genvaddr = vregion_get_base_addr(vregion); 101 if (vregion == NULL || !pcie_enabled || addr.bus < startbus
|
/barrelfish-2018-10-04/include/vfs/ |
H A D | mmap.h | 31 errval_t memobj_flush_vfs(struct memobj *memobj, struct vregion *vregion); 35 struct vregion **ret_vregion, 40 struct vregion **ret_vregion, 45 struct vregion **ret_vregion,
|
/barrelfish-2018-10-04/include/target/aarch64/barrelfish/ |
H A D | pmap_target.h | 43 struct vregion vregion; ///< Vregion used to reserve virtual address for metadata member in struct:pmap_aarch64
|
/barrelfish-2018-10-04/include/target/arm/barrelfish/ |
H A D | pmap_target.h | 43 struct vregion vregion; ///< Vregion used to reserve virtual address for metadata member in struct:pmap_arm
|
/barrelfish-2018-10-04/include/target/x86/barrelfish/ |
H A D | pmap_target.h | 43 struct vregion vregion; ///< Vregion used to reserve virtual address for metadata member in struct:pmap_x86
|