Changeset View
Changeset View
Standalone View
Standalone View
sys/arm64/arm64/trap.c
Show First 20 Lines • Show All 126 Lines • ▼ Show 20 Lines | cpu_fetch_syscall_args(struct thread *td) | ||||
struct syscall_args *sa; | struct syscall_args *sa; | ||||
p = td->td_proc; | p = td->td_proc; | ||||
sa = &td->td_sa; | sa = &td->td_sa; | ||||
ap = td->td_frame->tf_x; | ap = td->td_frame->tf_x; | ||||
dst_ap = &sa->args[0]; | dst_ap = &sa->args[0]; | ||||
sa->code = td->td_frame->tf_x[8]; | sa->code = td->td_frame->tf_x[8]; | ||||
sa->original_code = sa->code; | |||||
if (__predict_false(sa->code == SYS_syscall || sa->code == SYS___syscall)) { | if (__predict_false(sa->code == SYS_syscall || sa->code == SYS___syscall)) { | ||||
sa->code = *ap++; | sa->code = *ap++; | ||||
} else { | } else { | ||||
*dst_ap++ = *ap++; | *dst_ap++ = *ap++; | ||||
} | } | ||||
if (__predict_false(sa->code >= p->p_sysent->sv_size)) | if (__predict_false(sa->code >= p->p_sysent->sv_size)) | ||||
▲ Show 20 Lines • Show All 472 Lines • Show Last 20 Lines |