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

@@ -23,10 +23,11 @@
 # Copyright 2012 DEY Storage Systems, Inc.  All rights reserved.
 # Copyright 2018 Joyent, Inc.
 # Copyright (c) 2013 by Delphix. All rights reserved.
 # Copyright (c) 2019 Carlos Neira <cneirabustos@gmail.com>
 # Copyright 2020 OmniOS Community Edition (OmniOSce) Association.
+# Copyright 2023 Oxide Computer Company
 #
 
 #
 # MAPFILE HEADER START
 #

@@ -74,18 +75,24 @@
         Lclearsig;
         Lctlfd;
         Ldstop;
         Lfree;
         Lgetareg;
+        Lgetfpregs;
+        Lgetregs;
+        Lgetxregs;
         Lgrab;
         Lgrab_error;
         _libproc_debug  { ASSERT = { TYPE = OBJECT; SIZE = 4; }; };
         Lmain_stack;
         Lprochandle;
         Lpsinfo;
         Lputareg;
+        Lsetfpregs;
+        Lsetregs;
         Lsetrun;
+        Lsetxregs;
         Lstack;
         Lstate;
         Lstatus;
         Lstop;
         Lsync;

@@ -135,20 +142,23 @@
         Plmid_to_loadobj;
         Plmid_to_map;
         Plookup_by_addr;
         Plookup_by_name;
         Plwp_alt_stack;
+        Plwp_freexregs;
         Plwp_getfpregs;
         Plwp_getname;
         Plwp_getpsinfo;
         Plwp_getregs;
         Plwp_getspymaster;
+        Plwp_getxregs;
         Plwp_iter;
         Plwp_iter_all;
         Plwp_main_stack;
         Plwp_setfpregs;
         Plwp_setregs;
+        Plwp_setxregs;
         Plwp_stack;
         Pmapping_iter;
         Pmapping_iter_resolved;
         Pname_to_ctf;
         Pname_to_loadobj;

@@ -270,12 +280,15 @@
         Psetzoneid;
         Psignal;
         ps_lcontinue;
         ps_lgetfpregs;
         ps_lgetregs;
+        ps_lgetxregs;
+        ps_lgetxregsize;
         ps_lsetfpregs;
         ps_lsetregs;
+        ps_lsetxregs;
         ps_lstop;
         ps_pauxv;
         ps_pbrandname;
         ps_pcontinue;
         ps_pdmodel;

@@ -330,16 +343,10 @@
         ps_lgetLDT;
 $endif
 
 $if _sparc
         Plwp_getgwindows;
-        Plwp_getxregs;
-        Plwp_setxregs;
-        ps_lgetxregs;
-        ps_lgetxregsize;
-        ps_lsetxregs;
-
 $if _ELF64
         Plwp_getasrs;
         Plwp_setasrs;
 $endif
 $endif