Print this page
15254 %ymm registers not restored after signal handler
15367 x86 getfpregs() summons corrupting %xmm ghosts
15333 want x86 /proc xregs support (libc_db, libproc, mdb, etc.)
15336 want libc functions for extended ucontext_t
15334 want ps_lwphandle-specific reg routines
15328 FPU_CW_INIT mistreats reserved bit
15335 i86pc fpu_subr.c isn't really platform-specific
15332 setcontext(2) isn't actually noreturn
15331 need <sys/stdalign.h>
Change-Id: I7060aa86042dfb989f77fc3323c065ea2eafa9ad
Conflicts:
    usr/src/uts/common/fs/proc/prcontrol.c
    usr/src/uts/intel/os/archdep.c
    usr/src/uts/intel/sys/ucontext.h
    usr/src/uts/intel/syscall/getcontext.c

*** 60,80 **** int fpu_exists = 1; int fp_kind = FP_387; /* - * The kind of FPU we advertise to rtld so it knows what to do on context - * switch. - */ - int fp_elf = AT_386_FPINFO_FXSAVE; - - /* - * Mechanism to save FPU state. - */ - int fp_save_mech = FP_FXSAVE; - - /* * The variable fpu_ignored is provided to allow other code to * determine whether emulation is being done because there is * no FPU or because of an override requested via /etc/system. */ int fpu_ignored = 0; --- 60,69 ----
*** 225,250 **** nofpu: setcr0(CR0_DISABLE_FPU_FLAGS(getcr0())); DISABLE_SSE(); fp_kind = FP_NO; fpu_exists = 0; - } - - /* - * Fill in FPU information that is required by exec. - */ - void - fpu_auxv_info(int *typep, size_t *lenp) - { - *typep = fp_elf; - switch (fp_save_mech) { - case FP_FXSAVE: - *lenp = sizeof (struct fxsave_state); - break; - case FP_XSAVE: - *lenp = cpuid_get_xsave_size(); - break; - default: - *lenp = 0; - break; - } } --- 214,219 ----