Lines Matching refs:arg
119 struct ldelf_arg *arg = NULL;
126 usr_stack -= ROUNDUP(sizeof(*arg), STACK_ALIGNMENT);
127 arg = (struct ldelf_arg *)usr_stack;
130 res = clear_user(arg, sizeof(*arg));
134 res = PUT_USER_SCALAR(uctx->ts_ctx->uuid, &arg->uuid);
138 res = thread_enter_user_mode((vaddr_t)arg, 0, 0, 0,
156 res = BB_MEMDUP_USER(arg, sizeof(*arg), &arg_bbuf);
182 bb_free(arg_bbuf, sizeof(*arg));
191 struct dump_entry_arg *arg = NULL;
204 arg_size = ROUNDUP(sizeof(*arg) + n * sizeof(struct dump_map),
210 arg = bb_alloc(arg_size);
211 if (!arg)
213 memset(arg, 0, arg_size);
215 arg->num_maps = n;
221 &arg->maps[n].pa);
222 arg->maps[n].va = r->va;
223 arg->maps[n].sz = r->size;
225 arg->maps[n].flags |= DUMP_MAP_READ;
227 arg->maps[n].flags |= DUMP_MAP_WRITE;
229 arg->maps[n].flags |= DUMP_MAP_EXEC;
231 arg->maps[n].flags |= DUMP_MAP_SECURE;
233 arg->maps[n].flags |= DUMP_MAP_EPHEM;
235 arg->maps[n].flags |= DUMP_MAP_LDELF;
240 arg->is_32bit = uctx->is_32bit;
242 arg->arm32.regs[0] = tsd->abort_regs.r0;
243 arg->arm32.regs[1] = tsd->abort_regs.r1;
244 arg->arm32.regs[2] = tsd->abort_regs.r2;
245 arg->arm32.regs[3] = tsd->abort_regs.r3;
246 arg->arm32.regs[4] = tsd->abort_regs.r4;
247 arg->arm32.regs[5] = tsd->abort_regs.r5;
248 arg->arm32.regs[6] = tsd->abort_regs.r6;
249 arg->arm32.regs[7] = tsd->abort_regs.r7;
250 arg->arm32.regs[8] = tsd->abort_regs.r8;
251 arg->arm32.regs[9] = tsd->abort_regs.r9;
252 arg->arm32.regs[10] = tsd->abort_regs.r10;
253 arg->arm32.regs[11] = tsd->abort_regs.r11;
254 arg->arm32.regs[12] = tsd->abort_regs.ip;
255 arg->arm32.regs[13] = tsd->abort_regs.usr_sp; /*SP*/
256 arg->arm32.regs[14] = tsd->abort_regs.usr_lr; /*LR*/
257 arg->arm32.regs[15] = tsd->abort_regs.elr; /*PC*/
261 arg->arm32.regs[0] = tsd->abort_regs.x0;
262 arg->arm32.regs[1] = tsd->abort_regs.x1;
263 arg->arm32.regs[2] = tsd->abort_regs.x2;
264 arg->arm32.regs[3] = tsd->abort_regs.x3;
265 arg->arm32.regs[4] = tsd->abort_regs.x4;
266 arg->arm32.regs[5] = tsd->abort_regs.x5;
267 arg->arm32.regs[6] = tsd->abort_regs.x6;
268 arg->arm32.regs[7] = tsd->abort_regs.x7;
269 arg->arm32.regs[8] = tsd->abort_regs.x8;
270 arg->arm32.regs[9] = tsd->abort_regs.x9;
271 arg->arm32.regs[10] = tsd->abort_regs.x10;
272 arg->arm32.regs[11] = tsd->abort_regs.x11;
273 arg->arm32.regs[12] = tsd->abort_regs.x12;
274 arg->arm32.regs[13] = tsd->abort_regs.x13; /*SP*/
275 arg->arm32.regs[14] = tsd->abort_regs.x14; /*LR*/
276 arg->arm32.regs[15] = tsd->abort_regs.elr; /*PC*/
278 arg->arm64.fp = tsd->abort_regs.x29;
279 arg->arm64.pc = tsd->abort_regs.elr;
280 arg->arm64.sp = tsd->abort_regs.sp_el0;
284 arg->rv.fp = tsd->abort_regs.s0;
285 arg->rv.pc = tsd->abort_regs.epc;
286 arg->rv.sp = tsd->abort_regs.sp;
289 res = copy_to_user((void *)usr_stack, arg, arg_size);
322 size_t *arg = NULL;
329 usr_stack -= ROUNDUP(sizeof(*arg), STACK_ALIGNMENT);
330 arg = (size_t *)usr_stack;
335 (uaddr_t)arg, sizeof(*arg));
341 *arg = *blen;
360 res = thread_enter_user_mode((vaddr_t)buf, (vaddr_t)arg, 0, 0,
380 if (*arg > *blen)
382 *blen = *arg;
395 struct dl_entry_arg *arg = NULL;
402 arg = bb_alloc(sizeof(*arg));
403 if (!arg)
406 memset(arg, 0, sizeof(*arg));
407 arg->cmd = LDELF_DL_ENTRY_DLOPEN;
408 arg->dlopen.uuid = *uuid;
409 arg->dlopen.flags = flags;
411 usr_stack -= ROUNDUP(sizeof(*arg), STACK_ALIGNMENT);
414 res = copy_to_user(usr_arg, arg, sizeof(*arg));
450 struct dl_entry_arg *arg = NULL;
455 usr_stack -= ROUNDUP(sizeof(*arg) + symlen + 1, STACK_ALIGNMENT);
457 arg = bb_alloc(sizeof(*arg));
458 if (!arg)
460 memset(arg, 0, sizeof(*arg));
461 arg->cmd = LDELF_DL_ENTRY_DLSYM;
462 arg->dlsym.uuid = *uuid;
463 res = copy_to_user(usr_arg, arg, sizeof(*arg));