uc_xsave
ucp->uc_xsave = addr + sizeof (ucontext_t);
ucp->uc_xsave = addr + sizeof (ucontext_t);
ctx->uc_xsave = (long)(uintptr_t)addr;
ctx->uc_xsave = (uintptr_t)addr;
ctx->uc_xsave += pgsz - sizeof (uint64_t);
VERIFY3U(ctx->uc_xsave, !=, 0);
uc_xsave_t *xc = (uc_xsave_t *)ctx->uc_xsave;
uc_xsave_t *xc = (uc_xsave_t *)ctx->uc_xsave;
uc_xsave_t *xc = (uc_xsave_t *)ctx->uc_xsave;
uc_xsave_t *xc = (uc_xsave_t *)ctx->uc_xsave;
uc_xsave_t *xc = (uc_xsave_t *)ctx->uc_xsave;
ctx->uc_xsave = (long)(uintptr_t)xsave_buf;
xc = (uc_xsave_t *)ctx->uc_xsave;
ctx->uc_xsave = 0;
uctx->uc_xsave = (long)(uintptr_t)new_buf;
dst->uc_xsave = (long)(uint32_t)src->uc_xsave;
dst->uc_xsave = 0;
if (kuc->uc_xsave == 0) {
if (ddi_copyin((const void *)kuc->uc_xsave, &ucx, sizeof (ucx), 0) !=
(uintptr_t)kuc->uc_xsave) {
max_data = (uintptr_t)kuc->uc_xsave + ucx.ucx_len;
data = (uintptr_t)kuc->uc_xsave + sizeof (ucx);
kuc->uc_xsave = (uintptr_t)fpu;
tuc->uc_xsave = (unsigned long)(sp + sizeof (struct sigframe));
tuc->uc_xsave = (int32_t)(uintptr_t)fp;
int32_t uc_xsave;
long uc_xsave;
user_xsave = ucp->uc_xsave;
ucp->uc_xsave = user_xsave;
ret = fpu_signal_copyout(lwp, ucp->uc_xsave,
ret = fpu_signal_copyout(lwp, ucp->uc_xsave, copyout);
ASSERT3U((uintptr_t)ucp->uc_xsave, >=, _kernelbase);
fpu_set_xsave(lwp, (const void *)ucp->uc_xsave);
if (copyin(&ucp->uc_xsave, &uc.uc_xsave,
sizeof (uc.uc_xsave)) != 0) {
uc.uc_xsave = 0;
if (copyin(&ucp->uc_xsave, &uc.uc_xsave,
sizeof (uc.uc_xsave)) != 0) {
user_xsave = ucp->uc_xsave;
ucp->uc_xsave = user_xsave;
uaddr = (uintptr_t)(uint32_t)ucp->uc_xsave;
if (copyin(&ucp->uc_xsave, &uc.uc_xsave,
sizeof (uc.uc_xsave)) != 0) {
uc.uc_xsave = 0;
copyin(&ucp->uc_xsave, &uc.uc_xsave,
sizeof (uc.uc_xsave)) != 0) {