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 ----