Changeset View
Changeset View
Standalone View
Standalone View
sys/arm64/cloudabi64/cloudabi64_sysvec.c
Show First 20 Lines • Show All 72 Lines • ▼ Show 20 Lines | cloudabi64_fetch_syscall_args(struct thread *td) | ||||
struct syscall_args *sa; | struct syscall_args *sa; | ||||
int i; | int i; | ||||
frame = td->td_frame; | frame = td->td_frame; | ||||
sa = &td->td_sa; | sa = &td->td_sa; | ||||
/* Obtain system call number. */ | /* Obtain system call number. */ | ||||
sa->code = frame->tf_x[8]; | sa->code = frame->tf_x[8]; | ||||
sa->original_code = sa->code; | |||||
if (sa->code >= CLOUDABI64_SYS_MAXSYSCALL) | if (sa->code >= CLOUDABI64_SYS_MAXSYSCALL) | ||||
return (ENOSYS); | return (ENOSYS); | ||||
sa->callp = &cloudabi64_sysent[sa->code]; | sa->callp = &cloudabi64_sysent[sa->code]; | ||||
/* Fetch system call arguments. */ | /* Fetch system call arguments. */ | ||||
for (i = 0; i < MAXARGS; i++) | for (i = 0; i < MAXARGS; i++) | ||||
sa->args[i] = frame->tf_x[i]; | sa->args[i] = frame->tf_x[i]; | ||||
▲ Show 20 Lines • Show All 99 Lines • Show Last 20 Lines |