143051d27SRobert Mustacchi.\" 243051d27SRobert Mustacchi.\" This file and its contents are supplied under the terms of the 343051d27SRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0. 443051d27SRobert Mustacchi.\" You may only use this file in accordance with the terms of version 543051d27SRobert Mustacchi.\" 1.0 of the CDDL. 643051d27SRobert Mustacchi.\" 743051d27SRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this 843051d27SRobert Mustacchi.\" source. A copy of the CDDL is also available via the Internet at 943051d27SRobert Mustacchi.\" http://www.illumos.org/license/CDDL. 1043051d27SRobert Mustacchi.\" 1143051d27SRobert Mustacchi.\" 1243051d27SRobert Mustacchi.\" Copyright 2015 Joyent, Inc. 1343051d27SRobert Mustacchi.\" 14*80683875SPeter Tribble.Dd February 21, 2023 1543051d27SRobert Mustacchi.Dt PLWP_GETASRS 3PROC 1643051d27SRobert Mustacchi.Os 1743051d27SRobert Mustacchi.Sh NAME 1843051d27SRobert Mustacchi.Nm Plwp_getasrs , 1943051d27SRobert Mustacchi.Nm Plwp_setasrs 2043051d27SRobert Mustacchi.Nd get and set SPARCv9 ancillary state registers 21ab618543SJohn Levon.Sh LIBRARY 2243051d27SRobert Mustacchi.Lb libproc 23ab618543SJohn Levon.Sh SYNOPSIS 2443051d27SRobert Mustacchi.In libproc.h 2543051d27SRobert Mustacchi.Ft int 2643051d27SRobert Mustacchi.Fo Plwp_getasrs 2743051d27SRobert Mustacchi.Fa "struct ps_prochandle *P" 2843051d27SRobert Mustacchi.Fa "lwpid_t lwpid" 2943051d27SRobert Mustacchi.Fa "asrset_t asrs" 3043051d27SRobert Mustacchi.Fc 3143051d27SRobert Mustacchi.Ft int 3243051d27SRobert Mustacchi.Fo Plwp_setasrs 3343051d27SRobert Mustacchi.Fa "struct ps_prochandle *P" 3443051d27SRobert Mustacchi.Fa "lwpid_t lwpid" 3543051d27SRobert Mustacchi.Fa "const asrset_t asrs" 3643051d27SRobert Mustacchi.Fc 3743051d27SRobert Mustacchi.Sh DESCRIPTION 3843051d27SRobert MustacchiThe 3943051d27SRobert Mustacchi.Fn Plwp_getasrs 4043051d27SRobert Mustacchiand 4143051d27SRobert Mustacchi.Fn Plwp_setasrs 4243051d27SRobert Mustacchifunctions get and set the ancillary thread-specific register set of the 4343051d27SRobert Mustacchithread 4443051d27SRobert Mustacchi.Fa lwpid 4543051d27SRobert Mustacchiin the process handle 4643051d27SRobert Mustacchi.Fa P . 4743051d27SRobert Mustacchi.Pp 4843051d27SRobert MustacchiThe ancillary state registers are only present on 64-bit 4943051d27SRobert Mustacchi.Sy SPARCv9 5072d3dbb9SYuri Pankovprocesses. 5172d3dbb9SYuri PankovThey contain information that is specific to the platform and are not included 5272d3dbb9SYuri Pankovin the information obtained through functions such as 5343051d27SRobert Mustacchi.Xr Plwp_getregs 3PROC , 5443051d27SRobert Mustacchi.Xr Plwp_getfpregs 3PROC , 5543051d27SRobert Mustacchiand 5643051d27SRobert Mustacchi.Xr Plwp_getxregs 3PROC . 5743051d27SRobert Mustacchi.Pp 5872d3dbb9SYuri PankovThe 5972d3dbb9SYuri Pankov.Fn Plwp_getasrs 6043051d27SRobert Mustacchifunction reads the ancillary registers into 6143051d27SRobert Mustacchi.Fa asrs , 6243051d27SRobert Mustacchiwhile the 6343051d27SRobert Mustacchi.Fn Plwp_setasrs 6443051d27SRobert Mustacchisets the thread's ancillary registers to the values provided by 6543051d27SRobert Mustacchi.Fa asrs . 6643051d27SRobert Mustacchi.Pp 6743051d27SRobert MustacchiProcesses should be stopped prior to obtaining the register state of 6872d3dbb9SYuri Pankovindividual threads. 6972d3dbb9SYuri PankovProcesses may be stopped with 7043051d27SRobert Mustacchi.Xr Pstop 3PROC . 7143051d27SRobert Mustacchi.Pp 7243051d27SRobert MustacchiThe 7343051d27SRobert Mustacchi.Sy asrset_t 7443051d27SRobert Mustacchistructure is described in 75bbf21555SRichard Lowe.Xr proc 5 . 7643051d27SRobert Mustacchi.Pp 7743051d27SRobert MustacchiOne may not set the register values of a process that is not an active 7843051d27SRobert Mustacchiprocess, e.g. a process handle that refers to a file or a core file. 7943051d27SRobert Mustacchi.Sh RETURN VALUES 8043051d27SRobert MustacchiUpon successful completion, the 8143051d27SRobert Mustacchi.Fn Plwp_getasrs 8243051d27SRobert Mustacchiand 8343051d27SRobert Mustacchi.Fn Plwp_setasrs 8443051d27SRobert Mustacchifunctions return 8543051d27SRobert Mustacchi.Sy 0 8672d3dbb9SYuri Pankovand get or set the register state. 8772d3dbb9SYuri PankovOtherwise, 8843051d27SRobert Mustacchi.Sy -1 8943051d27SRobert Mustacchiis returned and 9043051d27SRobert Mustacchi.Sy errno 9143051d27SRobert Mustacchiis set to indicate the error. 9243051d27SRobert Mustacchi.Sh ERRORS 9343051d27SRobert MustacchiFor a full list of possible errors see the 9443051d27SRobert Mustacchi.Sy DIAGNOSTICS 9543051d27SRobert Mustacchisection in 96bbf21555SRichard Lowe.Xr proc 5 . 9743051d27SRobert Mustacchi.Pp 9843051d27SRobert MustacchiThe 9943051d27SRobert Mustacchi.Fn Plwp_getasrs 10043051d27SRobert Mustacchiand 10143051d27SRobert Mustacchi.Fn Plwp_setasrs 10243051d27SRobert Mustacchifunction will fail if: 10343051d27SRobert Mustacchi.Bl -tag -width Er 10443051d27SRobert Mustacchi.It Er ENODATA 10543051d27SRobert MustacchiThe process handle 10643051d27SRobert Mustacchi.Fa P 10743051d27SRobert Mustacchidoes not have any ancillary register state information. 10843051d27SRobert Mustacchi.It Er EBUSY 10943051d27SRobert MustacchiThe process handle 11043051d27SRobert Mustacchi.Fa P 11143051d27SRobert Mustacchirefers to a live process and it is not stopped. 11243051d27SRobert Mustacchi.It Er ENOENT 11343051d27SRobert MustacchiThe process handle 11443051d27SRobert Mustacchi.Fa P 11543051d27SRobert Mustacchirefers to a live process and there is no thread with id 11643051d27SRobert Mustacchi.Fa lwpid 11743051d27SRobert Mustacchior it is not a 64-bit SPARCv9 process. 11843051d27SRobert Mustacchi.It Er EINVAL 11943051d27SRobert MustacchiThe process handle 12043051d27SRobert Mustacchi.Fa P 12143051d27SRobert Mustacchirefers to a core file and there is no thread with id 12243051d27SRobert Mustacchi.Fa lwpid . 12343051d27SRobert Mustacchi.El 12443051d27SRobert Mustacchi.Sh ARCHITECTURE 12543051d27SRobert MustacchiThe 12643051d27SRobert Mustacchi.Fn Plwp_getasrs 12743051d27SRobert Mustacchiand 12843051d27SRobert Mustacchi.Fn Plwp_setasrs 12943051d27SRobert Mustacchifunctions are only available on 13043051d27SRobert Mustacchi64-bit 13143051d27SRobert Mustacchi.Sy SPARCv9 13243051d27SRobert Mustacchiplatforms. 13343051d27SRobert Mustacchi.Sh INTERFACE STABILITY 13443051d27SRobert Mustacchi.Sy Uncommitted 13543051d27SRobert Mustacchi.Sh MT-LEVEL 13643051d27SRobert MustacchiSee 13743051d27SRobert Mustacchi.Sy LOCKING 13843051d27SRobert Mustacchiin 13943051d27SRobert Mustacchi.Xr libproc 3LIB . 14043051d27SRobert Mustacchi.Sh SEE ALSO 14143051d27SRobert Mustacchi.Xr libproc 3LIB , 14243051d27SRobert Mustacchi.Xr Plwp_getfpregs 3PROC , 14343051d27SRobert Mustacchi.Xr Plwp_getregs 3PROC , 14443051d27SRobert Mustacchi.Xr Plwp_setregs 3PROC , 14543051d27SRobert Mustacchi.Xr Pstop 3PROC , 146bbf21555SRichard Lowe.Xr proc 5 147