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

@@ -54,11 +54,12 @@
         PS_ERR,         /* generic error */
         PS_BADPID,      /* bad process handle */
         PS_BADLID,      /* bad lwp identifier */
         PS_BADADDR,     /* bad address */
         PS_NOSYM,       /* p_lookup() could not find given symbol */
-        PS_NOFREGS      /* FPU register set not available for given lwp */
+        PS_NOFREGS,     /* FPU register set not available for given lwp */
+        PS_NOXREGS      /* extended register set not available for given lwp */
 } ps_err_e;
 
 struct ps_prochandle;
 
 /*

@@ -116,15 +117,13 @@
 extern ps_err_e ps_lgetfpregs(struct ps_prochandle *,
                         lwpid_t, prfpregset_t *);
 extern ps_err_e ps_lsetfpregs(struct ps_prochandle *,
                         lwpid_t, const prfpregset_t *);
 
-#if defined(__sparc) || defined(__sparcv9)
 extern ps_err_e ps_lgetxregsize(struct ps_prochandle *, lwpid_t, int *);
 extern ps_err_e ps_lgetxregs(struct ps_prochandle *, lwpid_t, caddr_t);
 extern ps_err_e ps_lsetxregs(struct ps_prochandle *, lwpid_t, caddr_t);
-#endif
 
 #if defined(__i386) || defined(__amd64)
 extern ps_err_e ps_lgetLDT(struct ps_prochandle *, lwpid_t, struct ssd *);
 #endif