/seL4-refos-master/libs/libsel4utils/include/sel4utils/ |
H A D | mapping.h | 58 * @param size_bits size of the page to map 62 void *sel4utils_dup_and_map(vka_t *vka, vspace_t *vspace, seL4_CPtr page, size_t size_bits); 70 * @param size_bits size of the page to unmap 74 void sel4utils_unmap_dup(vka_t *vka, vspace_t *vspace, void *mapping, size_t size_bits); 78 seL4_CapRights_t rights, int cacheable, seL4_Word size_bits, 84 seL4_CapRights_t rights, int cacheable, seL4_Word size_bits, vka_object_t *pagetable, vka_object_t *pagedir,
|
H A D | vspace_internal.h | 300 static inline int update_entries(vspace_t *vspace, uintptr_t vaddr, seL4_CPtr cap, size_t size_bits, uintptr_t cookie) argument 303 uintptr_t end = vaddr + BIT(size_bits); 314 static inline int reserve_entries(vspace_t *vspace, uintptr_t vaddr, size_t size_bits) argument 317 uintptr_t end = vaddr + BIT(size_bits); 336 static inline int clear_entries(vspace_t *vspace, uintptr_t vaddr, size_t size_bits) argument 339 uintptr_t end = vaddr + BIT(size_bits); 349 static inline bool is_reserved_or_empty(vspace_mid_level_t *top_level, uintptr_t vaddr, size_t size_bits, argument 353 uintptr_t end = vaddr + BIT(size_bits); 362 static inline bool is_available(vspace_mid_level_t *top_level, uintptr_t vaddr, size_t size_bits) argument 364 return is_reserved_or_empty(top_level, vaddr, size_bits, EMPT 372 is_reserved(vspace_mid_level_t *top_level, uintptr_t vaddr, size_t size_bits) argument [all...] |
/seL4-refos-master/projects/seL4_libs/libsel4utils/include/sel4utils/ |
H A D | mapping.h | 58 * @param size_bits size of the page to map 62 void *sel4utils_dup_and_map(vka_t *vka, vspace_t *vspace, seL4_CPtr page, size_t size_bits); 70 * @param size_bits size of the page to unmap 74 void sel4utils_unmap_dup(vka_t *vka, vspace_t *vspace, void *mapping, size_t size_bits); 78 seL4_CapRights_t rights, int cacheable, seL4_Word size_bits, 84 seL4_CapRights_t rights, int cacheable, seL4_Word size_bits, vka_object_t *pagetable, vka_object_t *pagedir,
|
H A D | vspace_internal.h | 300 static inline int update_entries(vspace_t *vspace, uintptr_t vaddr, seL4_CPtr cap, size_t size_bits, uintptr_t cookie) argument 303 uintptr_t end = vaddr + BIT(size_bits); 314 static inline int reserve_entries(vspace_t *vspace, uintptr_t vaddr, size_t size_bits) argument 317 uintptr_t end = vaddr + BIT(size_bits); 336 static inline int clear_entries(vspace_t *vspace, uintptr_t vaddr, size_t size_bits) argument 339 uintptr_t end = vaddr + BIT(size_bits); 349 static inline bool is_reserved_or_empty(vspace_mid_level_t *top_level, uintptr_t vaddr, size_t size_bits, argument 353 uintptr_t end = vaddr + BIT(size_bits); 362 static inline bool is_available(vspace_mid_level_t *top_level, uintptr_t vaddr, size_t size_bits) argument 364 return is_reserved_or_empty(top_level, vaddr, size_bits, EMPT 372 is_reserved(vspace_mid_level_t *top_level, uintptr_t vaddr, size_t size_bits) argument [all...] |
/seL4-refos-master/libs/libsel4allocman/include/allocman/utspace/ |
H A D | vka.h | 31 static inline seL4_Word _utspace_vka_alloc(struct allocman *alloc, void *_vka, size_t size_bits, seL4_Word type, const cspacepath_t *slot, uintptr_t paddr, bool canBeDevice, int *error) argument 34 size_t sel4_size_bits = get_sel4_object_size(type, size_bits); 56 static inline void _utspace_vka_free(struct allocman *alloc, void *_vka, seL4_Word _cookie, size_t size_bits) argument 60 vka_utspace_free(vka, cookie->original_cookie, cookie->type, get_sel4_object_size(cookie->type, size_bits)); 63 static inline uintptr_t _utspace_vka_paddr(void *_vka, seL4_Word _cookie, size_t size_bits) argument 67 return vka_utspace_paddr(vka, cookie->original_cookie, cookie->type, get_sel4_object_size(cookie->type, size_bits)); 70 static inline int _utspace_vka_add_uts(struct allocman *alloc, void *_trickle, size_t num, const cspacepath_t *uts, size_t *size_bits, uintptr_t *paddr, int utType) argument
|
/seL4-refos-master/projects/seL4_libs/libsel4allocman/include/allocman/utspace/ |
H A D | vka.h | 31 static inline seL4_Word _utspace_vka_alloc(struct allocman *alloc, void *_vka, size_t size_bits, seL4_Word type, const cspacepath_t *slot, uintptr_t paddr, bool canBeDevice, int *error) argument 34 size_t sel4_size_bits = get_sel4_object_size(type, size_bits); 56 static inline void _utspace_vka_free(struct allocman *alloc, void *_vka, seL4_Word _cookie, size_t size_bits) argument 60 vka_utspace_free(vka, cookie->original_cookie, cookie->type, get_sel4_object_size(cookie->type, size_bits)); 63 static inline uintptr_t _utspace_vka_paddr(void *_vka, seL4_Word _cookie, size_t size_bits) argument 67 return vka_utspace_paddr(vka, cookie->original_cookie, cookie->type, get_sel4_object_size(cookie->type, size_bits)); 70 static inline int _utspace_vka_add_uts(struct allocman *alloc, void *_trickle, size_t num, const cspacepath_t *uts, size_t *size_bits, uintptr_t *paddr, int utType) argument
|
/seL4-refos-master/libs/libsel4allocman/include/allocman/ |
H A D | allocman.h | 78 size_t size_bits; member in struct:allocman_utspace_chunk 98 size_t size_bits; member in struct:allocman_freed_utspace_chunk 225 * @param size_bits The size in bits of the memory that will be required to store this object. 237 seL4_Word allocman_utspace_alloc_at(allocman_t *alloc, size_t size_bits, seL4_Word type, const cspacepath_t *path, uintptr_t paddr, bool canBeDev, int *_error); 243 * @param size_bits The size in bits of the memory that will be required to store this object. 254 seL4_Word allocman_utspace_alloc(allocman_t *alloc, size_t size_bits, seL4_Word type, const cspacepath_t *path, bool canBeDev, int *_error) argument 256 return allocman_utspace_alloc_at(alloc, size_bits, type, path, ALLOCMAN_NO_PADDR, canBeDev, _error); 265 * @param size_bits The size in bits of the memory that was required to store this object. 269 void allocman_utspace_free(allocman_t *alloc, seL4_Word cookie, size_t size_bits); 384 * @param size_bits Siz 390 allocman_utspace_add_uts(allocman_t *alloc, size_t num, const cspacepath_t *uts, size_t *size_bits, uintptr_t *paddr, int utType) argument 410 allocman_utspace_paddr(allocman_t *alloc, seL4_Word cookie, size_t size_bits) argument [all...] |
/seL4-refos-master/libs/libsel4vspace/src/ |
H A D | vspace.c | 75 void *vspace_share_mem(vspace_t *from, vspace_t *to, void *start, int num_pages, size_t size_bits, argument 81 reservation_t res = vspace_reserve_range_aligned(to, num_pages * (BIT(size_bits)), size_bits, 89 int error = vspace_share_mem_at_vaddr(from, to, start, num_pages, size_bits, result, res); 101 int vspace_access_page_with_callback(vspace_t *from, vspace_t *to, void *access_addr, size_t size_bits, argument 105 to_vaddr = vspace_share_mem(from, to, access_addr, 1, size_bits, rights, cacheable); 115 vspace_unmap_pages(to, to_vaddr, 1, size_bits, (vka_t *) VSPACE_FREE); 124 res = vspace_reserve_range_aligned(vspace, config->num_pages * SIZE_BITS_TO_BYTES(config->size_bits), 125 config->size_bits, 129 config->num_pages * SIZE_BITS_TO_BYTES(config->size_bits), [all...] |
/seL4-refos-master/projects/seL4_libs/libsel4allocman/include/allocman/ |
H A D | allocman.h | 78 size_t size_bits; member in struct:allocman_utspace_chunk 98 size_t size_bits; member in struct:allocman_freed_utspace_chunk 225 * @param size_bits The size in bits of the memory that will be required to store this object. 237 seL4_Word allocman_utspace_alloc_at(allocman_t *alloc, size_t size_bits, seL4_Word type, const cspacepath_t *path, uintptr_t paddr, bool canBeDev, int *_error); 243 * @param size_bits The size in bits of the memory that will be required to store this object. 254 seL4_Word allocman_utspace_alloc(allocman_t *alloc, size_t size_bits, seL4_Word type, const cspacepath_t *path, bool canBeDev, int *_error) argument 256 return allocman_utspace_alloc_at(alloc, size_bits, type, path, ALLOCMAN_NO_PADDR, canBeDev, _error); 265 * @param size_bits The size in bits of the memory that was required to store this object. 269 void allocman_utspace_free(allocman_t *alloc, seL4_Word cookie, size_t size_bits); 384 * @param size_bits Siz 390 allocman_utspace_add_uts(allocman_t *alloc, size_t num, const cspacepath_t *uts, size_t *size_bits, uintptr_t *paddr, int utType) argument 410 allocman_utspace_paddr(allocman_t *alloc, seL4_Word cookie, size_t size_bits) argument [all...] |
/seL4-refos-master/projects/seL4_libs/libsel4vspace/src/ |
H A D | vspace.c | 75 void *vspace_share_mem(vspace_t *from, vspace_t *to, void *start, int num_pages, size_t size_bits, argument 81 reservation_t res = vspace_reserve_range_aligned(to, num_pages * (BIT(size_bits)), size_bits, 89 int error = vspace_share_mem_at_vaddr(from, to, start, num_pages, size_bits, result, res); 101 int vspace_access_page_with_callback(vspace_t *from, vspace_t *to, void *access_addr, size_t size_bits, argument 105 to_vaddr = vspace_share_mem(from, to, access_addr, 1, size_bits, rights, cacheable); 115 vspace_unmap_pages(to, to_vaddr, 1, size_bits, (vka_t *) VSPACE_FREE); 124 res = vspace_reserve_range_aligned(vspace, config->num_pages * SIZE_BITS_TO_BYTES(config->size_bits), 125 config->size_bits, 129 config->num_pages * SIZE_BITS_TO_BYTES(config->size_bits), [all...] |
/seL4-refos-master/libs/libsel4utils/src/ |
H A D | mapping.c | 49 error = vka_alloc_object(vka, obj.type, obj.size_bits, &object); 88 seL4_CapRights_t rights, int cacheable, seL4_Word size_bits, 99 seL4_CapRights_t rights, int cacheable, seL4_Word size_bits, 116 void *sel4utils_dup_and_map(vka_t *vka, vspace_t *vspace, seL4_CPtr page, size_t size_bits) argument 132 void *mapping = vspace_map_pages(vspace, ©_path.capPtr, NULL, seL4_AllRights, 1, size_bits, 1); 141 void sel4utils_unmap_dup(vka_t *vka, vspace_t *vspace, void *mapping, size_t size_bits) argument 148 vspace_unmap_pages(vspace, mapping, 1, size_bits, VSPACE_PRESERVE); 87 sel4utils_map_iospace_page(vka_t *vka, seL4_CPtr iospace, seL4_CPtr frame, seL4_Word vaddr, seL4_CapRights_t rights, int cacheable, seL4_Word size_bits, vka_object_t *pts, int *num_pts) argument 98 sel4utils_map_ept_page(vka_t *vka, seL4_CPtr pd, seL4_CPtr frame, seL4_Word vaddr, seL4_CapRights_t rights, int cacheable, seL4_Word size_bits, vka_object_t *pagetable, vka_object_t *pagedir, vka_object_t *pdpt) argument
|
H A D | page_dma.c | 42 int num_pages = BIT(alloc->ut.size_bits) / PAGE_SIZE_4K; 82 size_t size_bits = LOG_BASE_2(size); local 83 if (BIT(size_bits) != size) { 84 size_bits++; 86 size = BIT(size_bits); 89 int error = vka_alloc_untyped(&dma->vka, size_bits, &ut); 91 ZF_LOGE("Failed to allocate untyped of size %zu", size_bits); 95 uintptr_t paddr = vka_utspace_paddr(&dma->vka, ut.ut, seL4_UntypedObject, size_bits); 111 error = seL4_Untyped_Retype(ut.cptr, kobject_get_type(KOBJECT_FRAME, PAGE_BITS_4K), size_bits, frames[i].root,
|
/seL4-refos-master/projects/seL4_libs/libsel4utils/src/ |
H A D | mapping.c | 49 error = vka_alloc_object(vka, obj.type, obj.size_bits, &object); 88 seL4_CapRights_t rights, int cacheable, seL4_Word size_bits, 99 seL4_CapRights_t rights, int cacheable, seL4_Word size_bits, 116 void *sel4utils_dup_and_map(vka_t *vka, vspace_t *vspace, seL4_CPtr page, size_t size_bits) argument 132 void *mapping = vspace_map_pages(vspace, ©_path.capPtr, NULL, seL4_AllRights, 1, size_bits, 1); 141 void sel4utils_unmap_dup(vka_t *vka, vspace_t *vspace, void *mapping, size_t size_bits) argument 148 vspace_unmap_pages(vspace, mapping, 1, size_bits, VSPACE_PRESERVE); 87 sel4utils_map_iospace_page(vka_t *vka, seL4_CPtr iospace, seL4_CPtr frame, seL4_Word vaddr, seL4_CapRights_t rights, int cacheable, seL4_Word size_bits, vka_object_t *pts, int *num_pts) argument 98 sel4utils_map_ept_page(vka_t *vka, seL4_CPtr pd, seL4_CPtr frame, seL4_Word vaddr, seL4_CapRights_t rights, int cacheable, seL4_Word size_bits, vka_object_t *pagetable, vka_object_t *pagedir, vka_object_t *pdpt) argument
|
H A D | page_dma.c | 42 int num_pages = BIT(alloc->ut.size_bits) / PAGE_SIZE_4K; 82 size_t size_bits = LOG_BASE_2(size); local 83 if (BIT(size_bits) != size) { 84 size_bits++; 86 size = BIT(size_bits); 89 int error = vka_alloc_untyped(&dma->vka, size_bits, &ut); 91 ZF_LOGE("Failed to allocate untyped of size %zu", size_bits); 95 uintptr_t paddr = vka_utspace_paddr(&dma->vka, ut.ut, seL4_UntypedObject, size_bits); 111 error = seL4_Untyped_Retype(ut.cptr, kobject_get_type(KOBJECT_FRAME, PAGE_BITS_4K), size_bits, frames[i].root,
|
/seL4-refos-master/libs/libsel4vka/include/vka/ |
H A D | capops.h | 131 * size_bits is only relevant for dynamically sized objects - untypeds + captables 133 static inline int vka_untyped_retype(vka_object_t *untyped, int type, int size_bits, int num_objects, argument 136 size_bits = vka_get_object_size(type, size_bits); 137 return seL4_Untyped_Retype(untyped->cptr, type, size_bits, dest->root, dest->dest, dest->destDepth, dest->offset,
|
/seL4-refos-master/projects/seL4_libs/libsel4vka/include/vka/ |
H A D | capops.h | 131 * size_bits is only relevant for dynamically sized objects - untypeds + captables 133 static inline int vka_untyped_retype(vka_object_t *untyped, int type, int size_bits, int num_objects, argument 136 size_bits = vka_get_object_size(type, size_bits); 137 return seL4_Untyped_Retype(untyped->cptr, type, size_bits, dest->root, dest->dest, dest->destDepth, dest->offset,
|
/seL4-refos-master/libs/libsel4vspace/src/arch/arm/ |
H A D | mapping.c | 29 obj->size_bits = seL4_IOPageTableBits;
|
/seL4-refos-master/projects/seL4_libs/libsel4vspace/src/arch/arm/ |
H A D | mapping.c | 29 obj->size_bits = seL4_IOPageTableBits;
|
/seL4-refos-master/libs/libsel4simple-default/src/ |
H A D | libsel4simple-default.c | 28 void *simple_default_get_frame_info(void *data, void *paddr, int size_bits, seL4_CPtr *frame_cap, seL4_Word *offset) argument 36 bi->untypedList[i].paddr + BIT(bi->untypedList[i].sizeBits) >= (seL4_Word)paddr + BIT(size_bits)) { 44 seL4_Error simple_default_get_frame_cap(void *data, void *paddr, int size_bits, cspacepath_t *path) argument 52 bi->untypedList[i].sizeBits >= size_bits) { 53 return seL4_Untyped_Retype(bi->untyped.start + i, kobject_get_type(KOBJECT_FRAME, size_bits), 54 size_bits, path->root, path->dest, path->destDepth, path->offset, 1); 60 void *simple_default_get_frame_mapping(void *data, void *paddr, int size_bits) argument 142 seL4_CPtr simple_default_nth_untyped(void *data, int n, size_t *size_bits, uintptr_t *paddr, bool *device) argument 152 if (size_bits != NULL) { 153 *size_bits [all...] |
/seL4-refos-master/projects/seL4_libs/libsel4simple-default/src/ |
H A D | libsel4simple-default.c | 28 void *simple_default_get_frame_info(void *data, void *paddr, int size_bits, seL4_CPtr *frame_cap, seL4_Word *offset) argument 36 bi->untypedList[i].paddr + BIT(bi->untypedList[i].sizeBits) >= (seL4_Word)paddr + BIT(size_bits)) { 44 seL4_Error simple_default_get_frame_cap(void *data, void *paddr, int size_bits, cspacepath_t *path) argument 52 bi->untypedList[i].sizeBits >= size_bits) { 53 return seL4_Untyped_Retype(bi->untyped.start + i, kobject_get_type(KOBJECT_FRAME, size_bits), 54 size_bits, path->root, path->dest, path->destDepth, path->offset, 1); 60 void *simple_default_get_frame_mapping(void *data, void *paddr, int size_bits) argument 142 seL4_CPtr simple_default_nth_untyped(void *data, int n, size_t *size_bits, uintptr_t *paddr, bool *device) argument 152 if (size_bits != NULL) { 153 *size_bits [all...] |
/seL4-refos-master/projects/seL4_libs/libsel4simple/include/simple/ |
H A D | simple.h | 40 typedef seL4_Error(*simple_get_frame_cap_fn)(void *data, void *paddr, int size_bits, cspacepath_t *path); 56 typedef void *(*simple_get_frame_mapping_fn)(void *data, void *paddr, int size_bits); 74 typedef void *(*simple_get_frame_info_fn)(void *data, void *paddr, int size_bits, seL4_CPtr *cap, seL4_Word *ut_offset); 144 typedef seL4_CPtr(*simple_get_nth_untyped_fn)(void *data, int n, size_t *size_bits, uintptr_t *paddr, bool *device); 249 static inline void *simple_get_frame_info(simple_t *simple, void *paddr, int size_bits, seL4_CPtr *frame_cap, argument 261 return simple->frame_info(simple->data, paddr, size_bits, frame_cap, ut_offset); 264 static inline seL4_Error simple_get_frame_cap(simple_t *simple, void *paddr, int size_bits, cspacepath_t *path) argument 274 return simple->frame_cap(simple->data, paddr, size_bits, path); 277 static inline void *simple_get_frame_vaddr(simple_t *simple, void *paddr, int size_bits) argument 284 return simple->frame_mapping(simple->data, paddr, size_bits); 448 simple_get_nth_untyped(simple_t *simple, int n, size_t *size_bits, uintptr_t *paddr, bool *device) argument [all...] |
/seL4-refos-master/libs/libsel4simple/include/simple/ |
H A D | simple.h | 40 typedef seL4_Error(*simple_get_frame_cap_fn)(void *data, void *paddr, int size_bits, cspacepath_t *path); 56 typedef void *(*simple_get_frame_mapping_fn)(void *data, void *paddr, int size_bits); 74 typedef void *(*simple_get_frame_info_fn)(void *data, void *paddr, int size_bits, seL4_CPtr *cap, seL4_Word *ut_offset); 144 typedef seL4_CPtr(*simple_get_nth_untyped_fn)(void *data, int n, size_t *size_bits, uintptr_t *paddr, bool *device); 249 static inline void *simple_get_frame_info(simple_t *simple, void *paddr, int size_bits, seL4_CPtr *frame_cap, argument 261 return simple->frame_info(simple->data, paddr, size_bits, frame_cap, ut_offset); 264 static inline seL4_Error simple_get_frame_cap(simple_t *simple, void *paddr, int size_bits, cspacepath_t *path) argument 274 return simple->frame_cap(simple->data, paddr, size_bits, path); 277 static inline void *simple_get_frame_vaddr(simple_t *simple, void *paddr, int size_bits) argument 284 return simple->frame_mapping(simple->data, paddr, size_bits); 448 simple_get_nth_untyped(simple_t *simple, int n, size_t *size_bits, uintptr_t *paddr, bool *device) argument [all...] |
/seL4-refos-master/kernel/src/arch/x86/machine/ |
H A D | hardware.c | 52 /* determine size_bits */ 69 void flushCacheRange(void *vaddr, uint32_t size_bits) argument 73 assert(size_bits < seL4_WordBits); 74 assert(IS_ALIGNED((word_t)vaddr, size_bits)); 79 v < (word_t)vaddr + BIT(size_bits);
|
/seL4-refos-master/libs/libsel4allocman/ |
H A D | example_bootstrap.c | 67 uint32_t size_bits = bi->untypedSizeBitsList[i - bi->untyped.start]; local 69 error = allocman_utspace_add_uts(allocman, 1, &slot, &size_bits, &paddr); 108 uint32_t size_bits = bi->untypedSizeBitsList[i - bi->untyped.start]; local 110 error = allocman_utspace_add_uts(allocman, 1, &slot, &size_bits); 164 uint32_t size_bits = bi->untypedSizeBitsList[i - bi->untyped.start]; local 166 error = bootstrap_add_untypeds(bootstrap, 1, &slot, &size_bits, &paddr); 232 uint32_t size_bits = bi->untypedSizeBitsList[i - bi->untyped.start]; local 234 error = bootstrap_add_untypeds(bootstrap, 1, &slot, &size_bits, &paddr);
|
/seL4-refos-master/projects/seL4_libs/libsel4allocman/ |
H A D | example_bootstrap.c | 67 uint32_t size_bits = bi->untypedSizeBitsList[i - bi->untyped.start]; local 69 error = allocman_utspace_add_uts(allocman, 1, &slot, &size_bits, &paddr); 108 uint32_t size_bits = bi->untypedSizeBitsList[i - bi->untyped.start]; local 110 error = allocman_utspace_add_uts(allocman, 1, &slot, &size_bits); 164 uint32_t size_bits = bi->untypedSizeBitsList[i - bi->untyped.start]; local 166 error = bootstrap_add_untypeds(bootstrap, 1, &slot, &size_bits, &paddr); 232 uint32_t size_bits = bi->untypedSizeBitsList[i - bi->untyped.start]; local 234 error = bootstrap_add_untypeds(bootstrap, 1, &slot, &size_bits, &paddr);
|