/seL4-test-master/projects/seL4_libs/libsel4allocman/src/cspace/ |
H A D | single_level.c | 13 #include <allocman/cspace/single_level.h> 21 int cspace_single_level_create(struct allocman *alloc, cspace_single_level_t *cspace, struct cspace_single_level_config config) argument 26 cspace->config = config; 28 num_slots = cspace->config.end_slot - cspace->config.first_slot; 30 cspace->bitmap_length = num_entries; 34 cspace->bitmap = (size_t*)allocman_mspace_alloc(alloc, num_entries * sizeof(size_t), &error); 39 memset(cspace->bitmap, -1, num_entries * sizeof(size_t)); 45 cspace->bitmap[num_entries - 1] ^= BIT(i); 48 cspace 52 cspace_single_level_destroy(struct allocman *alloc, cspace_single_level_t *cspace) argument 61 cspace_single_level_t *cspace = (cspace_single_level_t*)_cspace; local 81 cspace_single_level_t *cspace = (cspace_single_level_t*)_cspace; local 98 cspace_single_level_t *cspace = (cspace_single_level_t*)_cspace; local [all...] |
H A D | simple1level.c | 13 #include <allocman/cspace/simple1level.h> 18 void cspace_simple1level_create(cspace_simple1level_t *cspace, struct cspace_simple1level_config config) argument 20 *cspace = (cspace_simple1level_t) { 27 cspace_simple1level_t *cspace = (cspace_simple1level_t*)_cspace; local 29 if (cspace->current_slot == cspace->config.end_slot) { 33 *slot = _cspace_simple1level_make_path(cspace, cspace->current_slot++);
|
H A D | two_level.c | 13 #include <allocman/cspace/two_level.h> 24 cspace_two_level_t *cspace = (cspace_two_level_t *)_cspace; local 25 l1slot = slot >> cspace->config.level_two_bits; 26 l2slot = slot & MASK(cspace->config.level_two_bits); 28 makes no assumptions about the underlying cspace structures. In particular the second level 29 could be a two level cspace and this would still work */ 30 if (!cspace->second_levels[l1slot]) { 36 l1_path = _cspace_single_level_make_path(&cspace->first_level, l1slot); 37 l2_path = _cspace_single_level_make_path(&cspace->second_levels[l1slot]->second_level, l2slot); 47 /* path->root = cspace 55 _create_second_level(allocman_t *alloc, cspace_two_level_t *cspace, size_t index, int alloc_node) argument 96 cspace_two_level_create(allocman_t *alloc, cspace_two_level_t *cspace, struct cspace_two_level_config config) argument 148 cspace_two_level_t *cspace = (cspace_two_level_t *)_cspace; local 176 cspace_two_level_t *cspace = (cspace_two_level_t *)_cspace; local 220 _destroy_second_level(allocman_t *alloc, cspace_two_level_t *cspace, size_t index) argument 241 cspace_two_level_t *cspace = (cspace_two_level_t *)_cspace; local 253 cspace_two_level_destroy(struct allocman *alloc, cspace_two_level_t *cspace) argument [all...] |
/seL4-test-master/projects/seL4_libs/libsel4allocman/include/allocman/cspace/ |
H A D | single_level.h | 18 #include <allocman/cspace/cspace.h> 25 /* Guard depth added to this cspace. */ 40 int cspace_single_level_create(struct allocman *alloc, cspace_single_level_t *cspace, struct cspace_single_level_config config); 43 void cspace_single_level_destroy(struct allocman *alloc, cspace_single_level_t *cspace); 51 cspace_single_level_t *cspace = (cspace_single_level_t*) _cspace; local 53 .root = cspace->config.cnode, 55 .capDepth = cspace->config.cnode_size_bits + cspace->config.cnode_guard_bits, 63 static inline cspace_interface_t cspace_single_level_make_interface(cspace_single_level_t *cspace) { argument [all...] |
H A D | simple1level.h | 18 #include <allocman/cspace/cspace.h> 20 /* This is a very simple cspace allocator that monotinically allocates cptrs 27 /* Guard depth added to this cspace. */ 42 cspace_simple1level_t *cspace = (cspace_simple1level_t*)_cspace; local 44 .root = cspace->config.cnode, 47 .capDepth = cspace->config.cnode_size_bits + cspace->config.cnode_guard_bits, 54 /* Construction of this cspace is simplified by the fact it has a completely 56 void cspace_simple1level_create(cspace_simple1level_t *cspace, struc 66 cspace_simple1level_make_interface(cspace_simple1level_t *cspace) argument [all...] |
H A D | two_level.h | 17 #include <allocman/cspace/cspace.h> 18 #include <allocman/cspace/single_level.h> 25 /* Guard depth added to this cspace. */ 35 * up to the user to have put the cspace together in a way that is compatible with 50 /* The cspace representing the second level */ 62 /* First level of cspace */ 70 int cspace_two_level_create(struct allocman *alloc, cspace_two_level_t *cspace, struct cspace_two_level_config config); 71 void cspace_two_level_destroy(struct allocman *alloc, cspace_two_level_t *cspace); 80 static inline cspace_interface_t cspace_two_level_make_interface(cspace_two_level_t *cspace) { argument [all...] |
H A D | vka.h | 17 #include <allocman/cspace/cspace.h> 43 * Make a cspace interface from a VKA. It is the responsibility of the caller to ensure 44 * that this pointer remains valid for as long as this cspace is used 46 * @param vka Allocator to proxy cspace calls to 56 .cspace = vka
|
H A D | cspace.h | 26 void *cspace; member in struct:cspace_interface
|
/seL4-test-master/projects/seL4_libs/libsel4allocman/include/allocman/ |
H A D | cspaceops.h | 16 #include <allocman/cspace/cspace.h> 20 * at the cspace level instead of the cap/slot level */ 32 return cspace_move_alloc(alloc, source_cspace.make_path(source_cspace.cspace, slot), result);
|
H A D | allocman.h | 36 * is a cspace manager (if you are managing a clients cspace). Although you 42 * desire might be to create a sub allocator (such as a cspace manager), 44 * and then destroy that cspace manager at some point to release all its resources. 58 #include <allocman/cspace/cspace.h> 113 struct cspace_interface cspace; member in struct:allocman 146 /* cspace watermark resources */ 208 * Converts a seL4_CPtr into a cspacepath_t using the cspace attached to the allocman. 209 * If the slot is not valid in that cspace the [all...] |
H A D | bootstrap.h | 23 * 1. Describe the current cspace 25 * 3. (maybe) create and switch to a new cspace 56 #include <allocman/cspace/simple1level.h> 57 #include <allocman/cspace/two_level.h> 94 * assumes you are the rootserver. This keeps using whatever cspace you are currently in. 106 * level cspace. All untypeds specified in bootinfo will be moved to the new cspace, 107 * any other capabilities will be left in the old cspace. If you wish to refer to the 108 * boot cspace (most likely since it probably has capabilities you still want), then 109 * a cspace descriptio [all...] |
/seL4-test-master/projects/sel4_projects_libs/libsel4vm/src/arch/arm/ |
H A D | boot.c | 43 /* Create a cspace */ 45 err = vka_alloc_cnode_object(vka, VM_CSPACE_SIZE_BITS, &vm->cspace.cspace_obj); 47 vka_cspace_make_path(vka, vm->cspace.cspace_obj.cptr, &src); 48 vm->cspace.cspace_root_data = api_make_guard_skip_word(seL4_WordBits - VM_CSPACE_SIZE_BITS); 49 dst.root = vm->cspace.cspace_obj.cptr; 52 err = vka_cnode_mint(&dst, &src, seL4_AllRights, vm->cspace.cspace_root_data); 82 /* Copy it to the cspace of the VM for fault IPC */ 84 dst.root = vm->cspace.cspace_obj.cptr; 94 vm->cspace.cspace_obj.cptr, vm->cspace [all...] |
/seL4-test-master/kernel/src/arch/x86/machine/ |
H A D | capdl.c | 10 #include <kernel/cspace.h>
|
/seL4-test-master/projects/sel4_projects_libs/libsel4vmmplatsupport/src/arch/arm/ |
H A D | service.c | 20 dst.root = vm->cspace.cspace_obj.cptr;
|
/seL4-test-master/projects/seL4_libs/libsel4allocman/include/allocman/utspace/ |
H A D | utspace.h | 18 #include <allocman/cspace/cspace.h>
|
/seL4-test-master/projects/seL4_libs/libsel4utils/include/sel4utils/ |
H A D | irq_server.h | 70 * @param[in] cspace The cspace of the current thread 77 simple_t *simple, seL4_CPtr cspace, seL4_CPtr delivery_ep,
|
H A D | thread.h | 72 * @param cspace the root of the cspace to start the thread in 73 * @param cspace_root_data data for cspace access 80 seL4_CNode cspace, seL4_Word cspace_root_data, 196 * @param cspace the cspace that the fault_endpoint is in 197 * @param data the cspace_data for that cspace (with correct guard) 204 seL4_CPtr cspace, seL4_Word data, char *name, sel4utils_thread_t *res);
|
H A D | mcs_api.h | 103 UNUSED seL4_CPtr sc, seL4_CPtr cspace, 108 seL4_Error error = seL4_TCB_SetSpace(tcb, ep, cspace, cdata, vspace, vdata); 120 return seL4_TCB_Configure(tcb, ep, cspace, cdata, vspace, vdata, 137 seL4_CPtr cspace, 140 return seL4_TCB_SetSpace(tcb, ep, cspace, cdata, vspace, vdata); 102 api_tcb_configure(seL4_CPtr tcb, seL4_CPtr ep, UNUSED seL4_CPtr timeout_ep, UNUSED seL4_CPtr sc, seL4_CPtr cspace, seL4_Word cdata, seL4_CPtr vspace, seL4_Word vdata, seL4_Word ipc_buffer_addr, seL4_CPtr ipc_buffer_cap) argument 136 api_tcb_set_space(seL4_CPtr tcb, seL4_CPtr ep, seL4_CPtr cspace, seL4_Word cdata, seL4_CPtr vspace, seL4_Word vdata) argument
|
H A D | thread_config.h | 52 /* root of the cspace to start the thread in */ 53 seL4_CNode cspace; member in struct:sel4utils_thread_config 54 /* data for cspace access */ 125 config.cspace = cspace_root;
|
/seL4-test-master/kernel/include/benchmark/ |
H A D | benchmark_track.h | 14 #include <kernel/cspace.h>
|
/seL4-test-master/projects/seL4_libs/libsel4allocman/src/ |
H A D | bootstrap.c | 17 #include <allocman/cspace/simple1level.h> 18 #include <allocman/cspace/two_level.h> 51 * if a temp bootstrapping cspace is needed. it may not actually be used if a more 52 * complicated cspace is passed in directly by the user */ 57 /* a path to the page directory cap, we need this to be able to change the cspace root */ 111 int bootstrap_set_boot_cspace(bootstrap_info_t *bs, cspace_interface_t cspace, cspacepath_t root_cnode) { argument 112 bs->boot_cspace = cspace; 119 /* create a cspace to represent the bootinfo cspace. */ 214 /* if we do not have a boot cspace, o 399 bootstrap_use_current_cspace(bootstrap_info_t *bs, cspace_interface_t cspace) argument 411 cspace_single_level_t *cspace; local 438 cspace_single_level_t *cspace; local 543 cspace_two_level_t *cspace; local [all...] |
/seL4-test-master/projects/seL4_libs/libsel4allocman/ |
H A D | example_bootstrap.c | 18 #include <allocman/cspace/simple1level.h> 21 #include <allocman/cspace/two_level.h> 80 cspace_single_level_t *cspace; local 85 /* construct a description of our current cspace */ 86 cspace = allocman_mspace_alloc(allocman, sizeof(*cspace), &error); 88 error = cspace_single_level_create(allocman, cspace, (struct cspace_single_level_config) { 97 error = allocman_attach_cspace(allocman, cspace_single_level_make_interface(cspace)); 126 /* test we can easily use our old cspace */ 132 /* no longer need that boot cspace informatio [all...] |
/seL4-test-master/projects/seL4_libs/libsel4utils/src/irq_server/ |
H A D | irq_server.c | 58 seL4_CPtr cspace; member in struct:irq_server 227 sel4utils_thread_config_t config = thread_config_default(irq_server->simple, irq_server->cspace, 328 simple_t *simple, seL4_CPtr cspace, seL4_CPtr delivery_ep, seL4_Word label, 369 new->cspace = cspace; 327 irq_server_new(vspace_t *vspace, vka_t *vka, seL4_Word priority, simple_t *simple, seL4_CPtr cspace, seL4_CPtr delivery_ep, seL4_Word label, size_t num_irqs, ps_malloc_ops_t *malloc_ops) argument
|
/seL4-test-master/projects/sel4_projects_libs/libsel4vm/include/sel4vm/ |
H A D | guest_vm.h | 158 * VM cspace management structure 159 * @param {vka_object_t} cspace_obj VKA allocated cspace object 160 * @param {seL4_Word} cspace_root_data cspace root data capability 175 * @param {struct vm_cspace} cspace VM CSpace management structure 194 /* Guest vm cspace */ 195 struct vm_cspace cspace; member in struct:vm
|
/seL4-test-master/projects/seL4_libs/libsel4utils/src/ |
H A D | thread.c | 36 seL4_CNode cspace, seL4_Word cspace_root_data, sel4utils_thread_t *res) 41 config = thread_config_cspace(config, cspace, cspace_root_data); 111 config.cspace, 305 seL4_CPtr cspace, seL4_Word cap_data, char *name, 308 int error = sel4utils_configure_thread(vka, vspace, vspace, 0, cspace, 35 sel4utils_configure_thread(vka_t *vka, vspace_t *parent, vspace_t *alloc, seL4_CPtr fault_endpoint, seL4_CNode cspace, seL4_Word cspace_root_data, sel4utils_thread_t *res) argument 304 sel4utils_start_fault_handler(seL4_CPtr fault_endpoint, vka_t *vka, vspace_t *vspace, seL4_CPtr cspace, seL4_Word cap_data, char *name, sel4utils_thread_t *res) argument
|