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)