Lines Matching defs:env

90 } env = {
114 return env.process_name;
119 return env.argv;
124 return env.argc;
129 return env.envp;
134 return env.auxv;
139 return env.bootinfo;
144 return env.tls.region_size;
154 return env.initial_thread_tls_base != (sel4runtime_uintptr_t)SEL4RUNTIME_NULL;
181 if (env.initial_thread_ipc_buffer != SEL4RUNTIME_NULL) {
182 __sel4_ipc_buffer = env.initial_thread_ipc_buffer;
185 env.initial_thread_tls_base = tls_base;
188 if (env.initial_thread_tcb && env.initial_thread_ipc_buffer && env.process_name) {
191 seL4_DebugNameThread(env.initial_thread_tcb, env.process_name);
195 return env.initial_thread_tls_base;
200 sel4runtime_exit_cb *old = env.exit_cb;
201 env.exit_cb = cb;
207 sel4runtime_pre_exit_cb *old = env.pre_exit_cb;
208 env.pre_exit_cb = cb;
214 if (env.pre_exit_cb != SEL4RUNTIME_NULL) {
215 code = env.pre_exit_cb(code);
224 env.exit_cb(code);
237 sel4runtime_size_t tls_size = env.tls.memory_size;
267 env.argc = argc;
268 env.argv = argv;
269 env.auxv = auxv;
270 env.envp = envp;
277 env.process_name = name;
281 env.process_name = name + 1;
293 env.program_header.size = auxv[i].a_un.a_val;
297 env.program_header.count = auxv[i].a_un.a_val;
301 env.program_header.headers = auxv[i].a_un.a_ptr;
309 env.bootinfo = bootinfo;
310 env.initial_thread_ipc_buffer = bootinfo->ipcBuffer;
311 env.initial_thread_tcb = seL4_CapInitThreadTCB;
315 env.initial_thread_ipc_buffer = auxv[i].a_un.a_ptr;
319 env.initial_thread_tcb = auxv[i].a_un.a_val;
330 for (sel4runtime_size_t h = 0; h < env.program_header.count; h++) {
331 Elf_Phdr *header = &env.program_header.headers[h];
344 env.tls.image = (void *) header->p_vaddr;
346 env.tls.align = header->p_align;
348 env.tls.align = MIN_ALIGN_BYTES;
350 env.tls.image_size = header->p_filesz;
351 env.tls.memory_size = ROUND_UP(header->p_memsz, header->p_align);
352 env.tls.region_size = tls_region_size(
353 env.tls.memory_size,
354 env.tls.align
360 if (env.tls.region_size <= sizeof(static_tls)) {
368 __sel4runtime_memcpy(tls, env.tls.image, env.tls.image_size);
369 unsigned char *tbss = &tls[env.tls.image_size];
370 __sel4runtime_memset(tbss, 0, env.tls.memory_size - env.tls.image_size);
382 tls_base += env.tls.memory_size;
384 return ROUND_UP(tls_base, env.tls.align);
391 tls_addr -= env.tls.memory_size;
427 env.tls.image = SEL4RUNTIME_NULL;
428 env.tls.align = MIN_ALIGN_BYTES;
429 env.tls.image_size = 0;
430 env.tls.memory_size = 0;
431 env.tls.region_size = tls_region_size(
432 env.tls.memory_size,
433 env.tls.align
445 return env.initial_thread_tls_base == (sel4runtime_uintptr_t)SEL4RUNTIME_NULL
446 || sel4runtime_get_tls_base() == env.initial_thread_tls_base;