summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/sys
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/sys')
-rw-r--r--usr/src/uts/common/sys/elf.h6
-rw-r--r--usr/src/uts/common/sys/klwp.h7
-rw-r--r--usr/src/uts/common/sys/proc.h6
-rw-r--r--usr/src/uts/common/sys/prsystm.h5
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;