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

@@ -43,23 +43,28 @@
        process identified by ph.  ps_lgetregs() gets the general registers of
        the LWP identified by lid, and ps_lsetregs() sets them. ps_lgetfpregs()
        gets the LWP's floating point register set, while ps_lsetfpregs() sets
        it.
 
-   SPARC Only
-       ps_lgetxregsize(), ps_lgetxregs(), and ps_lsetxregs() are SPARC-
-       specific. They do not need to be defined by a controlling process on
-       non-SPARC architecture. ps_lgetxregsize() returns in *xregsize the size
-       of the architecture-dependent extra state registers. ps_lgetxregs()
-       gets the extra state registers, and ps_lsetxregs() sets them.
+       ps_lgetxregsize(), ps_lgetxregs(), and ps_lsetxregs() are used to get
+       and set the extended register set. Support for an extended register set
+       depends on the instruction-set archicture. On platforms without support
+       for these, controlling processes wlil still need to define them;
+       however, they are allowed to simply return errors.
 
+       ps_lgetxregsize() returns in *xregsize the size of the architecture-
+       dependent extra state registers. ps_lgetxregs() gets the extra state
+       registers, and ps_lsetxregs() sets them. When getting the registers,
+       the size of xregset must be at least the size returned by
+       ps_lgetxregsize().
+
 RETURN VALUES
        PS_OK
                        The call returned successfully.
 
 
-       PS_NOFPREGS
+       PS_NOFREGS
                        Floating point registers are neither available for this
                        architecture nor for this process.
 
 
        PS_NOXREGS

@@ -84,6 +89,6 @@
        +---------------+-----------------+
 
 SEE ALSO
        libc_db(3LIB), proc_service(3PROC), attributes(7), threads(7)
 
-                              September 12, 2020            PS_LGETREGS(3PROC)
+                               January 23, 2023             PS_LGETREGS(3PROC)