diff options
Diffstat (limited to 'usr/src/uts/common/sys')
| -rw-r--r-- | usr/src/uts/common/sys/elf.h | 6 | ||||
| -rw-r--r-- | usr/src/uts/common/sys/klwp.h | 7 | ||||
| -rw-r--r-- | usr/src/uts/common/sys/proc.h | 6 | ||||
| -rw-r--r-- | usr/src/uts/common/sys/prsystm.h | 5 |
4 files changed, 21 insertions, 3 deletions
diff --git a/usr/src/uts/common/sys/elf.h b/usr/src/uts/common/sys/elf.h index bc25aee9c4..dd1eecc70d 100644 --- a/usr/src/uts/common/sys/elf.h +++ b/usr/src/uts/common/sys/elf.h @@ -20,6 +20,7 @@ */ /* * Copyright 2012 DEY Storage Systems, Inc. All rights reserved. + * Copyright (c) 2013, Joyent, Inc. All rights reserved. */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. @@ -366,6 +367,8 @@ typedef struct { #define PF_MASKPROC 0xf0000000 /* processor specific values */ #define PF_SUNW_FAILURE 0x00100000 /* mapping absent due to failure */ +#define PF_SUNW_KILLED 0x00200000 /* signal received during dump */ +#define PF_SUNW_SIGINFO 0x00400000 /* segment has killing sig's siginfo */ #define PN_XNUM 0xffff /* extended program header index */ @@ -816,7 +819,8 @@ typedef Elf64_Word Elf64_Capchain; #define NT_CONTENT 20 /* core_content_t <sys/corectl.h> */ #define NT_ZONENAME 21 /* string from getzonenamebyid(3C) */ #define NT_FDINFO 22 /* open fd info */ -#define NT_NUM 22 +#define NT_SPYMASTER 23 /* psinfo_t for agent LWP spymaster */ +#define NT_NUM 23 #ifdef _KERNEL diff --git a/usr/src/uts/common/sys/klwp.h b/usr/src/uts/common/sys/klwp.h index 93d1e9816f..41b70f6a6e 100644 --- a/usr/src/uts/common/sys/klwp.h +++ b/usr/src/uts/common/sys/klwp.h @@ -23,11 +23,13 @@ * Use is subject to license terms. */ +/* + * Copyright (c) 2013, Joyent, Inc. All rights reserved. + */ + #ifndef _SYS_KLWP_H #define _SYS_KLWP_H -#pragma ident "%Z%%M% %I% %E% SMI" - #include <sys/types.h> #include <sys/condvar.h> #include <sys/thread.h> @@ -190,6 +192,7 @@ typedef struct _klwp { struct contract *lwp_ct_latest[CTT_MAXTYPE]; /* last created contract */ void *lwp_brand; /* per-lwp brand data */ + struct psinfo *lwp_spymaster; /* if an agent LWP, our spymaster */ } klwp_t; /* lwp states */ diff --git a/usr/src/uts/common/sys/proc.h b/usr/src/uts/common/sys/proc.h index 762e7149b2..f1a2fc5485 100644 --- a/usr/src/uts/common/sys/proc.h +++ b/usr/src/uts/common/sys/proc.h @@ -574,6 +574,12 @@ typedef enum { LWP_STAT_MSGSND } lwp_stat_id_t; +typedef struct prkillinfo { + int32_t prk_error; /* errno */ + int32_t prk_pad; /* pad */ + siginfo_t prk_info; /* siginfo of killing signal */ +} prkillinfo_t; + #ifdef _KERNEL /* user profiling functions */ diff --git a/usr/src/uts/common/sys/prsystm.h b/usr/src/uts/common/sys/prsystm.h index c6f474743a..ebded76dce 100644 --- a/usr/src/uts/common/sys/prsystm.h +++ b/usr/src/uts/common/sys/prsystm.h @@ -27,6 +27,9 @@ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ +/* + * Copyright (c) 2013, Joyent, Inc. All rights reserved. + */ #ifndef _SYS_PRSYSTM_H #define _SYS_PRSYSTM_H @@ -129,6 +132,8 @@ extern void prgetstatus32(proc_t *, struct pstatus32 *, zone_t *); extern void prgetlwpstatus32(kthread_t *, struct lwpstatus32 *, zone_t *); extern void prgetpsinfo32(proc_t *, struct psinfo32 *); extern void prgetlwpsinfo32(kthread_t *, struct lwpsinfo32 *); +extern void lwpsinfo_kto32(const struct lwpsinfo *src, struct lwpsinfo32 *dest); +extern void psinfo_kto32(const struct psinfo *src, struct psinfo32 *dest); extern void prgetprfpregs32(klwp_t *, struct prfpregset32 *); #if defined(__sparc) struct gwindows32; |
