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,21 +60,10 @@
 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;

@@ -225,26 +214,6 @@
 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;
-        }
 }