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

Split Close
Expand all
Collapse all
          --- old/usr/src/man/man3proc/proc_service.3proc
          +++ new/usr/src/man/man3proc/proc_service.3proc
   1    1  '\" te
   2    2  .\" Copyright (c) 2007 by Sun Microsystems, Inc. All Rights Reserved.
   3    3  .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
   4    4  .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
   5    5  .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
   6      -.TH PROC_SERVICE 3PROC "Oct 12, 2007"
        6 +.TH PROC_SERVICE 3PROC "Jan 23, 2023"
   7    7  .SH NAME
   8    8  proc_service \- process service interfaces
   9    9  .SH SYNOPSIS
  10      -.LP
  11   10  .nf
  12   11  #include <proc_service.h>
  13   12  
  14   13  \fBps_err_e\fR \fBps_pdmodel\fR(\fBstruct ps_prochandle *\fR\fIph\fR,
  15   14       \fBint *\fR\fIdata_model\fR);
  16   15  .fi
  17   16  
  18   17  .LP
  19   18  .nf
  20   19  \fBps_err_e\fR \fBps_pglobal_lookup\fR(\fBstruct ps_prochandle *\fR\fIph\fR,
↓ open down ↓ 103 lines elided ↑ open up ↑
 124  123  .nf
 125  124  \fBps_err_e\fR \fBps_lrolltoaddr\fR(\fBstruct ps_prochandle *\fR\fIph\fR,
 126  125       \fBlwpid_t\fR \fIlwpid\fR, \fBpsaddr_t\fR \fIgo_addr\fR, \fBpsaddr_t\fR \fIstop_addr\fR);
 127  126  .fi
 128  127  
 129  128  .LP
 130  129  .nf
 131  130  \fBvoid\fR \fBps_plog\fR(\fBconst char *\fR\fIfmt\fR);
 132  131  .fi
 133  132  
 134      -.SS "SPARC"
 135  133  .LP
 136  134  .nf
 137  135  \fBps_err_e\fR \fBps_lgetxregsize\fR(\fBstruct ps_prochandle *\fR\fIph\fR,
 138  136       \fBlwpid_t\fR \fIlwpid\fR, \fBint *\fR\fIxregsize\fR);
 139  137  .fi
 140  138  
 141  139  .LP
 142  140  .nf
 143  141  \fBps_err_e\fR \fBps_lgetxregs\fR(\fBstruct ps_prochandle *\fR\fIph\fR,
 144  142       \fBlwpid_t\fR \fIlwpid\fR, \fBcaddr_t\fR \fIxregset\fR);
 145  143  .fi
 146  144  
 147  145  .LP
 148  146  .nf
 149  147  \fBps_err_e\fR \fBps_lsetxregs\fR(\fBstruct ps_prochandle *\fR\fIph\fR,
 150  148       \fBlwpid_t\fR \fIlwpid\fR, \fBcaddr_t\fR \fIxregset\fR);
 151  149  .fi
 152  150  
 153  151  .SS "x86"
 154      -.LP
 155  152  .nf
 156  153  \fBps_err_e\fR \fBps_lgetLDT\fR(\fBstruct ps_prochandle *\fR\fIph\fR, \fBlwpid_t\fR \fIlwpid\fR,
 157  154       \fBstruct ssd *\fR\fIldt\fR);
 158  155  .fi
 159  156  
 160  157  .SH DESCRIPTION
 161      -.LP
 162  158  Every program that links \fBlibthread_db\fR or \fBlibrtld_db\fR must provide a
 163  159  set of process control primitives that allow \fBlibthread_db\fR and
 164  160  \fBlibrtld_db\fR to access memory and registers in the target process, to start
 165  161  and to stop the target process, and to look up symbols in the target process.
 166  162  See \fBlibc_db\fR(3LIB). For information on \fBlibrtld_db\fR, refer to the
 167  163  \fILinker and Libraries Guide\fR.
 168  164  .sp
 169  165  .LP
 170  166  Refer to the individual reference manual pages that describe these routines for
 171  167  a functional specification that clients of \fBlibthread_db\fR and
↓ open down ↓ 184 lines elided ↑ open up ↑
 356  352  
 357  353  .sp
 358  354  .ne 2
 359  355  .na
 360  356  \fB\fBps_plog()\fR\fR
 361  357  .ad
 362  358  .RS 23n
 363  359  Logs a message.
 364  360  .RE
 365  361  
 366      -.SS "SPARC"
 367  362  .ne 2
 368  363  .na
 369  364  \fB\fBps_lgetxregsize()\fR\fR
 370  365  .ad
 371  366  .RS 21n
 372  367  Returns the size of the architecture-dependent extra state registers.
 373  368  .RE
 374  369  
 375  370  .sp
 376  371  .ne 2
↓ open down ↓ 16 lines elided ↑ open up ↑
 393  388  .SS "x86"
 394  389  .ne 2
 395  390  .na
 396  391  \fB\fBps_lgetLDT()\fR\fR
 397  392  .ad
 398  393  .RS 16n
 399  394  Reads the local descriptor table of the \fBLWP\fR.
 400  395  .RE
 401  396  
 402  397  .SH ATTRIBUTES
 403      -.LP
 404  398  See \fBattributes\fR(7) for description of the following attributes:
 405  399  .sp
 406  400  
 407  401  .sp
 408  402  .TS
 409  403  box;
 410  404  c | c
 411  405  l | l .
 412  406  ATTRIBUTE TYPE  ATTRIBUTE VALUE
 413  407  _
 414  408  MT Level        Safe
 415  409  .TE
 416  410  
 417  411  .SH SEE ALSO
 418      -.LP
 419  412  .BR rtld_db (3EXT),
 420  413  .BR libc_db (3LIB),
 421  414  .BR librtld_db (3LIB),
 422  415  .BR ps_pread (3PROC),
 423  416  .BR attributes (7)
 424  417  .sp
 425  418  .LP
 426  419  \fILinker and Libraries Guide\fR
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX