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

@@ -1,11 +1,11 @@
 '\"
 .\" Copyright (C) 2008, Sun Microsystems, Inc. All Rights Reserved.
 .\" Copyright 2012 DEY Storage Systems, Inc.  All rights reserved.
 .\" Copyright (c) 2013, Joyent, Inc. All rights reserved.
 .\" Copyright 2020 OmniOS Community Edition (OmniOSce) Association.
-.\" Copyright 2021 Oxide Computer Company
+.\" Copyright 2023 Oxide Computer Company
 .\" Copyright 1989 AT&T
 .\"
 .\" 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.

@@ -19,11 +19,11 @@
 .\" 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]
 .\"
-.Dd August 3, 2021
+.Dd January 24, 2023
 .Dt CORE 5
 .Os
 .Sh NAME
 .Nm core
 .Nd process core file

@@ -191,11 +191,11 @@
 segment exists for binary compatibility with old programs that deal with core
 files.
 It contains structures defined in
 .In sys/old_procfs.h .
 New programs should recognize and skip this
-.Sy BNOTE
+.Sy NOTE
 segment, advancing instead to the new
 .Sy NOTE
 segment.
 The old
 .Sy NOTE

@@ -259,11 +259,11 @@
 .In sys/old_procfs.h .
 .It Vt prfpregset_t
 .Fa n_type :
 .Dv NT_PRFPREG .
 This entry is present only if the
-.Sy BLWP
+.Sy LWP
 used the floating-point hardware.
 It contains the floating-point registers.
 The
 .Vt prfpregset_t
 structure is defined in

@@ -279,17 +279,16 @@
 structure is defined in
 .In sys/regset.h .
 .It Vt prxregset_t
 .Fa n_type :
 .Dv NT_PRXREG .
-This entry is present only if the machine has extra register state associated
-with it.
-It contains the extra register state.
-The
+This entry is no longer included in core files, but is of historical note
+because in the past it was included on SPARC-based systems.
+While since then the
 .Vt prxregset_t
-structure is defined in
-.Vt sys/procfs_isa.h .
+and extended register sets have been defined on other architectures, they do not
+emit this in the old note section because there is no binary compatibility.
 .El
 .Pp
 The new
 .Sy NOTE
 segment contains the following entries.

@@ -519,11 +518,20 @@
 with it.
 It contains the extra register state.
 The
 .Vt prxregset_t
 structure is defined in
-.In sys/procfs_isa.h .
+.In sys/procfs_isa.h ;
+however applications should include
+.In procfs.h
+to get access to it.
+On most architectures the
+.Vt prxregset_t
+is opaque and is made up of multiple structures because it can vary in length.
+.Xr proc 5
+discusses the structure of the extended register set for each supported
+architecture.
 .It Vt asrset_t
 \fB\fBasrset_t\fR\fR
 .Fa n_type :
 .Dv NT_ASRS .
 This entry is present only on a SPARC V9 machine and only if the process is a