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


  69 
  70 
  71        ps_err_e ps_lsetfpregs(struct ps_prochandle *ph, lwpid_t lwpid,
  72             const prfpregset_t *fpregset);
  73 
  74 
  75        ps_err_e ps_pauxv(struct ps_prochandle *ph,
  76             const auxv_t **auxp);
  77 
  78 
  79        ps_err_e ps_kill(struct ps_prochandle *ph, int sig);
  80 
  81 
  82        ps_err_e ps_lrolltoaddr(struct ps_prochandle *ph,
  83             lwpid_t lwpid, psaddr_t go_addr, psaddr_t stop_addr);
  84 
  85 
  86        void ps_plog(const char *fmt);
  87 
  88 
  89    SPARC
  90        ps_err_e ps_lgetxregsize(struct ps_prochandle *ph,
  91             lwpid_t lwpid, int *xregsize);
  92 
  93 
  94        ps_err_e ps_lgetxregs(struct ps_prochandle *ph,
  95             lwpid_t lwpid, caddr_t xregset);
  96 
  97 
  98        ps_err_e ps_lsetxregs(struct ps_prochandle *ph,
  99             lwpid_t lwpid, caddr_t xregset);
 100 
 101 
 102    x86
 103        ps_err_e ps_lgetLDT(struct ps_prochandle *ph, lwpid_t lwpid,
 104             struct ssd *ldt);
 105 
 106 
 107 DESCRIPTION
 108        Every program that links libthread_db or librtld_db must provide a set
 109        of process control primitives that allow libthread_db and librtld_db to


 194                               Sets the LWP`s floating point register set.
 195 
 196 
 197        ps_pauxv()
 198                               Returns a pointer to a read-only copy of the
 199                               auxiliary vector of the target process.
 200 
 201 
 202        ps_kill()
 203                               Sends signal to target process.
 204 
 205 
 206        ps_lrolltoaddr()
 207                               Rolls the LWP out of a critical section when the
 208                               process is stopped.
 209 
 210 
 211        ps_plog()
 212                               Logs a message.
 213 
 214 
 215    SPARC
 216        ps_lgetxregsize()
 217                             Returns the size of the architecture-dependent
 218                             extra state registers.
 219 
 220 
 221        ps_lgetxregs()
 222                             Gets the extra state registers of the LWP.
 223 
 224 
 225        ps_lsetxregs()
 226                             Sets the extra state registers of the LWP.
 227 
 228 
 229    x86
 230        ps_lgetLDT()
 231                        Reads the local descriptor table of the LWP.
 232 
 233 
 234 ATTRIBUTES
 235        See attributes(7) for description of the following attributes:
 236 
 237 
 238 
 239 
 240        +---------------+-----------------+
 241        |ATTRIBUTE TYPE | ATTRIBUTE VALUE |
 242        +---------------+-----------------+
 243        |MT Level       | Safe            |
 244        +---------------+-----------------+
 245 
 246 SEE ALSO
 247        rtld_db(3EXT), libc_db(3LIB), librtld_db(3LIB), ps_pread(3PROC),
 248        attributes(7)
 249 
 250 
 251        Linker and Libraries Guide
 252 
 253                                October 12, 2007            PROC_SERVICE(3PROC)


  69 
  70 
  71        ps_err_e ps_lsetfpregs(struct ps_prochandle *ph, lwpid_t lwpid,
  72             const prfpregset_t *fpregset);
  73 
  74 
  75        ps_err_e ps_pauxv(struct ps_prochandle *ph,
  76             const auxv_t **auxp);
  77 
  78 
  79        ps_err_e ps_kill(struct ps_prochandle *ph, int sig);
  80 
  81 
  82        ps_err_e ps_lrolltoaddr(struct ps_prochandle *ph,
  83             lwpid_t lwpid, psaddr_t go_addr, psaddr_t stop_addr);
  84 
  85 
  86        void ps_plog(const char *fmt);
  87 
  88 

  89        ps_err_e ps_lgetxregsize(struct ps_prochandle *ph,
  90             lwpid_t lwpid, int *xregsize);
  91 
  92 
  93        ps_err_e ps_lgetxregs(struct ps_prochandle *ph,
  94             lwpid_t lwpid, caddr_t xregset);
  95 
  96 
  97        ps_err_e ps_lsetxregs(struct ps_prochandle *ph,
  98             lwpid_t lwpid, caddr_t xregset);
  99 
 100 
 101    x86
 102        ps_err_e ps_lgetLDT(struct ps_prochandle *ph, lwpid_t lwpid,
 103             struct ssd *ldt);
 104 
 105 
 106 DESCRIPTION
 107        Every program that links libthread_db or librtld_db must provide a set
 108        of process control primitives that allow libthread_db and librtld_db to


 193                               Sets the LWP`s floating point register set.
 194 
 195 
 196        ps_pauxv()
 197                               Returns a pointer to a read-only copy of the
 198                               auxiliary vector of the target process.
 199 
 200 
 201        ps_kill()
 202                               Sends signal to target process.
 203 
 204 
 205        ps_lrolltoaddr()
 206                               Rolls the LWP out of a critical section when the
 207                               process is stopped.
 208 
 209 
 210        ps_plog()
 211                               Logs a message.
 212 


 213        ps_lgetxregsize()
 214                             Returns the size of the architecture-dependent
 215                             extra state registers.
 216 
 217 
 218        ps_lgetxregs()
 219                             Gets the extra state registers of the LWP.
 220 
 221 
 222        ps_lsetxregs()
 223                             Sets the extra state registers of the LWP.
 224 
 225 
 226    x86
 227        ps_lgetLDT()
 228                        Reads the local descriptor table of the LWP.
 229 
 230 
 231 ATTRIBUTES
 232        See attributes(7) for description of the following attributes:
 233 
 234 
 235 
 236 
 237        +---------------+-----------------+
 238        |ATTRIBUTE TYPE | ATTRIBUTE VALUE |
 239        +---------------+-----------------+
 240        |MT Level       | Safe            |
 241        +---------------+-----------------+
 242 
 243 SEE ALSO
 244        rtld_db(3EXT), libc_db(3LIB), librtld_db(3LIB), ps_pread(3PROC),
 245        attributes(7)
 246 
 247 
 248        Linker and Libraries Guide
 249 
 250                                January 23, 2023            PROC_SERVICE(3PROC)