Mercurial > illumos > illumos-gate
annotate usr/src/uts/common/sys/dumphdr.h @ 12979:ab9ae749152f
PSARC/2009/617 Software Events Notification Parameters CLI
PSARC/2009/618 snmp-notify: SNMP Notification Daemon for Software Events
PSARC/2009/619 smtp-notify: Email Notification Daemon for Software Events
PSARC/2010/225 fmd for non-global Solaris zones
PSARC/2010/226 Solaris Instance UUID
PSARC/2010/227 nvlist_nvflag(3NVPAIR)
PSARC/2010/228 libfmevent additions
PSARC/2010/257 sysevent_evc_setpropnvl and sysevent_evc_getpropnvl
PSARC/2010/265 FMRI and FMA Event Stabilty, 'ireport' category 1 event class, and the 'sw' FMRI scheme
PSARC/2010/278 FMA/SMF integration: instance state transitions
PSARC/2010/279 Modelling panics within FMA
PSARC/2010/290 logadm.conf upgrade
6392476 fmdump needs to pretty-print
6393375 userland ereport/ireport event generation interfaces
6445732 Add email notification agent for FMA and software events
6804168 RFE: Allow an efficient means to monitor SMF services status changes
6866661 scf_values_destroy(3SCF) will segfault if is passed NULL
6884709 Add snmp notification agent for FMA and software events
6884712 Add private interface to tap into libfmd_msg macro expansion capabilities
6897919 fmd to run in a non-global zone
6897937 fmd use of non-private doors is not safe
6900081 add a UUID to Solaris kernel image for use in crashdump identification
6914884 model panic events as a defect diagnosis in FMA
6944862 fmd_case_open_uuid, fmd_case_uuisresolved, fmd_nvl_create_defect
6944866 log legacy sysevents in fmd
6944867 enumerate svc scheme in topo
6944868 software-diagnosis and software-response fmd modules
6944870 model SMF maintenance state as a defect diagnosis in FMA
6944876 savecore runs in foreground for systems with zfs root and dedicated dump
6965796 Implement notification parameters for SMF state transitions and FMA events
6968287 SUN-FM-MIB.mib needs to be updated to reflect Oracle information
6972331 logadm.conf upgrade PSARC/2010/290
author | Gavin Maltby <gavin.maltby@oracle.com> |
---|---|
date | Fri, 30 Jul 2010 17:04:17 +1000 |
parents | 2acab560865a |
children | dd10606460cc |
rev | line source |
---|---|
0 | 1 /* |
2 * CDDL HEADER START | |
3 * | |
4 * The contents of this file are subject to the terms of the | |
3446 | 5 * Common Development and Distribution License (the "License"). |
6 * You may not use this file except in compliance with the License. | |
0 | 7 * |
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE | |
9 * or http://www.opensolaris.org/os/licensing. | |
10 * See the License for the specific language governing permissions | |
11 * and limitations under the License. | |
12 * | |
13 * When distributing Covered Code, include this CDDL HEADER in each | |
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. | |
15 * If applicable, add the following below this CDDL HEADER, with the | |
16 * fields enclosed by brackets "[]" replaced with your own identifying | |
17 * information: Portions Copyright [yyyy] [name of copyright owner] | |
18 * | |
19 * CDDL HEADER END | |
20 */ | |
21 /* | |
12640
b4f09d1fd79d
6923763 break followed by sync results in panic dump timeout 'dump aborted'
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
10843
diff
changeset
|
22 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. |
0 | 23 */ |
24 | |
25 #ifndef _SYS_DUMPHDR_H | |
26 #define _SYS_DUMPHDR_H | |
27 | |
28 #include <sys/types.h> | |
29 #include <sys/param.h> | |
30 #include <sys/utsname.h> | |
31 #include <sys/log.h> | |
32 | |
33 #ifdef __cplusplus | |
34 extern "C" { | |
35 #endif | |
36 | |
37 /* | |
38 * The dump header describes the contents of a crash dump. Two headers | |
39 * are written out: one at the beginning of the dump, and the other at | |
40 * the very end of the dump device. The terminal header is at a known | |
41 * location (end of device) so we can always find it. The initial header | |
42 * is redundant, but helps savecore(1M) determine whether the dump has been | |
43 * overwritten by swap activity. See dumpadm(1M) for dump configuration. | |
44 */ | |
45 #define DUMP_MAGIC 0xdefec8edU /* dump magic number */ | |
12979
ab9ae749152f
PSARC/2009/617 Software Events Notification Parameters CLI
Gavin Maltby <gavin.maltby@oracle.com>
parents:
12943
diff
changeset
|
46 #define DUMP_VERSION 10 /* version of this dumphdr */ |
0 | 47 #define DUMP_WORDSIZE (sizeof (long) * NBBY) /* word size (32 or 64) */ |
48 #define DUMP_PANICSIZE 200 /* Max panic string copied */ | |
49 #define DUMP_COMPRESS_RATIO 2 /* conservative; usually 2.5+ */ | |
50 #define DUMP_OFFSET 65536 /* pad at start/end of dev */ | |
51 #define DUMP_LOGSIZE (2 * LOG_HIWAT) /* /dev/log message save area */ | |
52 #define DUMP_ERPTSIZE (P2ROUNDUP( \ | |
53 (ERPT_DATA_SZ / 2) * \ | |
54 (ERPT_EVCH_MAX + \ | |
55 ERPT_MAX_ERRS * ERPT_HIWAT), \ | |
56 DUMP_OFFSET)) /* ereport save area */ | |
12979
ab9ae749152f
PSARC/2009/617 Software Events Notification Parameters CLI
Gavin Maltby <gavin.maltby@oracle.com>
parents:
12943
diff
changeset
|
57 #define DUMP_SUMMARYSIZE (P2ROUNDUP( \ |
ab9ae749152f
PSARC/2009/617 Software Events Notification Parameters CLI
Gavin Maltby <gavin.maltby@oracle.com>
parents:
12943
diff
changeset
|
58 (STACK_BUF_SIZE + \ |
ab9ae749152f
PSARC/2009/617 Software Events Notification Parameters CLI
Gavin Maltby <gavin.maltby@oracle.com>
parents:
12943
diff
changeset
|
59 sizeof (summary_dump_t) + 1024), \ |
ab9ae749152f
PSARC/2009/617 Software Events Notification Parameters CLI
Gavin Maltby <gavin.maltby@oracle.com>
parents:
12943
diff
changeset
|
60 DUMP_OFFSET)) /* summary save area */ |
0 | 61 |
62 typedef struct dumphdr { | |
63 uint32_t dump_magic; /* magic number */ | |
64 uint32_t dump_version; /* version number */ | |
65 uint32_t dump_flags; /* flags; see below */ | |
66 uint32_t dump_wordsize; /* 32 or 64 */ | |
67 offset_t dump_start; /* starting offset on dump device */ | |
68 offset_t dump_ksyms; /* offset of compressed symbol table */ | |
69 offset_t dump_pfn; /* offset of pfn table for all pages */ | |
70 offset_t dump_map; /* offset of page translation map */ | |
71 offset_t dump_data; /* offset of actual dump data */ | |
72 struct utsname dump_utsname; /* copy of utsname structure */ | |
73 char dump_platform[SYS_NMLN]; /* platform name (uname -i) */ | |
74 char dump_panicstring[DUMP_PANICSIZE]; /* copy of panicstr */ | |
75 time_t dump_crashtime; /* time of crash */ | |
76 long dump_pageshift; /* log2(pagesize) */ | |
77 long dump_pagesize; /* pagesize */ | |
78 long dump_hashmask; /* page translation hash mask */ | |
79 long dump_nvtop; /* number of vtop table entries */ | |
80 pgcnt_t dump_npages; /* number of data pages */ | |
81 size_t dump_ksyms_size; /* kernel symbol table size */ | |
82 size_t dump_ksyms_csize; /* compressed symbol table size */ | |
12979
ab9ae749152f
PSARC/2009/617 Software Events Notification Parameters CLI
Gavin Maltby <gavin.maltby@oracle.com>
parents:
12943
diff
changeset
|
83 uint32_t dump_fm_panic; /* initiated from fm subsystems */ |
ab9ae749152f
PSARC/2009/617 Software Events Notification Parameters CLI
Gavin Maltby <gavin.maltby@oracle.com>
parents:
12943
diff
changeset
|
84 char dump_uuid[36 + 1]; /* os image uuid */ |
0 | 85 } dumphdr_t; |
86 | |
87 /* | |
88 * Values for dump_flags | |
89 */ | |
90 #define DF_VALID 0x00000001 /* Dump is valid (savecore clears) */ | |
91 #define DF_COMPLETE 0x00000002 /* All pages present as configured */ | |
92 #define DF_LIVE 0x00000004 /* Dump was taken on a live system */ | |
10843
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
93 #define DF_COMPRESSED 0x00000008 /* Dump is compressed */ |
0 | 94 #define DF_KERNEL 0x00010000 /* Contains kernel pages only */ |
95 #define DF_ALL 0x00020000 /* Contains all pages */ | |
96 #define DF_CURPROC 0x00040000 /* Contains kernel + cur proc pages */ | |
97 #define DF_CONTENT 0xffff0000 /* The set of all dump content flags */ | |
98 | |
99 /* | |
100 * Dump translation map hash table entry. | |
101 */ | |
102 typedef struct dump_map { | |
103 offset_t dm_first; | |
104 offset_t dm_next; | |
105 offset_t dm_data; | |
106 struct as *dm_as; | |
107 uintptr_t dm_va; | |
108 } dump_map_t; | |
109 | |
110 /* | |
111 * Dump translation map hash function. | |
112 */ | |
113 #define DUMP_HASH(dhp, as, va) \ | |
114 ((((uintptr_t)(as) >> 3) + ((va) >> (dhp)->dump_pageshift)) & \ | |
115 (dhp)->dump_hashmask) | |
116 | |
10843
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
117 /* |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
118 * Encoding of the csize word used to provide meta information |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
119 * between dumpsys and savecore. |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
120 * |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
121 * tag size |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
122 * 1-4095 1..dump_maxcsize stream block |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
123 * 0 1..pagesize one lzjb page |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
124 * 0 0 marks end of data |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
125 */ |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
126 typedef uint32_t dumpcsize_t; |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
127 |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
128 #define DUMP_MAX_TAG (0xfffU) |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
129 #define DUMP_MAX_CSIZE (0xfffffU) |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
130 #define DUMP_SET_TAG(w, v) (((w) & DUMP_MAX_CSIZE) | ((v) << 20)) |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
131 #define DUMP_GET_TAG(w) (((w) >> 20) & DUMP_MAX_TAG) |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
132 #define DUMP_SET_CSIZE(w, v) \ |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
133 (((w) & (DUMP_MAX_TAG << 20)) | ((v) & DUMP_MAX_CSIZE)) |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
134 #define DUMP_GET_CSIZE(w) ((w) & DUMP_MAX_CSIZE) |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
135 |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
136 typedef struct dumpstreamhdr { |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
137 char stream_magic[8]; /* "StrmHdr" */ |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
138 pgcnt_t stream_pagenum; /* starting pfn */ |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
139 pgcnt_t stream_npages; /* uncompressed size */ |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
140 } dumpstreamhdr_t; |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
141 |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
142 #define DUMP_STREAM_MAGIC "StrmHdr" |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
143 |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
144 /* The number of helpers is limited by the number of stream tags. */ |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
145 #define DUMP_MAX_NHELPER DUMP_MAX_TAG |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
146 |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
147 /* |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
148 * The dump data header is placed after the dumphdr in the compressed |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
149 * image. It is not needed after savecore runs and the data pages have |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
150 * been decompressed. |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
151 */ |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
152 typedef struct dumpdatahdr { |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
153 uint32_t dump_datahdr_magic; /* data header presence */ |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
154 uint32_t dump_datahdr_version; /* data header version */ |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
155 uint64_t dump_data_csize; /* compressed data size */ |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
156 uint32_t dump_maxcsize; /* compressed data max block size */ |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
157 uint32_t dump_maxrange; /* max number of pages per range */ |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
158 uint16_t dump_nstreams; /* number of compression streams */ |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
159 uint16_t dump_clevel; /* compression level (0-9) */ |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
160 uint32_t dump_metrics; /* size of metrics data */ |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
161 } dumpdatahdr_t; |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
162 |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
163 #define DUMP_DATAHDR_MAGIC ('d' << 24 | 'h' << 16 | 'd' << 8 | 'r') |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
164 |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
165 #define DUMP_DATAHDR_VERSION 1 |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
166 #define DUMP_CLEVEL_LZJB 1 /* parallel lzjb compression */ |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
167 #define DUMP_CLEVEL_BZIP2 2 /* parallel bzip2 level 1 */ |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
168 |
0 | 169 #ifdef _KERNEL |
170 | |
171 extern kmutex_t dump_lock; | |
172 extern struct vnode *dumpvp; | |
173 extern u_offset_t dumpvp_size; | |
174 extern struct dumphdr *dumphdr; | |
175 extern int dump_conflags; | |
176 extern char *dumppath; | |
177 | |
178 extern int dump_timeout; | |
179 extern int dump_timeleft; | |
5084 | 180 extern int dump_ioerr; |
0 | 181 extern int sync_timeout; |
182 extern int sync_timeleft; | |
183 | |
184 extern int dumpinit(struct vnode *, char *, int); | |
185 extern void dumpfini(void); | |
186 extern void dump_resize(void); | |
187 extern void dump_page(pfn_t); | |
188 extern void dump_addpage(struct as *, void *, pfn_t); | |
189 extern void dumpsys(void); | |
10843
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
190 extern void dumpsys_helper(void); |
12640
b4f09d1fd79d
6923763 break followed by sync results in panic dump timeout 'dump aborted'
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
10843
diff
changeset
|
191 extern void dumpsys_helper_nw(void); |
0 | 192 extern void dump_messages(void); |
193 extern void dump_ereports(void); | |
194 extern void dumpvp_write(const void *, size_t); | |
6423 | 195 extern int dumpvp_resize(void); |
3446 | 196 extern int dump_plat_addr(void); |
197 extern void dump_plat_pfn(void); | |
198 extern int dump_plat_data(void *); | |
12979
ab9ae749152f
PSARC/2009/617 Software Events Notification Parameters CLI
Gavin Maltby <gavin.maltby@oracle.com>
parents:
12943
diff
changeset
|
199 extern int dump_set_uuid(const char *); |
ab9ae749152f
PSARC/2009/617 Software Events Notification Parameters CLI
Gavin Maltby <gavin.maltby@oracle.com>
parents:
12943
diff
changeset
|
200 extern const char *dump_get_uuid(void); |
0 | 201 |
10843
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
202 /* |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
203 * Define a CPU count threshold that determines when to employ |
12943
2acab560865a
6967825 panic "sync initiated" can hang attempting a crash dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
12640
diff
changeset
|
204 * bzip2. This value is defined per-platform. |
10843
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
205 */ |
12943
2acab560865a
6967825 panic "sync initiated" can hang attempting a crash dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
12640
diff
changeset
|
206 extern uint_t dump_plat_mincpu_default; |
10843
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
207 |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
208 #define DUMP_PLAT_SUN4U_MINCPU 51 |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
209 #define DUMP_PLAT_SUN4U_OPL_MINCPU 8 |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
210 #define DUMP_PLAT_SUN4V_MINCPU 128 |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
211 #define DUMP_PLAT_X86_64_MINCPU 11 |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
212 #define DUMP_PLAT_X86_32_MINCPU 0 |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
213 |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
214 /* |
12943
2acab560865a
6967825 panic "sync initiated" can hang attempting a crash dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
12640
diff
changeset
|
215 * Override the per-platform default by setting this variable with |
2acab560865a
6967825 panic "sync initiated" can hang attempting a crash dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
12640
diff
changeset
|
216 * /etc/system. The value 0 disables parallelism, and the old format |
2acab560865a
6967825 panic "sync initiated" can hang attempting a crash dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
12640
diff
changeset
|
217 * dump is produced. |
2acab560865a
6967825 panic "sync initiated" can hang attempting a crash dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
12640
diff
changeset
|
218 */ |
2acab560865a
6967825 panic "sync initiated" can hang attempting a crash dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
12640
diff
changeset
|
219 extern uint_t dump_plat_mincpu; |
2acab560865a
6967825 panic "sync initiated" can hang attempting a crash dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
12640
diff
changeset
|
220 |
2acab560865a
6967825 panic "sync initiated" can hang attempting a crash dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
12640
diff
changeset
|
221 /* |
10843
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
222 * Pages may be stolen at dump time. Prevent the pages from ever being |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
223 * allocated while dump is running. |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
224 */ |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
225 #define IS_DUMP_PAGE(pp) (dump_check_used && dump_test_used((pp)->p_pagenum)) |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
226 |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
227 extern int dump_test_used(pfn_t); |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
228 extern int dump_check_used; |
eb166ea6e74e
6828976 Fast Crash Dump
Dave Plauger <Dave.Plauger@Sun.COM>
parents:
6423
diff
changeset
|
229 |
0 | 230 #endif /* _KERNEL */ |
231 | |
232 #ifdef __cplusplus | |
233 } | |
234 #endif | |
235 | |
236 #endif /* _SYS_DUMPHDR_H */ |