Searched refs:cspace (Results 1 - 25 of 52) sorted by relevance

123

/seL4-test-master/projects/seL4_libs/libsel4allocman/src/cspace/
H A Dsingle_level.c13 #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 Dsimple1level.c13 #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 Dtwo_level.c13 #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 Dsingle_level.h18 #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 Dsimple1level.h18 #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 Dtwo_level.h17 #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 Dvka.h17 #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 Dcspace.h26 void *cspace; member in struct:cspace_interface
/seL4-test-master/projects/seL4_libs/libsel4allocman/include/allocman/
H A Dcspaceops.h16 #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 Dallocman.h36 * 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 Dbootstrap.h23 * 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 Dboot.c43 /* 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 Dcapdl.c10 #include <kernel/cspace.h>
/seL4-test-master/projects/sel4_projects_libs/libsel4vmmplatsupport/src/arch/arm/
H A Dservice.c20 dst.root = vm->cspace.cspace_obj.cptr;
/seL4-test-master/projects/seL4_libs/libsel4allocman/include/allocman/utspace/
H A Dutspace.h18 #include <allocman/cspace/cspace.h>
/seL4-test-master/projects/seL4_libs/libsel4utils/include/sel4utils/
H A Dirq_server.h70 * @param[in] cspace The cspace of the current thread
77 simple_t *simple, seL4_CPtr cspace, seL4_CPtr delivery_ep,
H A Dthread.h72 * @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 Dmcs_api.h103 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 Dthread_config.h52 /* 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 Dbenchmark_track.h14 #include <kernel/cspace.h>
/seL4-test-master/projects/seL4_libs/libsel4allocman/src/
H A Dbootstrap.c17 #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 Dexample_bootstrap.c18 #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 Dirq_server.c58 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 Dguest_vm.h158 * 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 Dthread.c36 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

Completed in 201 milliseconds

123