osunix / osunix-gate (http://osunix.org/)

fork of onnv-gate

A free and totally open source opensolaris technology gate. We stress high quality and gives developers who don't want to sign the SCA a place to commit their license compatible code.

Clone this repository (size: 224.2 MB): HTTPS / SSH
$ hg clone http://hg.pathscale.com/osunix-gate
commit 11786: 3d6e39b37cef
parent 11785: 84bdf541614c
branch: default
6841263 Error injection of cpu errors detected by Oberon results in cpumem-diagnosis DE being faulted
Loui...@Sun.COM
6 months ago

Changed (Δ676 bytes):

Up to file-list usr/src/cmd/fm/modules/sun4/cpumem-diagnosis/cmd_main.c:

19
19
 * CDDL HEADER END
20
20
 */
21
21
/*
22
 * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
22
 * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
23
23
 * Use is subject to license terms.
24
24
 */
25
25
@@ -83,6 +83,27 @@ cmd_nop(fmd_hdl_t *hdl, fmd_event_t *ep,
83
83
	return (CMD_EVD_UNUSED);
84
84
}
85
85
86
#ifdef sun4u
87
/*
88
 * It used to be that cmd_opluecpu_detio() was called directly, with a
89
 * 'class' argument of ereport.io.oberon.xxx.  But the code underlying
90
 * cmd_opluecpu_detio() assumed that the class would always be of the form
91
 * ereport.cpu.<cputype>.<subclass>.
92
 *
93
 * Rather than generalizing the underlying code, the following adjusts the
94
 * input to cmd_opluecpu_detio() so that it conforms to the above expectation.
95
 */
96
97
/*ARGSUSED*/
98
cmd_evdisp_t
99
opl_opluecpu_detio(fmd_hdl_t *hdl, fmd_event_t *ep, nvlist_t *nvl,
100
    const char *class, cmd_errcl_t clcode)
101
{
102
	return (cmd_opluecpu_detio(hdl, ep, nvl,
103
	    "ereport.cpu.SPARC64-VI.", clcode));
104
}
105
#endif	/* sun4u */
106
86
107
static cmd_subscriber_t cmd_subscribers[] = {
87
108
#ifdef sun4u
88
109
	{ "ereport.cpu.*.ucc", 		cmd_xxc,	CMD_ERRCL_UCC |
@@ -199,23 +220,23 @@ static cmd_subscriber_t cmd_subscribers[
199
220
	{ "ereport.cpu.*.uge",				cmd_opluge },
200
221
	{ "ereport.io.oberon.ubc.dmarduea-mem",		cmd_opl_io_mem },
201
222
	{ "ereport.io.oberon.ubc.dmarduea-channel",	cmd_nop },
202
	{ "ereport.io.oberon.ubc.dmarduea-cpu",		cmd_opluecpu_detio },
223
	{ "ereport.io.oberon.ubc.dmarduea-cpu",		opl_opluecpu_detio },
203
224
	{ "ereport.io.oberon.ubc.dmarduea-path",	cmd_nop },
204
225
	{ "ereport.io.oberon.ubc.dmardueb-mem",		cmd_opl_io_mem },
205
226
	{ "ereport.io.oberon.ubc.dmardueb-channel",	cmd_nop },
206
	{ "ereport.io.oberon.ubc.dmardueb-cpu",		cmd_opluecpu_detio },
227
	{ "ereport.io.oberon.ubc.dmardueb-cpu",		opl_opluecpu_detio },
207
228
	{ "ereport.io.oberon.ubc.dmardueb-path",	cmd_nop },
208
229
	{ "ereport.io.oberon.ubc.piowtue-mem",		cmd_opl_io_mem },
209
230
	{ "ereport.io.oberon.ubc.piowtue-channel",	cmd_nop },
210
	{ "ereport.io.oberon.ubc.piowtue-cpu",		cmd_opluecpu_detio },
231
	{ "ereport.io.oberon.ubc.piowtue-cpu",		opl_opluecpu_detio },
211
232
	{ "ereport.io.oberon.ubc.piowtue-path",		cmd_nop },
212
233
	{ "ereport.io.oberon.ubc.piowbeue-mem",		cmd_opl_io_mem },
213
234
	{ "ereport.io.oberon.ubc.piowbeue-channel",	cmd_nop },
214
	{ "ereport.io.oberon.ubc.piowbeue-cpu",		cmd_opluecpu_detio },
235
	{ "ereport.io.oberon.ubc.piowbeue-cpu",		opl_opluecpu_detio },
215
236
	{ "ereport.io.oberon.ubc.piowbeue-path",	cmd_nop },
216
237
	{ "ereport.io.oberon.ubc.piorbeue-mem",		cmd_opl_io_mem },
217
238
	{ "ereport.io.oberon.ubc.piorbeue-channel",	cmd_nop },
218
	{ "ereport.io.oberon.ubc.piorbeue-cpu",		cmd_opluecpu_detio },
239
	{ "ereport.io.oberon.ubc.piorbeue-cpu",		opl_opluecpu_detio },
219
240
	{ "ereport.io.oberon.ubc.piorbeue-path",	cmd_nop },
220
241
	{ "ereport.cpu.*.fpu.fpscrub",	cmd_fps },
221
242
#else /* i.e. sun4v */