annotate usr/src/cmd/mdb/common/mdb/mdb_gcore.h @ 14167:7ac6fb740bcf

3946 ::gcore (fix sparc build)
author Christopher Siden <chris.siden@delphix.com>
date Tue, 27 Aug 2013 10:51:34 -0800
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14167
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
1 /*
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
2 * This file and its contents are supplied under the terms of the
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
3 * Common Development and Distribution License ("CDDL"), version 1.0.
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
4 * You may only use this file in accordance with the terms of version
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
5 * 1.0 of the CDDL.
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
6 *
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
7 * A full copy of the text of the CDDL should have accompanied this
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
8 * source. A copy of the CDDL is also available via the Internet at
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
9 * http://www.illumos.org/license/CDDL.
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
10 */
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
11 /*
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
12 * Copyright (c) 2013 by Delphix. All rights reserved.
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
13 */
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
14
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
15 #ifndef _MDB_GCORE_H
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
16 #define _MDB_GCORE_H
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
17
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
18 /*
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
19 * The kernel has its own definition of exit which has a different signature
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
20 * than the user space definition. This seems to be the standard way to deal
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
21 * with this.
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
22 */
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
23 #define exit kern_exit
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
24
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
25 #include <sys/cpuvar.h>
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
26 #include <sys/cred_impl.h>
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
27 #include <sys/procfs.h>
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
28 #include <vm/anon.h>
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
29
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
30 #undef exit
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
31
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
32 /* mdb versions of kernel structures used for ctf read calls */
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
33 typedef struct mdb_proc {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
34 uintptr_t p_as;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
35 uintptr_t p_brkbase;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
36 size_t p_brksize;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
37 uintptr_t p_usrstack;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
38 size_t p_stksize;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
39 user_t p_user;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
40 uintptr_t p_agenttp;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
41 uintptr_t p_tlist;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
42 uintptr_t p_zone;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
43 uintptr_t p_ldt;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
44 kcondvar_t p_holdlwps;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
45 int p_lwpcnt;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
46 uintptr_t p_lwpdir;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
47 uint_t p_lwpdir_sz;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
48 uintptr_t p_cred;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
49 uint_t p_flag;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
50 int p_zombcnt;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
51 uintptr_t p_pidp;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
52 pid_t p_ppid;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
53 uintptr_t p_pgidp;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
54 uintptr_t p_sessp;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
55 uintptr_t p_task;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
56 uintptr_t p_pool;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
57 model_t p_model;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
58 char p_wcode;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
59 ushort_t p_ldtlimit;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
60 uintptr_t p_exec;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
61 uint_t p_proc_flag;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
62 ushort_t p_pidflag;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
63 k_sigset_t p_ignore;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
64 k_sigset_t p_siginfo;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
65 k_sigset_t p_sig;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
66 k_sigset_t p_sigmask;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
67 k_fltset_t p_fltmask;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
68 int p_wdata;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
69 } mdb_proc_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
70
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
71 typedef struct mdb_kthread {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
72 ushort_t t_proc_flag;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
73 uint_t t_state;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
74 lwpchan_t t_lwpchan;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
75 ushort_t t_whystop;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
76 uint8_t t_dtrace_stop;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
77 uintptr_t t_forw;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
78 uintptr_t t_lwp;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
79 id_t t_tid;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
80 short t_sysnum;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
81 pri_t t_pri;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
82 time_t t_start;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
83 id_t t_cid;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
84 uintptr_t t_cpu;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
85 int t_bind_pset;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
86 short t_bind_cpu;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
87 uintptr_t t_lpl;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
88 ushort_t t_schedflag;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
89 ushort_t t_whatstop;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
90 k_sigset_t t_sig;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
91 uintptr_t t_schedctl;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
92 k_sigset_t t_hold;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
93 hrtime_t t_stoptime;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
94 } mdb_kthread_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
95
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
96 typedef struct mdb_seg {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
97 uintptr_t s_base;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
98 size_t s_size;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
99 uintptr_t s_ops;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
100 uintptr_t s_data;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
101 uintptr_t s_as;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
102 } mdb_seg_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
103
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
104 typedef struct mdb_as {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
105 uintptr_t a_proc;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
106 } mdb_as_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
107
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
108 typedef struct mdb_segvn_data {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
109 uintptr_t vp;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
110 uint64_t offset;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
111 uint16_t flags;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
112 uint8_t pageprot;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
113 uint8_t prot;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
114 uintptr_t amp;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
115 struct vpage *vpage;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
116 uint64_t anon_index;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
117 uint8_t type;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
118 } mdb_segvn_data_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
119
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
120 typedef struct mdb_vnode {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
121 enum vtype v_type;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
122 uintptr_t v_data;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
123 uintptr_t v_op;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
124 uintptr_t v_path;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
125 } mdb_vnode_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
126
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
127 typedef struct mdb_znode {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
128 uint64_t z_size;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
129 } mdb_znode_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
130
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
131 typedef struct mdb_tmpnode {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
132 vattr_t tn_attr;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
133 } mdb_tmpnode_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
134
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
135 typedef struct mdb_vnodeops {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
136 uintptr_t vnop_name;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
137 } mdb_vnodeops_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
138
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
139 typedef struct mdb_shm_data {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
140 uintptr_t shm_sptseg;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
141 } mdb_shm_data_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
142
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
143 typedef struct mdb_watched_page {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
144 uintptr_t wp_vaddr;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
145 uint8_t wp_oprot;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
146 } mdb_watched_page_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
147
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
148 typedef struct mdb_pid {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
149 pid_t pid_id;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
150 } mdb_pid_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
151
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
152 typedef struct mdb_sess {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
153 uintptr_t s_sidp;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
154 } mdb_sess_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
155
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
156 typedef struct mdb_task {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
157 taskid_t tk_tkid;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
158 uintptr_t tk_proj;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
159 } mdb_task_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
160
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
161 typedef struct mdb_kproject {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
162 projid_t kpj_id;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
163 } mdb_kproject_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
164
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
165 typedef struct mdb_zone {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
166 zoneid_t zone_id;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
167 uintptr_t zone_name;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
168 } mdb_zone_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
169
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
170 typedef struct mdb_sc_shared {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
171 char sc_sigblock;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
172 } mdb_sc_shared_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
173
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
174 typedef struct mdb_klwp {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
175 uintptr_t lwp_regs;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
176 struct pcb lwp_pcb;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
177 uchar_t lwp_asleep;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
178 uchar_t lwp_cursig;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
179 uintptr_t lwp_curinfo;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
180 k_siginfo_t lwp_siginfo;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
181 stack_t lwp_sigaltstack;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
182 uintptr_t lwp_oldcontext;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
183 short lwp_badpriv;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
184 uintptr_t lwp_ustack;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
185 char lwp_eosys;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
186 } mdb_klwp_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
187
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
188 typedef struct mdb_cpu {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
189 processorid_t cpu_id;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
190 } mdb_cpu_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
191
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
192 typedef struct mdb_lpl {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
193 lgrp_id_t lpl_lgrpid;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
194 } mdb_lpl_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
195
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
196 typedef struct mdb_sigqueue {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
197 k_siginfo_t sq_info;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
198 } mdb_sigqueue_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
199
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
200 typedef struct mdb_pool {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
201 poolid_t pool_id;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
202 } mdb_pool_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
203
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
204 typedef struct mdb_amp {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
205 uintptr_t ahp;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
206 } mdb_amp_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
207
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
208 typedef struct mdb_anon_hdr {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
209 pgcnt_t size;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
210 uintptr_t array_chunk;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
211 int flags;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
212 } mdb_anon_hdr_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
213
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
214 typedef struct mdb_anon {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
215 uintptr_t an_vp;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
216 anoff_t an_off;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
217 } mdb_anon_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
218
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
219 /* Used to construct a linked list of prmap_ts */
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
220 typedef struct prmap_node {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
221 struct prmap_node *next;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
222 prmap_t m;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
223 } prmap_node_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
224
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
225 /* Fields common to psinfo_t and pstatus_t */
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
226 typedef struct pcommon {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
227 int pc_nlwp;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
228 int pc_nzomb;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
229 pid_t pc_pid;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
230 pid_t pc_ppid;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
231 pid_t pc_pgid;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
232 pid_t pc_sid;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
233 taskid_t pc_taskid;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
234 projid_t pc_projid;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
235 zoneid_t pc_zoneid;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
236 char pc_dmodel;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
237 } pcommon_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
238
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
239 /* AVL walk callback structures */
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
240 typedef struct read_maps_cbarg {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
241 mdb_proc_t *p;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
242 uintptr_t brkseg;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
243 uintptr_t stkseg;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
244 prmap_node_t *map_head;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
245 prmap_node_t *map_tail;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
246 int map_len;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
247 } read_maps_cbarg_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
248
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
249 typedef struct as_segat_cbarg {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
250 uintptr_t addr;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
251 uintptr_t res;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
252 } as_segat_cbarg_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
253
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
254 typedef struct getwatchprot_cbarg {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
255 uintptr_t wp_vaddr;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
256 mdb_watched_page_t wp;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
257 boolean_t found;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
258 } getwatchprot_cbarg_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
259
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
260 struct gcore_segops;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
261 typedef struct gcore_seg {
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
262 mdb_seg_t *gs_seg;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
263 void *gs_data;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
264 struct gcore_segops *gs_ops;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
265 } gcore_seg_t;
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
266
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
267 /*
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
268 * These are the ISA-dependent functions that need to be
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
269 * implemented for ::gcore.
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
270 */
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
271 extern uintptr_t gcore_prgetstackbase(mdb_proc_t *);
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
272 extern int gcore_prfetchinstr(mdb_klwp_t *, ulong_t *);
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
273 extern int gcore_prisstep(mdb_klwp_t *);
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
274 extern void gcore_getgregs(mdb_klwp_t *, gregset_t);
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
275 extern int gcore_prgetrvals(mdb_klwp_t *, long *, long *);
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
276
7ac6fb740bcf 3946 ::gcore (fix sparc build)
Christopher Siden <chris.siden@delphix.com>
parents:
diff changeset
277 #endif /* _MDB_GCORE_H */