Changeset View
Changeset View
Standalone View
Standalone View
sys/arm64/arm64/freebsd32_machdep.c
Show First 20 Lines • Show All 384 Lines • ▼ Show 20 Lines | #endif | ||||
/* the trampoline uses r5 as the uc address */ | /* the trampoline uses r5 as the uc address */ | ||||
tf->tf_x[5] = (register_t)&fp->sf_uc; | tf->tf_x[5] = (register_t)&fp->sf_uc; | ||||
tf->tf_elr = (register_t)catcher; | tf->tf_elr = (register_t)catcher; | ||||
tf->tf_x[13] = (register_t)fp; | tf->tf_x[13] = (register_t)fp; | ||||
sysent = p->p_sysent; | sysent = p->p_sysent; | ||||
if (sysent->sv_sigcode_base != 0) | if (sysent->sv_sigcode_base != 0) | ||||
tf->tf_x[14] = (register_t)sysent->sv_sigcode_base; | tf->tf_x[14] = (register_t)sysent->sv_sigcode_base; | ||||
else | else | ||||
tf->tf_x[14] = (register_t)(sysent->sv_psstrings - | tf->tf_x[14] = (register_t)(PROC_PS_STRINGS(p) - | ||||
*(sysent->sv_szsigcode)); | *(sysent->sv_szsigcode)); | ||||
/* Set the mode to enter in the signal handler */ | /* Set the mode to enter in the signal handler */ | ||||
if ((register_t)catcher & 1) | if ((register_t)catcher & 1) | ||||
tf->tf_spsr |= PSR_T; | tf->tf_spsr |= PSR_T; | ||||
else | else | ||||
tf->tf_spsr &= ~PSR_T; | tf->tf_spsr &= ~PSR_T; | ||||
CTR3(KTR_SIG, "sendsig: return td=%p pc=%#x sp=%#x", td, tf->tf_x[14], | CTR3(KTR_SIG, "sendsig: return td=%p pc=%#x sp=%#x", td, tf->tf_x[14], | ||||
Show All 19 Lines |