Lines Matching refs:uctx

31 static TEE_Result alloc_and_map_fobj(struct user_mode_ctx *uctx, size_t sz,  in alloc_and_map_fobj()  argument
43 res = vm_map(uctx, va, num_pgs * SMALL_PAGE_SIZE, prot, flags, mobj, 0); in alloc_and_map_fobj()
54 TEE_Result ldelf_load_ldelf(struct user_mode_ctx *uctx) in ldelf_load_ldelf() argument
63 uctx->is_32bit = is_32bit; in ldelf_load_ldelf()
65 res = alloc_and_map_fobj(uctx, BOUNCE_BUFFER_SIZE, TEE_MATTR_PRW, 0, in ldelf_load_ldelf()
69 uctx->bbuf = (void *)bb_addr; in ldelf_load_ldelf()
70 uctx->bbuf_size = BOUNCE_BUFFER_SIZE; in ldelf_load_ldelf()
72 res = alloc_and_map_fobj(uctx, LDELF_STACK_SIZE, in ldelf_load_ldelf()
77 uctx->ldelf_stack_ptr = stack_addr + LDELF_STACK_SIZE; in ldelf_load_ldelf()
79 res = alloc_and_map_fobj(uctx, ldelf_code_size, TEE_MATTR_PRW, in ldelf_load_ldelf()
83 uctx->entry_func = code_addr + ldelf_entry; in ldelf_load_ldelf()
86 res = alloc_and_map_fobj(uctx, ldelf_data_size, in ldelf_load_ldelf()
92 vm_set_ctx(uctx->ts_ctx); in ldelf_load_ldelf()
105 res = vm_set_prot(uctx, code_addr, in ldelf_load_ldelf()
116 struct user_mode_ctx *uctx) in ldelf_init_with_ldelf() argument
125 usr_stack = uctx->ldelf_stack_ptr; in ldelf_init_with_ldelf()
134 res = PUT_USER_SCALAR(uctx->ts_ctx->uuid, &arg->uuid); in ldelf_init_with_ldelf()
139 usr_stack, uctx->entry_func, in ldelf_init_with_ldelf()
143 thread_user_clear_vfp(uctx); in ldelf_init_with_ldelf()
160 if (is_user_ta_ctx(uctx->ts_ctx)) { in ldelf_init_with_ldelf()
168 to_user_ta_ctx(uctx->ts_ctx)->ta_ctx.flags = arg_bbuf->flags; in ldelf_init_with_ldelf()
171 uctx->is_32bit = arg_bbuf->is_32bit; in ldelf_init_with_ldelf()
172 uctx->entry_func = arg_bbuf->entry_func; in ldelf_init_with_ldelf()
173 uctx->load_addr = arg_bbuf->load_addr; in ldelf_init_with_ldelf()
174 uctx->stack_ptr = arg_bbuf->stack_ptr; in ldelf_init_with_ldelf()
175 uctx->dump_entry_func = arg_bbuf->dump_entry; in ldelf_init_with_ldelf()
177 uctx->ftrace_entry_func = arg_bbuf->ftrace_entry; in ldelf_init_with_ldelf()
180 uctx->dl_entry_func = arg_bbuf->dl_entry; in ldelf_init_with_ldelf()
187 TEE_Result ldelf_dump_state(struct user_mode_ctx *uctx) in ldelf_dump_state() argument
190 uaddr_t usr_stack = uctx->ldelf_stack_ptr; in ldelf_dump_state()
200 TAILQ_FOREACH(r, &uctx->vm_info.regions, link) in ldelf_dump_state()
207 usr_stack = uctx->ldelf_stack_ptr; in ldelf_dump_state()
217 TAILQ_FOREACH(r, &uctx->vm_info.regions, link) { in ldelf_dump_state()
240 arg->is_32bit = uctx->is_32bit; in ldelf_dump_state()
260 if (uctx->is_32bit) { in ldelf_dump_state()
297 usr_stack, uctx->dump_entry_func, in ldelf_dump_state()
301 thread_user_clear_vfp(uctx); in ldelf_dump_state()
305 uctx->dump_entry_func = 0; in ldelf_dump_state()
315 TEE_Result ldelf_dump_ftrace(struct user_mode_ctx *uctx, in ldelf_dump_ftrace() argument
318 uaddr_t usr_stack = uctx->ldelf_stack_ptr; in ldelf_dump_ftrace()
326 if (!uctx->ftrace_entry_func) in ldelf_dump_ftrace()
332 res = vm_check_access_rights(uctx, in ldelf_dump_ftrace()
361 usr_stack, uctx->ftrace_entry_func, in ldelf_dump_ftrace()
369 thread_user_clear_vfp(uctx); in ldelf_dump_ftrace()
373 uctx->ftrace_entry_func = 0; in ldelf_dump_ftrace()
389 TEE_Result ldelf_dlopen(struct user_mode_ctx *uctx, TEE_UUID *uuid, in ldelf_dlopen() argument
392 uaddr_t usr_stack = uctx->ldelf_stack_ptr; in ldelf_dlopen()
422 usr_stack, uctx->dl_entry_func, in ldelf_dlopen()
444 TEE_Result ldelf_dlsym(struct user_mode_ctx *uctx, TEE_UUID *uuid, in ldelf_dlsym() argument
447 uaddr_t usr_stack = uctx->ldelf_stack_ptr; in ldelf_dlsym()
474 usr_stack, uctx->dl_entry_func, in ldelf_dlsym()