xref: /illumos-gate/usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_messages.h (revision cd3e933325e68e23516a196a8fea7f49b1e497c3)
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License (the "License").
6  * You may not use this file except in compliance with the License.
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 
22 /*
23  * Copyright 2009 Emulex.  All rights reserved.
24  * Use is subject to license terms.
25  */
26 
27 #ifndef _EMLXS_MESSAGES_H
28 #define	_EMLXS_MESSAGES_H
29 
30 #ifdef	__cplusplus
31 extern "C" {
32 #endif
33 
34 
35 #ifdef DEF_MSG_REPORT
36 
37 #define	DEFINE_MSG(_id, _name, _msg, _level, _mask, _desc, _action, \
38 	_ereport, _impact)	{_msg, _id, _level, _mask, _desc, \
39 	_action, 0, 0, 0},
40 
41 #else	/* DEF_MSG_REPORT */
42 
43 #ifdef DEF_MSG_STRUCT
44 
45 #define	DEFINE_MSG(_id, _name, _msg, _level, _mask, _desc, _action, \
46 	_ereport, _impact)	emlxs_msg_t _name = {_msg, _id, _level, \
47 	_mask, _ereport, _impact};
48 
49 #else
50 
51 #define	DEFINE_MSG(_id, _name, _msg, _level, _mask, _desc, _action, \
52 	_ereport, _impact)	extern emlxs_msg_t _name;
53 
54 #endif	/* DEF_MSG_STRUCT */
55 
56 #endif	/* DEF_MSG_REPORT */
57 
58 
59 /*
60  *
61  * LOG Message Types Numbering Sequence
62  *
63  * Message Group            From
64  *
65  * MISC			000
66  * DRIVER		100    -Driver Attach and Detach events
67  * INIT			200    -HBA initialization events
68  * MEM			300
69  * SLI			400
70  * MBOX			500
71  * NODE			600
72  * LINK			700
73  * ELS			800
74  * PKT			900
75  * FCP			1000
76  * FCT (FCP Target)	1100
77  * IP			1200
78  * SFS			1300
79  * IOCTL		1400
80  * FIRMWARE		1500
81  * CT			1600
82  * FCSP			1700
83  *
84  */
85 
86 #ifdef DEF_MSG_REPORT
87 typedef struct emlxs_msg_group
88 {
89 	uint32_t	min;
90 	uint32_t	max;
91 	char		desc[80];
92 }  emlxs_msg_group_t;
93 
94 emlxs_msg_group_t msg_group[] =
95 {
96 	{0,	99,	"Miscellaneous Events"},
97 	{100,	199,	"Driver Events"},
98 	{200,	299,	"HBA Initialization Events"},
99 	{300,	399,	"Memory Management Events"},
100 	{400,	499,	"Service level Interface (SLI) Events"},
101 	{500,	599,	"Mailbox Events"},
102 	{600,	699,	"Node Events"},
103 	{700,	799,	"Link Events"},
104 	{800,	899,	"ELS Events"},
105 	{900,	999,	"General I/O Packet Events"},
106 	{1000,	1099,	"FCP Traffic Events"},
107 	{1100,	1199,	"FCT Traffic Events"},
108 	{1200,	1299,	"IP Traffic Events"},
109 	{1300,	1399,	"Solaris SFS Events"},
110 	{1400,	1499,	"IOCTL Events"},
111 	{1500,	1599,	"Firmware Download Events"},
112 	{1600,	1699,	"Common Transport Events"},
113 	{1700,	1799,	"Fibre Channel Security Protocol (FCSP) Events"},
114 };
115 
116 #define	MAX_MSG_GROUPS	(sizeof (msg_group) / sizeof (emlxs_msg_group_t))
117 #endif	/* DEF_MSG_REPORT */
118 
119 
120 /* Verbose flags */
121 #define	MSG_DISABLED		0x00000000	/* Always off */
122 #define	MSG_MISC		0x00000001	/* Misc events */
123 #define	MSG_DRIVER		0x00000002	/* Driver attach and detach */
124 						/* events */
125 #define	MSG_INIT		0x00000004	/* Initialization events */
126 #define	MSG_MEM			0x00000008	/* Memory management events */
127 #define	MSG_SLI			0x00000010	/* SLI events */
128 #define	MSG_MBOX		0x00000020	/* Mailbox events */
129 #define	MSG_NODE		0x00000040	/* Node table events */
130 #define	MSG_LINK		0x00000080	/* Link events */
131 #define	MSG_ELS			0x00000100	/* ELS events */
132 #define	MSG_PKT			0x00000200	/* General I/O packet events */
133 #define	MSG_FCP			0x00000400	/* FCP traffic events */
134 #define	MSG_FCT			0x00000800	/* FCP Target Mode events */
135 #define	MSG_IP			0x00001000	/* IP traffic events */
136 #define	MSG_SFS			0x00002000	/* ULP interface events */
137 #define	MSG_IOCTL		0x00004000	/* IOCtl events */
138 #define	MSG_FIRMWARE		0x00008000	/* Firmware download events */
139 #define	MSG_CT			0x00010000	/* CT events */
140 #define	MSG_FCSP		0x00020000	/* FCSP events */
141 #define	MSG_RESV18		0x00040000
142 #define	MSG_RESV19		0x00080000
143 #define	MSG_RESV20		0x00100000
144 #define	MSG_RESV21		0x00200000
145 #define	MSG_FCT_API		0x00400000	/* FCP Target Mode API trace */
146 #define	MSG_FCT_DETAIL		0x00800000	/* Detailed Target Mode */
147 						/* events */
148 #define	MSG_FCSP_DETAIL		0x01000000	/* Detailed FCSP events */
149 #define	MSG_NODE_DETAIL		0x02000000	/* Detailed node events */
150 #define	MSG_IOCTL_DETAIL	0x04000000	/* Detailed IOCTL events */
151 #define	MSG_IP_DETAIL		0x08000000	/* Detailed ip events */
152 						/* (very verbose) */
153 #define	MSG_FIRMWARE_DETAIL	0x10000000	/* Detailed firmware download */
154 						/* events (very verbose) */
155 #define	MSG_SFS_DETAIL		0x20000000	/* Detailed SFS interface */
156 						/* events (very verbose) */
157 #define	MSG_MBOX_DETAIL		0x40000000	/* Detailed Mailbox events */
158 						/* (very verbose) */
159 #define	MSG_SLI_DETAIL		0x80000000	/* Detailed SLI events */
160 						/* (very verbose) */
161 #define	MSG_ALWAYS		0xffffffff	/* Always on */
162 
163 /* Msg Levels */
164 #define	EMLXS_DEBUG	1
165 #define	EMLXS_NOTICE	2
166 #define	EMLXS_WARNING	3
167 #define	EMLXS_ERROR	4
168 #define	EMLXS_PANIC	5
169 
170 
171 typedef struct emlxs_msg
172 {
173 	char		buffer[64];	/* Msg buffer */
174 	uint32_t	id;		/* Msg number */
175 	uint32_t	level;		/* Msg level  */
176 	uint32_t	mask;		/* Msg mask (bit field) Message */
177 					/* will be logged only */
178 
179 #ifdef DEF_MSG_REPORT
180 	char		desc[512];
181 	char		action[512];
182 	uint32_t	flags;
183 #endif	/* DEF_MSG_REPORT */
184 
185 	char		*fm_ereport_code;
186 	int		fm_impact_code;
187 } emlxs_msg_t;
188 
189 
190 /* ACTION defines (common) */
191 #define	ACTION_NONE		"No action needed, informational."
192 #define	ACTION_NONE_REP		"No action needed, informational. " \
193 				"However, if the problem persists, " \
194 				"report these errors to your customer " \
195 				"service representative."
196 #define	ACTION_NONE_ADM		"No action needed, informational. " \
197 				"However, if the problem persists, " \
198 				"report these errors to your system "\
199 				"administrator."
200 #define	ACTION_CHK_HSCFG	"Check your hardware and software " \
201 				"configuration. If the problem persists, " \
202 				"report these errors to your customer " \
203 				"service representative."
204 #define	ACTION_CHK_HCFG		"Check your hardware configuration. " \
205 				"If the problem persists, report these " \
206 				"errors to your customer service " \
207 				"representative."
208 #define	ACTION_CHK_CONN		"Check your network connections. " \
209 				"If the problem persists, report these " \
210 				"errors to your system administrator."
211 #define	ACTION_REP		"Contact your customer service " \
212 				"representative."
213 #define	ACTION_IMG_REP		"Obtain the proper image file. If the " \
214 				"problem persists, report these errors " \
215 				"to your customer service representative."
216 
217 
218 /* MESSAGE defines */
219 #ifdef DEF_MSG_REPORT
220 emlxs_msg_t emlxs_message[] =
221 {
222 #endif /* DEF_MSG_REPORT */
223 
224 	/* GROUP:  MISC	000 - 099 */
225 
226 	DEFINE_MSG(1, \
227 		emlxs_debug_msg, \
228 		"", \
229 		EMLXS_DEBUG, \
230 		MSG_MISC, \
231 		"This is a general purpose informational message.", \
232 		ACTION_NONE, \
233 		NULL, \
234 		0)
235 
236 	DEFINE_MSG(2, \
237 		emlxs_notice_msg, \
238 		"", \
239 		EMLXS_NOTICE, \
240 		MSG_MISC, \
241 		"This is a general purpose informational message.", \
242 		ACTION_NONE, \
243 		NULL, \
244 		0)
245 
246 	DEFINE_MSG(3, \
247 		emlxs_warning_msg, \
248 		"", \
249 		EMLXS_WARNING, \
250 		MSG_MISC, \
251 		"This is a general purpose warning message.", \
252 		ACTION_NONE, \
253 		NULL, \
254 		0)
255 
256 	DEFINE_MSG(4, \
257 		emlxs_error_msg, \
258 		"", \
259 		EMLXS_ERROR, \
260 		MSG_MISC, \
261 		"This is a general purpose error message.", \
262 		ACTION_NONE, \
263 		NULL, \
264 		0)
265 
266 	DEFINE_MSG(5, \
267 		emlxs_panic_msg, \
268 		"", \
269 		EMLXS_PANIC, \
270 		MSG_MISC, \
271 		"This is a general purpose panic message.", \
272 		ACTION_REP, \
273 		NULL, \
274 		0)
275 
276 	DEFINE_MSG(10, \
277 		emlxs_event_debug_msg, \
278 		"Event.", \
279 		EMLXS_DEBUG, \
280 		MSG_MISC, \
281 		"This is debug information about a driver event.", \
282 		ACTION_NONE, \
283 		NULL, \
284 		0)
285 
286 	DEFINE_MSG(11, \
287 		emlxs_event_queued_msg, \
288 		"Event queued.", \
289 		EMLXS_DEBUG, \
290 		MSG_MISC, \
291 		"This indicates a driver event is being queued.", \
292 		ACTION_NONE, \
293 		NULL, \
294 		0)
295 
296 	DEFINE_MSG(12, \
297 		emlxs_event_dequeued_msg, \
298 		"Event dequeued.", \
299 		EMLXS_DEBUG, \
300 		MSG_MISC, \
301 		"This indicates a driver event is being dequeued.", \
302 		ACTION_NONE, \
303 		NULL, \
304 		0)
305 
306 	/* GROUP:  DRIVER	100 - 199 */
307 
308 	DEFINE_MSG(100, \
309 		emlxs_attach_msg, \
310 		"Driver attach.", \
311 		EMLXS_NOTICE, \
312 		MSG_DRIVER, \
313 		"This indicates that the driver is performing an attach " \
314 		"operation.", \
315 		ACTION_NONE, \
316 		NULL, \
317 		0)
318 
319 	DEFINE_MSG(101, \
320 		emlxs_attach_failed_msg, \
321 		"Driver attach failed.", \
322 		EMLXS_ERROR, \
323 		MSG_DRIVER, \
324 		"This indicates that the driver was unable to attach due to " \
325 		"some issue.", \
326 		ACTION_CHK_HSCFG, \
327 		NULL, \
328 		0)
329 
330 	DEFINE_MSG(102, \
331 		emlxs_attach_debug_msg, \
332 		"Driver attach.", \
333 		EMLXS_DEBUG, \
334 		MSG_DRIVER, \
335 		"This indicates that the driver is performing a attach " \
336 		"operation.", \
337 		ACTION_NONE, \
338 		NULL, \
339 		0)
340 
341 	DEFINE_MSG(110, \
342 		emlxs_detach_msg, \
343 		"Driver detach.", \
344 		EMLXS_NOTICE, \
345 		MSG_DRIVER, \
346 		"This indicates that the driver is performing a detach " \
347 		"operation.", \
348 		ACTION_NONE, \
349 		NULL, \
350 		0)
351 
352 	DEFINE_MSG(111, \
353 		emlxs_detach_failed_msg, \
354 		"Driver detach failed.", \
355 		EMLXS_ERROR, \
356 		MSG_DRIVER, \
357 		"This indicates that the driver was unable to detach due to " \
358 		"some issue.", \
359 		ACTION_CHK_HSCFG, \
360 		NULL, \
361 		0)
362 
363 	DEFINE_MSG(112, \
364 		emlxs_detach_debug_msg, \
365 		"Driver detach.", \
366 		EMLXS_DEBUG, \
367 		MSG_DRIVER, \
368 		"This indicates that the driver is performing a detach " \
369 		"operation.", \
370 		ACTION_NONE, \
371 		NULL, \
372 		0)
373 
374 	DEFINE_MSG(120, \
375 		emlxs_suspend_msg, \
376 		"Driver suspend.", \
377 		EMLXS_DEBUG, \
378 		MSG_DRIVER, \
379 		"This indicates that the driver is performing a suspend " \
380 		"operation.", \
381 		ACTION_NONE, \
382 		NULL, \
383 		0)
384 
385 	DEFINE_MSG(121, \
386 		emlxs_suspend_failed_msg, \
387 		"Driver suspend failed.", \
388 		EMLXS_ERROR, \
389 		MSG_DRIVER, \
390 		"This indicates that the driver was unable to suspend due " \
391 		"to some issue.", \
392 		ACTION_CHK_HSCFG, \
393 		NULL, \
394 		0)
395 
396 	DEFINE_MSG(130, \
397 		emlxs_resume_msg, \
398 		"Driver resume.", \
399 		EMLXS_DEBUG, \
400 		MSG_DRIVER, \
401 		"This indicates that the driver is performing a resume " \
402 		"operation.", \
403 		ACTION_NONE, \
404 		NULL, \
405 		0)
406 
407 	DEFINE_MSG(131, \
408 		emlxs_resume_failed_msg, \
409 		"Driver resume failed.", \
410 		EMLXS_ERROR, \
411 		MSG_DRIVER, \
412 		"This indicates that the driver was unable to resume due to " \
413 		"some issue.", \
414 		ACTION_CHK_HSCFG, \
415 		NULL, \
416 		0)
417 
418 
419 	/* GROUP:  INIT	200 - 299 */
420 
421 
422 	DEFINE_MSG(200, \
423 		emlxs_init_msg, \
424 		"Adapter initialization.", \
425 		EMLXS_NOTICE, \
426 		MSG_INIT, \
427 		"This indicates that the adapter is initializing.", \
428 		ACTION_NONE, \
429 		NULL, \
430 		0)
431 
432 	DEFINE_MSG(201, \
433 		emlxs_init_failed_msg, \
434 		"Adapter initialization failed.", \
435 		EMLXS_ERROR, \
436 		MSG_INIT, \
437 		"This indicates that an attempt to initialize the adapter " \
438 		"has failed.", \
439 		ACTION_CHK_HCFG, \
440 		NULL, \
441 		0)
442 
443 	DEFINE_MSG(202, \
444 		emlxs_init_debug_msg, \
445 		"Adapter initialization.", \
446 		EMLXS_DEBUG, \
447 		MSG_INIT, \
448 		"This indicates that the adapter is initializing.", \
449 		ACTION_NONE, \
450 		NULL, \
451 		0)
452 
453 	DEFINE_MSG(210, \
454 		emlxs_adapter_trans_msg, \
455 		"Adapter transition.", \
456 		EMLXS_DEBUG, \
457 		MSG_INIT, \
458 		"This indicates that the adapter is changing states.", \
459 		ACTION_NONE, \
460 		NULL, \
461 		0)
462 
463 	DEFINE_MSG(220, \
464 		emlxs_online_msg, \
465 		"Adapter online.", \
466 		EMLXS_DEBUG, \
467 		MSG_INIT, \
468 		"This indicates that the adapter is online and ready to " \
469 		"communicate.", \
470 		ACTION_NONE, \
471 		NULL, \
472 		0)
473 
474 	DEFINE_MSG(230, \
475 		emlxs_offline_msg, \
476 		"Adapter offline.", \
477 		EMLXS_DEBUG, \
478 		MSG_INIT, \
479 		"This indicates that the adapter is offline and unable to " \
480 		"communicate.", \
481 		ACTION_NONE, \
482 		NULL, \
483 		0)
484 
485 	DEFINE_MSG(231, \
486 		emlxs_shutdown_msg, \
487 		"Adapter shutdown.", \
488 		EMLXS_WARNING, \
489 		MSG_INIT, \
490 		"This indicates that the adapter has been shutdown and will " \
491 		"require a reboot to reinitialize.", \
492 		ACTION_REP, \
493 		DDI_FM_DEVICE_INVAL_STATE, \
494 		DDI_SERVICE_LOST)
495 
496 	DEFINE_MSG(240, \
497 		emlxs_reset_failed_msg, \
498 		"Adapter reset failed.", \
499 		EMLXS_ERROR, \
500 		MSG_INIT, \
501 		"This indicates that an attempt to reset the adapter has " \
502 		"failed.", \
503 		ACTION_CHK_HCFG, \
504 		DDI_FM_DEVICE_INVAL_STATE, \
505 		DDI_SERVICE_LOST)
506 
507 
508 	/* GROUP:  MEM		300 - 399 */
509 
510 
511 	DEFINE_MSG(300, \
512 		emlxs_mem_alloc_msg, \
513 		"Memory alloc.", \
514 		EMLXS_DEBUG, \
515 		MSG_MEM, \
516 		"This indicates that the driver allocated system memory.", \
517 		ACTION_NONE, \
518 		NULL, \
519 		0)
520 
521 	DEFINE_MSG(301, \
522 		emlxs_mem_alloc_failed_msg, \
523 		"Memory alloc failed.", \
524 		EMLXS_ERROR, \
525 		MSG_MEM, \
526 		"This indicates that the driver was unable to allocate " \
527 		"system memory. The system is low on memory resources.", \
528 		ACTION_NONE_ADM, \
529 		NULL, \
530 		0)
531 
532 	DEFINE_MSG(310, \
533 		emlxs_pool_error_msg, \
534 		"Memory pool error.", \
535 		EMLXS_ERROR, \
536 		MSG_MEM, \
537 		"This indicates that a problem has occurred with the " \
538 		"memory buffer pool management.", \
539 		ACTION_NONE_REP, \
540 		NULL, \
541 		0)
542 
543 	DEFINE_MSG(311, \
544 		emlxs_pool_alloc_failed_msg, \
545 		"Memory pool alloc failed.", \
546 		EMLXS_DEBUG, \
547 		MSG_MEM, \
548 		"This indicates that the driver was unable to allocate " \
549 		"memory from one of its own memory pools.",
550 		"If the problem occurs frequently you may be able to " \
551 		"configure more resources for that pool. If this does " \
552 		"not solve the problem, report these errors to customer " \
553 		"service.", \
554 		NULL, \
555 		0)
556 
557 	DEFINE_MSG(312, \
558 		emlxs_pool_detail_msg, \
559 		"Memory pool detail.", \
560 		EMLXS_DEBUG, \
561 		MSG_MEM, \
562 		"This provides detailed information about memory buffer" \
563 		"pool management.", \
564 		ACTION_NONE, \
565 		NULL, \
566 		0)
567 
568 	DEFINE_MSG(320, \
569 		emlxs_no_unsol_buf_msg, \
570 		"No unsolicited buffer available.", \
571 		EMLXS_NOTICE, \
572 		MSG_MEM, \
573 		"This indicates that the driver's unsolicited buffer pool " \
574 		"is exhausted. The I/O will be dropped and most likely ", \
575 		"retried by the remote device. If the problem occurs " \
576 		"frequently you may be able to configure more resources " \
577 		"for that pool. If this does not solve the problem, report " \
578 		"these errors to customer service.", \
579 		NULL, \
580 		0)
581 
582 	DEFINE_MSG(330, \
583 		emlxs_invalid_access_handle_msg, \
584 		"Invalid access handle.", \
585 		EMLXS_ERROR, \
586 		MSG_MEM, \
587 		"This indicates that the driver had an invalid access " \
588 		"handle assigned by the system.", \
589 		"If the problem occurs frequently, report these errors " \
590 		"to customer service.", \
591 		NULL, \
592 		DDI_SERVICE_LOST)
593 
594 	DEFINE_MSG(331, \
595 		emlxs_invalid_dma_handle_msg, \
596 		"Invalid DMA handle.", \
597 		EMLXS_ERROR, \
598 		MSG_MEM, \
599 		"This indicates that the driver had an invalid dma " \
600 		"handle assigned by the system.", \
601 		"If the problem occurs frequently, report these errors " \
602 		"to customer service.", \
603 		NULL, \
604 		DDI_SERVICE_UNAFFECTED)
605 
606 
607 	/* GROUP:  SLI		400 - 499 */
608 
609 
610 	DEFINE_MSG(400, \
611 		emlxs_vpd_msg, \
612 		"Vital Product Data.", \
613 		EMLXS_DEBUG, \
614 		MSG_SLI, \
615 		"This provides vendor specific information about the " \
616 		"adapter.", \
617 		ACTION_NONE, \
618 		NULL, \
619 		0)
620 
621 	DEFINE_MSG(410, \
622 		emlxs_link_atten_msg, \
623 		"Link atten.", \
624 		EMLXS_DEBUG, \
625 		MSG_SLI, \
626 		"This indicates that the adapter has triggered a link " \
627 		"attention interrupt.", \
628 		ACTION_NONE, \
629 		NULL, \
630 		0)
631 
632 	DEFINE_MSG(411, \
633 		emlxs_state_msg, \
634 		"State change.", \
635 		EMLXS_DEBUG, \
636 		MSG_SLI, \
637 		"This indicates that the adapter has changed state.", \
638 		ACTION_NONE, \
639 		NULL, \
640 		0)
641 
642 	DEFINE_MSG(412, \
643 		emlxs_linkup_atten_msg, \
644 		"Link Up atten.", \
645 		EMLXS_DEBUG, \
646 		MSG_SLI, \
647 		"This indicates that the adapter has triggered a link up " \
648 		"attention interrupt.", \
649 		ACTION_NONE, \
650 		NULL, \
651 		0)
652 
653 	DEFINE_MSG(413, \
654 		emlxs_linkdown_atten_msg, \
655 		"Link Down atten.", \
656 		EMLXS_DEBUG, \
657 		MSG_SLI, \
658 		"This indicates that the adapter has triggered a link down " \
659 		"attention interrupt.", \
660 		ACTION_NONE, \
661 		NULL, \
662 		0)
663 
664 	DEFINE_MSG(420, \
665 		emlxs_hardware_error_msg, \
666 		"Adapter hardware error.", \
667 		EMLXS_ERROR, \
668 		MSG_SLI, \
669 		"This indicates that an interrupt has occurred and the " \
670 		"status register indicates a nonrecoverable hardware ", \
671 		"error. This error usually indicates a hardware problem " \
672 		"with the adapter. Try running adapter diagnostics. Report "\
673 		"these errors to customer service.", \
674 		NULL, \
675 		0)
676 
677 	DEFINE_MSG(421, \
678 		emlxs_temp_msg, \
679 		"Adapter temperature.", \
680 		EMLXS_NOTICE, \
681 		MSG_SLI, \
682 		"This indicates that the adapter has provided general " \
683 		"information about the adapter's temperature.", \
684 		ACTION_NONE, \
685 		NULL, \
686 		0)
687 
688 	DEFINE_MSG(422, \
689 		emlxs_temp_warning_msg, \
690 		"Adapter temperature.", \
691 		EMLXS_WARNING, \
692 		MSG_SLI, \
693 		"This indicates that adapter's temperature is too hot.", \
694 		"Check hardware ventilation. Reduce adapter usage. " \
695 		"Shutdown host system.", \
696 		NULL, \
697 		0)
698 
699 	DEFINE_MSG(423, \
700 		emlxs_adapter_notice_msg, \
701 		"Adapter notice.", \
702 		EMLXS_NOTICE, \
703 		MSG_SLI, \
704 		"This indicates that the adapter has provided general " \
705 		"information about the adapter's condition.", \
706 		ACTION_NONE, \
707 		NULL, \
708 		0)
709 
710 	DEFINE_MSG(424, \
711 		emlxs_adapter_warning_msg, \
712 		"Adapter warning.", \
713 		EMLXS_WARNING, \
714 		MSG_SLI, \
715 		"This indicates that an interrupt has occurred indicating " \
716 		"a recoverable adapter error.", \
717 		"This error usually indicates a hardware or firmware " \
718 		"problem with the adapter. Check and/or update firmware " \
719 		"levels. Report these errors to customer service.", \
720 		NULL, \
721 		0)
722 
723 	DEFINE_MSG(425, \
724 		emlxs_adapter_error_msg, \
725 		"Adapter error.", \
726 		EMLXS_ERROR, \
727 		MSG_SLI, \
728 		"This indicates that a recoverable adapter error has " \
729 		"occurred.", \
730 		"This error usually indicates a hardware or firmware " \
731 		"problem with the adapter. Check and/or update firmware " \
732 		"levels. Report these errors to customer service.", \
733 		NULL, \
734 		0)
735 
736 	DEFINE_MSG(426, \
737 		emlxs_async_msg, \
738 		"Adapter Async Status.", \
739 		EMLXS_NOTICE, \
740 		MSG_SLI, \
741 		"This indicates that the adapter has provided general " \
742 		"information about the adapter's async status.", \
743 		ACTION_NONE, \
744 		NULL, \
745 		0)
746 
747 	DEFINE_MSG(430, \
748 		emlxs_ring_event_msg, \
749 		"Ring event.", \
750 		EMLXS_DEBUG, \
751 		MSG_SLI, \
752 		"This indicates that an SLI ring event has occurred.", \
753 		ACTION_NONE, \
754 		NULL, \
755 		0)
756 
757 	DEFINE_MSG(431, \
758 		emlxs_ring_error_msg, \
759 		"Ring error.", \
760 		EMLXS_DEBUG, \
761 		MSG_SLI, \
762 		"This indicates an SLI ring error is being reported by " \
763 		"the adapter", \
764 		ACTION_NONE, \
765 		NULL, \
766 		0)
767 
768 	DEFINE_MSG(432, \
769 		emlxs_ring_reset_msg, \
770 		"Ring reset.", \
771 		EMLXS_DEBUG, \
772 		MSG_SLI, \
773 		"This indicates an SLI ring is being reset.", \
774 		ACTION_NONE, \
775 		NULL, \
776 		0)
777 
778 	DEFINE_MSG(440, \
779 		emlxs_adapter_msg, \
780 		"Adapter msg.", \
781 		EMLXS_DEBUG, \
782 		MSG_SLI, \
783 		"This indicates that a message was sent to the driver " \
784 		"from the adapter.", \
785 		ACTION_NONE, \
786 		NULL, \
787 		0)
788 
789 	DEFINE_MSG(450, \
790 		emlxs_iocb_invalid_msg, \
791 		"IOCB invalid.", \
792 		EMLXS_ERROR, \
793 		MSG_SLI, \
794 		"This indicates that an IOCB was received from the adapter " \
795 		"with an illegal value. This error could indicate a driver " \
796 		"or firmware problem.", \
797 		ACTION_NONE_REP, \
798 		DDI_FM_DEVICE_INTERN_UNCORR, \
799 		DDI_SERVICE_DEGRADED)
800 
801 	DEFINE_MSG(451, \
802 		emlxs_iocb_qfull_msg, \
803 		"IOCB queue full.", \
804 		EMLXS_DEBUG, \
805 		MSG_SLI, \
806 		"This indicates that the IOCB queue is full. This will " \
807 		"occur during normal operation.", \
808 		ACTION_NONE, \
809 		NULL, \
810 		0)
811 
812 	DEFINE_MSG(452, \
813 		emlxs_iocb_event_msg, \
814 		"IOCB event.", \
815 		EMLXS_DEBUG, \
816 		MSG_SLI, \
817 		"This indicates an IOCB local error event is being " \
818 		"reported by the adapter", \
819 		ACTION_NONE, \
820 		NULL, \
821 		0)
822 
823 	DEFINE_MSG(453, \
824 		emlxs_iocb_stale_msg, \
825 		"IOCB stale.", \
826 		EMLXS_DEBUG, \
827 		MSG_SLI, \
828 		"This indicates an IOCB completed after its " \
829 		"associated packet completed.", \
830 		ACTION_NONE, \
831 		NULL, \
832 		0)
833 
834 	DEFINE_MSG(460, \
835 		emlxs_sli_detail_msg, \
836 		"SLI detail.", \
837 		EMLXS_DEBUG, \
838 		MSG_SLI_DETAIL, \
839 		"This provides detailed information about an SLI event.", \
840 		ACTION_NONE, \
841 		NULL, \
842 		0)
843 
844 	DEFINE_MSG(461, \
845 		emlxs_sli_err_msg, \
846 		"SLI ERROR.", \
847 		EMLXS_ERROR, \
848 		MSG_SLI, \
849 		"This provides error information about an SLI event.", \
850 		ACTION_NONE, \
851 		NULL, \
852 		0)
853 
854 
855 	/* GROUP:  MBOX		500 - 599 */
856 
857 
858 	DEFINE_MSG(500, \
859 		emlxs_mbox_event_msg, \
860 		"Mailbox event.", \
861 		EMLXS_DEBUG, \
862 		MSG_MBOX, \
863 		"This indicates that a mailbox event has occurred.", \
864 		ACTION_NONE, \
865 		NULL, \
866 		0)
867 
868 	DEFINE_MSG(501, \
869 		emlxs_mbox_detail_msg, \
870 		"Mailbox detail.", \
871 		EMLXS_DEBUG, \
872 		MSG_MBOX_DETAIL, \
873 		"This provides detailed information about a mailbox event.", \
874 		ACTION_NONE, \
875 		NULL, \
876 		0)
877 
878 	DEFINE_MSG(510, \
879 		emlxs_stray_mbox_intr_msg, \
880 		"Stray mailbox interrupt.", \
881 		EMLXS_DEBUG, \
882 		MSG_MBOX, \
883 		"This indicates that a mailbox command completion interrupt " \
884 		"was received and the mailbox is not valid. This error could " \
885 		"indicate a driver or firmware problem.", \
886 		ACTION_NONE_REP, \
887 		DDI_FM_DEVICE_INTERN_UNCORR, \
888 		DDI_SERVICE_DEGRADED)
889 
890 	DEFINE_MSG(520, \
891 		emlxs_mbox_completion_error_msg, \
892 		"Mailbox error.", \
893 		EMLXS_DEBUG, \
894 		MSG_MBOX, \
895 		"This indicates that an unsupported or illegal mailbox " \
896 		"command was completed. This error could indicate a driver " \
897 		"or firmware problem.", \
898 		ACTION_NONE_REP, \
899 		DDI_FM_DEVICE_INTERN_UNCORR, \
900 		DDI_SERVICE_DEGRADED)
901 
902 	DEFINE_MSG(530, \
903 		emlxs_mbox_timeout_msg, \
904 		"Mailbox timeout.", \
905 		EMLXS_ERROR, \
906 		MSG_MBOX, \
907 		"The firmware did not response a mailbox command. " \
908 		"This error could indicate a hardware or firmware problem.", \
909 		ACTION_NONE_REP, \
910 		DDI_FM_DEVICE_NO_RESPONSE, \
911 		DDI_SERVICE_LOST)
912 
913 
914 	/* GROUP:  NODE		600 - 699 */
915 
916 	DEFINE_MSG(600, \
917 		emlxs_node_create_msg, \
918 		"Node create.", \
919 		EMLXS_DEBUG, \
920 		MSG_NODE, \
921 		"This indicates that a node has been created for a " \
922 		"remote device.", \
923 		ACTION_NONE, \
924 		NULL, \
925 		0)
926 
927 	DEFINE_MSG(601, \
928 		emlxs_node_opened_msg, \
929 		"Node opened.", \
930 		EMLXS_DEBUG, \
931 		MSG_NODE_DETAIL, \
932 		"This indicates that a node has been opened for " \
933 		"IO transport.", \
934 		ACTION_NONE, \
935 		NULL, \
936 		0)
937 
938 	DEFINE_MSG(602, \
939 		emlxs_node_create_failed_msg, \
940 		"Node create failed.", \
941 		EMLXS_NOTICE, \
942 		MSG_NODE, \
943 		"This indicates that a node create request for a remote " \
944 		"device has failed.", \
945 		ACTION_NONE, \
946 		NULL, \
947 		0)
948 
949 	DEFINE_MSG(603, \
950 		emlxs_node_update_msg, \
951 		"Node updated.", \
952 		EMLXS_DEBUG, \
953 		MSG_NODE, \
954 		"This indicates that a node has been updated for a " \
955 		"remote device.", \
956 		ACTION_NONE, \
957 		NULL, \
958 		0)
959 
960 	DEFINE_MSG(610, \
961 		emlxs_node_destroy_msg, \
962 		"Node destroy.", \
963 		EMLXS_DEBUG, \
964 		MSG_NODE, \
965 		"This indicates that a node has been destroyed for a " \
966 		"remote device.", \
967 		ACTION_NONE, \
968 		NULL, \
969 		0)
970 
971 	DEFINE_MSG(611, \
972 		emlxs_node_closed_msg, \
973 		"Node closed.", \
974 		EMLXS_DEBUG, \
975 		MSG_NODE_DETAIL, \
976 		"This indicates that a node has been temporarily " \
977 		"closed for IO transport.", \
978 		ACTION_NONE, \
979 		NULL, \
980 		0)
981 
982 	DEFINE_MSG(612, \
983 		emlxs_node_missing_msg, \
984 		"Node missing.", \
985 		EMLXS_NOTICE, \
986 		MSG_NODE, \
987 		"This indicates that a FCP2 device node has been " \
988 		"found missing.", \
989 		ACTION_NONE, \
990 		NULL, \
991 		0)
992 
993 	DEFINE_MSG(620, \
994 		emlxs_node_not_found_msg, \
995 		"Node not found.", \
996 		EMLXS_DEBUG, \
997 		MSG_NODE, \
998 		"This indicates that there was an attempt to send an I/O pkt " \
999 		"to an unknown device node. The driver maintains a node " \
1000 		"table entry for every device it needs to communicate with " \
1001 		"on the FC network.", \
1002 		ACTION_NONE_REP, \
1003 		NULL, \
1004 		0)
1005 
1006 	DEFINE_MSG(621, \
1007 		emlxs_node_timeout_msg, \
1008 		"Node timeout.", \
1009 		EMLXS_DEBUG, \
1010 		MSG_NODE, \
1011 		"This indicates that the node timer expired. " \
1012 		"This means the node is ready to be opened or " \
1013 		"it has been offline too long and needs to be flushed.", \
1014 		ACTION_NONE, \
1015 		NULL, \
1016 		0)
1017 
1018 	/* GROUP:  LINK		700 - 799 */
1019 
1020 	DEFINE_MSG(700, \
1021 		emlxs_link_event_msg, \
1022 		"Link event.", \
1023 		EMLXS_DEBUG, \
1024 		MSG_LINK | MSG_SLI, \
1025 		"This indicates that a link event has occurred.", \
1026 		ACTION_NONE, \
1027 		NULL, \
1028 		0)
1029 
1030 	DEFINE_MSG(710, \
1031 		emlxs_link_down_msg, \
1032 		"Link down.", \
1033 		EMLXS_NOTICE, \
1034 		MSG_LINK, \
1035 		"This indicates that the fibre channel link is down to " \
1036 		"the adapter.", \
1037 		ACTION_CHK_CONN, \
1038 		NULL, \
1039 		0)
1040 
1041 	DEFINE_MSG(720, \
1042 		emlxs_link_up_msg, \
1043 		"Link up.", \
1044 		EMLXS_NOTICE, \
1045 		MSG_LINK, \
1046 		"This indicates that the fibre channel link is up.", \
1047 		ACTION_NONE, \
1048 		NULL, \
1049 		0)
1050 
1051 	DEFINE_MSG(721, \
1052 		emlxs_npiv_link_up_msg, \
1053 		"NPIV Link up.", \
1054 		EMLXS_NOTICE, \
1055 		MSG_LINK, \
1056 		"This indicates that the fibre channel link is up for all " \
1057 		"virtual ports.", \
1058 		ACTION_NONE, \
1059 		NULL, \
1060 		0)
1061 
1062 	DEFINE_MSG(730, \
1063 		emlxs_link_reset_msg, \
1064 		"Link reset.", \
1065 		EMLXS_NOTICE, \
1066 		MSG_LINK | MSG_SFS, \
1067 		"This indicates that an issue has forced the fibre channel " \
1068 		"link to be reset.", \
1069 		ACTION_NONE, \
1070 		NULL, \
1071 		0)
1072 
1073 	DEFINE_MSG(731, \
1074 		emlxs_link_reset_failed_msg, \
1075 		"Link reset failed.", \
1076 		EMLXS_ERROR, \
1077 		MSG_LINK | MSG_SFS, \
1078 		"This indicates that an attempt to reset the fibre channel " \
1079 		"link has failed.", \
1080 		ACTION_NONE_REP, \
1081 		DDI_FM_DEVICE_INTERN_CORR, \
1082 		DDI_SERVICE_DEGRADED)
1083 
1084 
1085 
1086 	/* GROUP:  ELS		800 - 899 */
1087 
1088 	DEFINE_MSG(800, \
1089 		emlxs_els_send_msg, \
1090 		"ELS sent. ", \
1091 		EMLXS_DEBUG, \
1092 		MSG_ELS, \
1093 		"This indicates that an ELS command is being sent.", \
1094 		ACTION_NONE, \
1095 		NULL, \
1096 		0)
1097 
1098 	DEFINE_MSG(801, \
1099 		emlxs_els_completion_msg, \
1100 		"ELS comp. ", \
1101 		EMLXS_DEBUG, \
1102 		MSG_ELS, \
1103 		"This indicates that an ELS command completed normally.", \
1104 		ACTION_NONE, \
1105 		NULL, \
1106 		0)
1107 
1108 	DEFINE_MSG(810, \
1109 		emlxs_stray_els_completion_msg, \
1110 		"Stray ELS completion.", \
1111 		EMLXS_ERROR, \
1112 		MSG_ELS, \
1113 		"This indicates that the an ELS command completion was " \
1114 		"received without issuing a corresponding ELS command. " \
1115 		"This error could indicate a driver or firmware problem. ", \
1116 		ACTION_NONE_REP, \
1117 		DDI_FM_DEVICE_INTERN_UNCORR, \
1118 		DDI_SERVICE_DEGRADED)
1119 
1120 	DEFINE_MSG(811, \
1121 		emlxs_bad_els_completion_msg, \
1122 		"Abnormal ELS completion.", \
1123 		EMLXS_DEBUG, \
1124 		MSG_ELS, \
1125 		"This indicates that an ELS command completed with a status " \
1126 		"error in the IOCB. It could mean the Fibre Channel device " \
1127 		"on the network is not responding or the Fibre Channel " \
1128 		"device is not an FCP target. The driver will automatically ", \
1129 		"retry this ELS command if needed. If the command is a PLOGI " \
1130 		"or PRLI, and the destination PortID is not an FCP Target, " \
1131 		"no action is needed. Otherwise, check physical connections " \
1132 		"to Fibre Channel network and the state the remote PortID " \
1133 		"is in.", \
1134 		NULL, \
1135 		0)
1136 
1137 	DEFINE_MSG(820, \
1138 		emlxs_unsol_els_msg, \
1139 		"ELS rcvd. ", \
1140 		EMLXS_DEBUG, \
1141 		MSG_ELS, \
1142 		"This indicates that an unsolicited ELS command was " \
1143 		"received.", \
1144 		ACTION_NONE, \
1145 		NULL, \
1146 		0)
1147 
1148 	DEFINE_MSG(821, \
1149 		emlxs_unsol_els_dropped_msg, \
1150 		"Unsolicited ELS dropped.", \
1151 		EMLXS_DEBUG, \
1152 		MSG_ELS, \
1153 		"This indicates that an unsolicited ELS command was " \
1154 		"received and then dropped for some reason.", \
1155 		ACTION_NONE, \
1156 		NULL, \
1157 		0)
1158 
1159 	DEFINE_MSG(822, \
1160 		emlxs_els_reply_msg, \
1161 		"ELS reply.", \
1162 		EMLXS_DEBUG, \
1163 		MSG_ELS, \
1164 		"This indicates that a reply is being sent for an " \
1165 		"unsolicited ELS command.", \
1166 		ACTION_NONE, \
1167 		NULL, \
1168 		0)
1169 
1170 	DEFINE_MSG(830, \
1171 		emlxs_invalid_els_msg, \
1172 		"Invalid ELS command found.", \
1173 		EMLXS_ERROR, \
1174 		MSG_ELS, \
1175 		"This indicates that an ELS command was found with an " \
1176 		"invalid command code.", \
1177 		ACTION_NONE_REP, \
1178 		DDI_FM_DEVICE_INTERN_UNCORR, \
1179 		DDI_SERVICE_UNAFFECTED)
1180 
1181 
1182 	/* GROUP:  PKT		900 - 999 */
1183 
1184 
1185 	DEFINE_MSG(900, \
1186 		emlxs_pkt_abort_msg, \
1187 		"Packet abort.", \
1188 		EMLXS_NOTICE, \
1189 		MSG_PKT, \
1190 		"This indicates that an I/O packet is being aborted.", \
1191 		ACTION_NONE, \
1192 		NULL, \
1193 		0)
1194 
1195 	DEFINE_MSG(901, \
1196 		emlxs_pkt_abort_failed_msg, \
1197 		"Packet abort failed.", \
1198 		EMLXS_WARNING, \
1199 		MSG_PKT, \
1200 		"This indicates that an attempt to abort an I/O packet " \
1201 		"has failed.", \
1202 		ACTION_NONE_REP, \
1203 		NULL, \
1204 		0)
1205 
1206 	DEFINE_MSG(910, \
1207 		emlxs_pkt_timeout_msg, \
1208 		"Packet timeout.", \
1209 		EMLXS_DEBUG, \
1210 		MSG_PKT, \
1211 		"This indicates that an I/O packet has timed out and is " \
1212 		"being aborted.", \
1213 		ACTION_NONE, \
1214 		NULL, \
1215 		0)
1216 
1217 	DEFINE_MSG(911, \
1218 		emlxs_chan_watchdog_msg, \
1219 		"CHANNEL watchdog.", \
1220 		EMLXS_DEBUG, \
1221 		MSG_PKT, \
1222 		"This indicates that IO(s) are getting stale waiting on a " \
1223 		"IO channel tx queue.", \
1224 		ACTION_NONE, \
1225 		NULL, \
1226 		0)
1227 
1228 	DEFINE_MSG(912, \
1229 		emlxs_txq_watchdog_msg, \
1230 		"TXQ watchdog.", \
1231 		EMLXS_DEBUG, \
1232 		MSG_PKT, \
1233 		"This indicates that an IO was found missing from the " \
1234 		"transmit queue.", \
1235 		ACTION_NONE, \
1236 		NULL, \
1237 		0)
1238 
1239 	DEFINE_MSG(920, \
1240 		emlxs_pkt_flush_msg, \
1241 		"Packet flush.", \
1242 		EMLXS_DEBUG, \
1243 		MSG_PKT, \
1244 		"This indicates that an I/O packet is being flushed.", \
1245 		ACTION_NONE, \
1246 		NULL, \
1247 		0)
1248 
1249 	DEFINE_MSG(921, \
1250 		emlxs_pkt_flushed_msg, \
1251 		"Packet flushed.", \
1252 		EMLXS_DEBUG, \
1253 		MSG_PKT, \
1254 		"This indicates that an I/O packet has been flushed.", \
1255 		ACTION_NONE, \
1256 		NULL, \
1257 		0)
1258 
1259 	DEFINE_MSG(922, \
1260 		emlxs_flush_timeout_msg, \
1261 		"Packet flush timeout.", \
1262 		EMLXS_NOTICE, \
1263 		MSG_PKT, \
1264 		"This indicates that an I/O packet flush request has " \
1265 		"timed out with some I/O packets's still not completed. " \
1266 		"The driver will attempt to recover by itself.", \
1267 		ACTION_NONE_REP, \
1268 		NULL, \
1269 		0)
1270 
1271 	DEFINE_MSG(930, \
1272 		emlxs_pkt_trans_failed_msg, \
1273 		"Packet transport failed.", \
1274 		EMLXS_NOTICE, \
1275 		MSG_PKT, \
1276 		"This indicates that an attempt to send an I/O packet " \
1277 		"failed. The I/O packet will be retried by the upper layer.", \
1278 		ACTION_NONE, \
1279 		NULL, \
1280 		0)
1281 
1282 	DEFINE_MSG(931, \
1283 		emlxs_pkt_trans_error_msg, \
1284 		"Packet transport error.", \
1285 		EMLXS_ERROR, \
1286 		MSG_PKT, \
1287 		"This indicates that an error occurred while attempting to " \
1288 		"send an I/O packet. The I/O packet will likely be failed " \
1289 		"back to the user application.", \
1290 		ACTION_NONE_REP, \
1291 		DDI_FM_DEVICE_INTERN_CORR, \
1292 		DDI_SERVICE_UNAFFECTED)
1293 
1294 	DEFINE_MSG(932, \
1295 		emlxs_pkt_trans_msg, \
1296 		"Packet transport.", \
1297 		EMLXS_DEBUG, \
1298 		MSG_PKT, \
1299 		"This provides additional information about a packet " \
1300 		"being sent.", \
1301 		ACTION_NONE, \
1302 		NULL, \
1303 		0)
1304 
1305 	DEFINE_MSG(940, \
1306 		emlxs_pkt_completion_error_msg, \
1307 		"Packet completion error.", \
1308 		EMLXS_DEBUG, \
1309 		MSG_PKT, \
1310 		"This indicates that an I/O packet was completed with an " \
1311 		"error status. This can occur during normal operation.", \
1312 		ACTION_NONE_REP, \
1313 		NULL, \
1314 		0)
1315 
1316 
1317 	/* GROUP:  FCP		1000 - 1099 */
1318 
1319 	DEFINE_MSG(1000, \
1320 		emlxs_stray_fcp_completion_msg, \
1321 		"Stray FCP completion.", \
1322 		EMLXS_DEBUG, \
1323 		MSG_FCP, \
1324 		"This indicates that an FCP command completion was received " \
1325 		"without issuing a corresponding FCP Command. This error " \
1326 		"could indicate a driver or firmware problem.", \
1327 		ACTION_NONE_REP, \
1328 		DDI_FM_DEVICE_INTERN_UNCORR, \
1329 		DDI_SERVICE_DEGRADED)
1330 
1331 	DEFINE_MSG(1001, \
1332 		emlxs_fcp_completion_error_msg, \
1333 		"FCP completion error.", \
1334 		EMLXS_DEBUG, \
1335 		MSG_FCP, \
1336 		"This indicates that an FCP command completed with an error " \
1337 		"status. These errors can occur during normal operation.", \
1338 		ACTION_NONE, \
1339 		NULL, \
1340 		0)
1341 
1342 
1343 	/* GROUP:  FCT		1100 - 1199 */
1344 
1345 #ifdef SFCT_SUPPORT
1346 	DEFINE_MSG(1100,\
1347 		emlxs_fct_detail_msg,\
1348 		"FCT detail.",\
1349 		EMLXS_DEBUG,\
1350 		MSG_FCT_DETAIL,\
1351 		"This provides detailed information about the driver's " \
1352 		"FCT interface.",\
1353 		ACTION_NONE, \
1354 		NULL, \
1355 		0)
1356 
1357 	DEFINE_MSG(1110,\
1358 		emlxs_fct_debug_msg,\
1359 		"FCT debug.",\
1360 		EMLXS_DEBUG,\
1361 		MSG_FCT,\
1362 		"This provides general information about the driver's " \
1363 		"FCT interface.",\
1364 		ACTION_NONE, \
1365 		NULL, \
1366 		0)
1367 
1368 	DEFINE_MSG(1120,\
1369 		emlxs_fct_error_msg,\
1370 		"FCT error.",\
1371 		EMLXS_DEBUG,\
1372 		MSG_FCT,\
1373 		"This indicates a general error has occurred in the driver's " \
1374 		"FCT interface.",\
1375 		ACTION_NONE_REP, \
1376 		NULL, \
1377 		0)
1378 
1379 	DEFINE_MSG(1130,\
1380 		emlxs_fct_api_msg,\
1381 		"FCT API.",\
1382 		EMLXS_DEBUG,\
1383 		MSG_FCT_API,\
1384 		"This provides an API trace with the driver's FCT interface.",\
1385 		ACTION_NONE, \
1386 		NULL, \
1387 		0)
1388 
1389 #endif /* SFCT_SUPPORT */
1390 
1391 	/* GROUP:  IP		1200 - 1299 */
1392 
1393 
1394 	DEFINE_MSG(1200, \
1395 		emlxs_ip_detail_msg, \
1396 		"IP detail. ", \
1397 		EMLXS_DEBUG, \
1398 		MSG_IP_DETAIL, \
1399 		"This provides detailed information about the driver's " \
1400 		"IP interface.", \
1401 		ACTION_NONE, \
1402 		NULL, \
1403 		0)
1404 
1405 	DEFINE_MSG(1210, \
1406 		emlxs_stray_ip_completion_msg, \
1407 		"Stray IP completion.", \
1408 		EMLXS_ERROR, \
1409 		MSG_IP, \
1410 		"This indicates that the an IP sequence completion was " \
1411 		"received without issuing a corresponding IP sequence. " \
1412 		"This error could indicate a driver or firmware problem. ", \
1413 		ACTION_NONE_REP, \
1414 		DDI_FM_DEVICE_INTERN_UNCORR, \
1415 		DDI_SERVICE_DEGRADED)
1416 
1417 	DEFINE_MSG(1211, \
1418 		emlxs_bad_ip_completion_msg, \
1419 		"Abnormal IP completion.", \
1420 		EMLXS_DEBUG, \
1421 		MSG_IP, \
1422 		"This indicates that an IP sequence completed with a status " \
1423 		"error in the IOCB. It could mean the Fibre Channel device " \
1424 		"on the network is not responding.", \
1425 		ACTION_NONE_ADM, \
1426 		NULL, \
1427 		0)
1428 
1429 	DEFINE_MSG(1220, \
1430 		emlxs_unsol_ip_dropped_msg, \
1431 		"Unsolicited IP dropped.", \
1432 		EMLXS_DEBUG, \
1433 		MSG_IP, \
1434 		"This indicates that an unsolicited IP sequence was " \
1435 		"received, but was dropped for some reason.", \
1436 		ACTION_NONE, \
1437 		NULL, \
1438 		0)
1439 
1440 	DEFINE_MSG(1221, \
1441 		emlxs_unsol_ip_debug_msg, \
1442 		"IP recvd.", \
1443 		EMLXS_DEBUG, \
1444 		MSG_IP, \
1445 		"This indicates that an unsolicited IP sequence was " \
1446 		"received.", \
1447 		ACTION_NONE, \
1448 		NULL, \
1449 		0)
1450 
1451 	DEFINE_MSG(1230, \
1452 		emlxs_invalid_ip_msg, \
1453 		"Invalid IP sequence found.", \
1454 		EMLXS_ERROR, \
1455 		MSG_IP, \
1456 		"This indicates that an IP sequence was found with an " \
1457 		"invalid code.", \
1458 		ACTION_NONE_REP, \
1459 		DDI_FM_DEVICE_INTERN_UNCORR, \
1460 		DDI_SERVICE_DEGRADED)
1461 
1462 
1463 	/* GROUP:  SFS		1300 - 1399 */
1464 
1465 	DEFINE_MSG(1300, \
1466 		emlxs_sfs_debug_msg, \
1467 		"SFS.", \
1468 		EMLXS_DEBUG, \
1469 		MSG_SFS, \
1470 		"This provides general information about the driver's " \
1471 		"SFS interface.", \
1472 		ACTION_NONE, \
1473 		NULL, \
1474 		0)
1475 
1476 	DEFINE_MSG(1301, \
1477 		emlxs_sfs_detail_msg, \
1478 		"SFS detail.", \
1479 		EMLXS_DEBUG, \
1480 		MSG_SFS_DETAIL, \
1481 		"This provides detailed information about the driver's " \
1482 		"SFS interface.", \
1483 		ACTION_NONE, \
1484 		NULL, \
1485 		0)
1486 
1487 	DEFINE_MSG(1310, \
1488 		emlxs_diag_error_msg, \
1489 		"Diagnostic error.", \
1490 		EMLXS_WARNING, \
1491 		MSG_SFS, \
1492 		"This indicates that a diagnostic request did not complete " \
1493 		"because of some issue.", \
1494 		ACTION_NONE_REP, \
1495 		NULL, \
1496 		0)
1497 
1498 	DEFINE_MSG(1311, \
1499 		emlxs_echo_complete_msg, \
1500 		"ECHO diagnostic completed.", \
1501 		EMLXS_DEBUG, \
1502 		MSG_SFS, \
1503 		"This indicates that an ECHO diagnostic has completed.", \
1504 		ACTION_NONE, \
1505 		NULL, \
1506 		0)
1507 
1508 	DEFINE_MSG(1312, \
1509 		emlxs_echo_failed_msg, \
1510 		"ECHO diagnostic failed.", \
1511 		EMLXS_WARNING, \
1512 		MSG_SFS, \
1513 		"This indicates that an ECHO diagnostic has failed to return " \
1514 		"a positive result. This could indicate a connectivity " \
1515 		"problem with your FC network.", \
1516 		ACTION_CHK_CONN, \
1517 		NULL, \
1518 		0)
1519 
1520 	DEFINE_MSG(1313, \
1521 		emlxs_biu_complete_msg, \
1522 		"BIU diagnostic completed.", \
1523 		EMLXS_DEBUG, \
1524 		MSG_SFS, \
1525 		"This indicates that an BIU diagnostic has completed.", \
1526 		ACTION_NONE, \
1527 		NULL, \
1528 		0)
1529 
1530 	DEFINE_MSG(1314, \
1531 		emlxs_biu_failed_msg, \
1532 		"BIU diagnostic failed.", \
1533 		EMLXS_ERROR, \
1534 		MSG_SFS, \
1535 		"This indicates that an BIU diagnostic has failed to return " \
1536 		"a positive result. This usually caused by an adapter " \
1537 		"hardware problem.", \
1538 		ACTION_REP, \
1539 		NULL, \
1540 		0)
1541 
1542 	DEFINE_MSG(1315, \
1543 		emlxs_post_complete_msg, \
1544 		"POST diagnostic completed.", \
1545 		EMLXS_DEBUG, \
1546 		MSG_SFS, \
1547 		"This indicates that an POST diagnostic has completed.", \
1548 		ACTION_NONE, \
1549 		NULL, \
1550 		0)
1551 
1552 	DEFINE_MSG(1316, \
1553 		emlxs_post_failed_msg, \
1554 		"POST diagnostic failed.", \
1555 		EMLXS_ERROR, \
1556 		MSG_SFS, \
1557 		"This indicates that an POST diagnostic has failed to return " \
1558 		"a positive result. This is usually caused by an adapter " \
1559 		"hardware problem.", \
1560 		ACTION_REP, \
1561 		NULL, \
1562 		0)
1563 
1564 
1565 	/* GROUP:  IOCTL	1400 - 1499 */
1566 
1567 
1568 	DEFINE_MSG(1400, \
1569 		emlxs_ioctl_debug_msg, \
1570 		"IOCTL.", \
1571 		EMLXS_DEBUG, \
1572 		MSG_IOCTL, \
1573 		"This provides general information about the driver's " \
1574 		"IOCTL interface.", \
1575 		ACTION_NONE, \
1576 		NULL, \
1577 		0)
1578 
1579 	DEFINE_MSG(1401, \
1580 		emlxs_ioctl_detail_msg, \
1581 		"IOCTL detail.", \
1582 		EMLXS_DEBUG, \
1583 		MSG_IOCTL_DETAIL, \
1584 		"This provides detailed information about the driver's " \
1585 		"IOCTL interface.", \
1586 		ACTION_NONE, \
1587 		NULL, \
1588 		0)
1589 
1590 	DEFINE_MSG(1410, \
1591 		emlxs_dfc_debug_msg, \
1592 		"DFC", \
1593 		EMLXS_DEBUG, \
1594 		MSG_IOCTL, \
1595 		"This provides general information about the driver's " \
1596 		"DFC interface.", \
1597 		ACTION_NONE, \
1598 		NULL, \
1599 		0)
1600 
1601 	DEFINE_MSG(1411, \
1602 		emlxs_dfc_detail_msg, \
1603 		"DFC detail.", \
1604 		EMLXS_DEBUG, \
1605 		MSG_IOCTL_DETAIL, \
1606 		"This provides detailed information about the driver's " \
1607 		"DFC interface.", \
1608 		ACTION_NONE, \
1609 		NULL, \
1610 		0)
1611 
1612 	DEFINE_MSG(1420, \
1613 		emlxs_dfc_error_msg, \
1614 		"DFC Error.", \
1615 		EMLXS_DEBUG, \
1616 		MSG_IOCTL, \
1617 		"This indicates that an error was found while processing a " \
1618 		"DFC request.", \
1619 		ACTION_NONE, \
1620 		NULL, \
1621 		0)
1622 
1623 
1624 
1625 	/* GROUP:  FIRMWARE	1500 - 1599 */
1626 
1627 	DEFINE_MSG(1500, \
1628 		emlxs_image_msg, \
1629 		"Firmware image.", \
1630 		EMLXS_DEBUG, \
1631 		MSG_FIRMWARE, \
1632 		"This provides information about the firmware image.", \
1633 		ACTION_NONE, \
1634 		NULL, \
1635 		0)
1636 
1637 	DEFINE_MSG(1501, \
1638 		emlxs_image_detail_msg, \
1639 		"Firmware detail.", \
1640 		EMLXS_DEBUG, \
1641 		MSG_FIRMWARE_DETAIL, \
1642 		"This provides detailed information about the firmware " \
1643 		"image.", \
1644 		ACTION_NONE, \
1645 		NULL, \
1646 		0)
1647 
1648 	DEFINE_MSG(1502, \
1649 		emlxs_image_library_msg, \
1650 		"Firmware Library", \
1651 		EMLXS_NOTICE, \
1652 		MSG_DRIVER, \
1653 		"This shows the versions of firmware contained in the " \
1654 		"driver's library.", \
1655 		ACTION_NONE, \
1656 		NULL, \
1657 		0)
1658 
1659 	DEFINE_MSG(1510, \
1660 		emlxs_image_bad_msg, \
1661 		"Bad firmware image.", \
1662 		EMLXS_ERROR, \
1663 		MSG_FIRMWARE, \
1664 		"This indicates that a bad firmware image was provided to " \
1665 		"the download function.", \
1666 		ACTION_IMG_REP, \
1667 		NULL, \
1668 		0)
1669 
1670 	DEFINE_MSG(1511, \
1671 		emlxs_image_incompat_msg, \
1672 		"Firmware image not compatible.", \
1673 		EMLXS_ERROR, \
1674 		MSG_FIRMWARE, \
1675 		"This indicates that the firmware image provided was not " \
1676 		"compatible with the existing hardware.", \
1677 		ACTION_IMG_REP, \
1678 		NULL, \
1679 		0)
1680 
1681 	DEFINE_MSG(1520, \
1682 		emlxs_download_msg, \
1683 		"Firmware download.", \
1684 		EMLXS_NOTICE, \
1685 		MSG_FIRMWARE, \
1686 		"This indicates that an attempt to download a firmware image " \
1687 		"has occurred.", \
1688 		ACTION_NONE, \
1689 		NULL, \
1690 		0)
1691 
1692 	DEFINE_MSG(1521, \
1693 		emlxs_download_complete_msg, \
1694 		"Firmware download complete.", \
1695 		EMLXS_NOTICE, \
1696 		MSG_FIRMWARE, \
1697 		"This indicates that an attempt to download a firmware image " \
1698 		"was successful.", \
1699 		ACTION_NONE, \
1700 		NULL, \
1701 		0)
1702 
1703 	DEFINE_MSG(1522, \
1704 		emlxs_download_failed_msg, \
1705 		"Firmware download failed.", \
1706 		EMLXS_ERROR, \
1707 		MSG_FIRMWARE, \
1708 		"This indicates that an attempt to download a firmware image " \
1709 		"was failed.", \
1710 		ACTION_CHK_HCFG, \
1711 		NULL, \
1712 		0)
1713 
1714 	DEFINE_MSG(1523, \
1715 		emlxs_fw_updated_msg, \
1716 		"Firmware updated.", \
1717 		EMLXS_WARNING, \
1718 		MSG_FIRMWARE, \
1719 		"This indicates that new firmware has been updated on the " \
1720 		"adapter.", \
1721 		"A reboot or adapter power cycle will be required to " \
1722 		"activate the new firmware.", \
1723 		NULL, \
1724 		0)
1725 
1726 	DEFINE_MSG(1530, \
1727 		emlxs_fw_dump_msg, \
1728 		"Firmware dump.", \
1729 		EMLXS_DEBUG, \
1730 		MSG_FIRMWARE, \
1731 		"This indicates that a firmware core dump has occurred.", \
1732 		ACTION_CHK_HCFG, \
1733 		NULL, \
1734 		0)
1735 
1736 	/* GROUP:  CT		1600 - 1699 */
1737 
1738 	DEFINE_MSG(1600, \
1739 		emlxs_ct_send_msg, \
1740 		"CT sent. ", \
1741 		EMLXS_DEBUG, \
1742 		MSG_CT, \
1743 		"This indicates that an CT command is being sent.", \
1744 		ACTION_NONE, \
1745 		NULL, \
1746 		0)
1747 
1748 	DEFINE_MSG(1601, \
1749 		emlxs_ct_completion_msg, \
1750 		"CT comp. ", \
1751 		EMLXS_DEBUG, \
1752 		MSG_CT, \
1753 		"This indicates that an CT command completed normally.", \
1754 		ACTION_NONE, \
1755 		NULL, \
1756 		0)
1757 
1758 	DEFINE_MSG(1610, \
1759 		emlxs_stray_ct_completion_msg, \
1760 		"Stray CT completion.", \
1761 		EMLXS_ERROR, \
1762 		MSG_CT, \
1763 		"This indicates that the an CT command completion was " \
1764 		"received without issuing a corresponding CT command. " \
1765 		"This error could indicate a driver or firmware problem. ", \
1766 		ACTION_NONE_REP, \
1767 		DDI_FM_DEVICE_INTERN_UNCORR, \
1768 		DDI_SERVICE_DEGRADED)
1769 
1770 	DEFINE_MSG(1611, \
1771 		emlxs_bad_ct_completion_msg, \
1772 		"Abnormal CT completion.", \
1773 		EMLXS_DEBUG, \
1774 		MSG_CT, \
1775 		"This indicates that an CT command completed with a status " \
1776 		"error in the IOCB. It could mean the Fibre Channel device " \
1777 		"on the network is not responding. The driver will " \
1778 		"automatically retry this CT command if needed.", \
1779 		"Check physical connections to Fibre Channel network and " \
1780 		"the state the remote PortID is in.", \
1781 		NULL, \
1782 		0)
1783 
1784 	DEFINE_MSG(1620, \
1785 		emlxs_unsol_ct_msg, \
1786 		"CT rcvd. ", \
1787 		EMLXS_DEBUG, \
1788 		MSG_CT, \
1789 		"This indicates that an unsolicited CT command was received.", \
1790 		ACTION_NONE, \
1791 		NULL, \
1792 		0)
1793 
1794 	DEFINE_MSG(1621, \
1795 		emlxs_unsol_ct_dropped_msg, \
1796 		"Unsolicited CT dropped.", \
1797 		EMLXS_DEBUG, \
1798 		MSG_CT, \
1799 		"This indicates that an unsolicited CT command was received " \
1800 		"and then dropped for some reason.", \
1801 		ACTION_NONE, \
1802 		NULL, \
1803 		0)
1804 
1805 	DEFINE_MSG(1622, \
1806 		emlxs_ct_reply_msg, \
1807 		"CT reply.", \
1808 		EMLXS_DEBUG, \
1809 		MSG_CT, \
1810 		"This indicates that a reply is being sent for an " \
1811 		"unsolicited CT command.", \
1812 		ACTION_NONE, \
1813 		NULL, \
1814 		0)
1815 
1816 	DEFINE_MSG(1630, \
1817 		emlxs_invalid_ct_msg, \
1818 		"Invalid CT command found.", \
1819 		EMLXS_ERROR, \
1820 		MSG_CT, \
1821 		"This indicates that an CT command was found with an invalid " \
1822 		"command code.", \
1823 		ACTION_NONE_REP, \
1824 		DDI_FM_DEVICE_INTERN_UNCORR, \
1825 		DDI_SERVICE_DEGRADED)
1826 
1827 	/* GROUP: FC-SP (DHCHAP)	1700 - 1799 */
1828 
1829 #ifdef DHCHAP_SUPPORT
1830 
1831 	DEFINE_MSG(1700, \
1832 		emlxs_fcsp_debug_msg, \
1833 		"FCSP", \
1834 		EMLXS_DEBUG, \
1835 		MSG_FCSP, \
1836 		"This provides general information about the driver's " \
1837 		"FCSP interface.", \
1838 		ACTION_NONE, \
1839 		NULL, \
1840 		0)
1841 
1842 	DEFINE_MSG(1701, \
1843 		emlxs_fcsp_detail_msg, \
1844 		"FCSP detail.", \
1845 		EMLXS_DEBUG, \
1846 		MSG_FCSP_DETAIL, \
1847 		"This provides detailed information about the driver's " \
1848 		"FCSP interface.", \
1849 		ACTION_NONE, \
1850 		NULL, \
1851 		0)
1852 
1853 	DEFINE_MSG(1702, \
1854 		emlxs_fcsp_error_msg, \
1855 		"FCSP error.", \
1856 		EMLXS_DEBUG, \
1857 		MSG_FCSP, \
1858 		"This indicates that an error was found while processing " \
1859 		"a DFC request.", \
1860 		ACTION_NONE, \
1861 		NULL, \
1862 		0)
1863 
1864 	DEFINE_MSG(1705, \
1865 		emlxs_fcsp_state_msg, \
1866 		"FCSP state.", \
1867 		EMLXS_DEBUG, \
1868 		MSG_FCSP, \
1869 		"This indicates that an authentication state is changing.", \
1870 		ACTION_NONE, \
1871 		NULL, \
1872 		0)
1873 
1874 	DEFINE_MSG(1706, \
1875 		emlxs_fcsp_event_msg, \
1876 		"FCSP event", \
1877 		EMLXS_DEBUG, \
1878 		MSG_FCSP, \
1879 		"This indicates that an authentication event has occurred.", \
1880 		ACTION_NONE, \
1881 		NULL, \
1882 		0)
1883 
1884 	DEFINE_MSG(1707, \
1885 		emlxs_fcsp_status_msg, \
1886 		"FCSP status.", \
1887 		EMLXS_DEBUG, \
1888 		MSG_FCSP, \
1889 		"This indicates that an authentication status is being " \
1890 		"updated.", \
1891 		ACTION_NONE, \
1892 		NULL, \
1893 		0)
1894 
1895 	DEFINE_MSG(1710, \
1896 		emlxs_fcsp_start_msg, \
1897 		"FCSP start.", \
1898 		EMLXS_DEBUG, \
1899 		MSG_FCSP, \
1900 		"This indicates that authentication is being started to a " \
1901 		"specific node.", \
1902 		ACTION_NONE, \
1903 		NULL, \
1904 		0)
1905 
1906 	DEFINE_MSG(1720, \
1907 		emlxs_fcsp_complete_msg, \
1908 		"FCSP comp. ", \
1909 		EMLXS_DEBUG, \
1910 		MSG_FCSP, \
1911 		"This indicates that authentication is being stopped or " \
1912 		"completed to a specific node.", \
1913 		ACTION_NONE, \
1914 		NULL, \
1915 		0)
1916 #endif	/* DHCHAP_SUPPORT */
1917 
1918 #ifdef DEF_MSG_REPORT
1919 };	/* emlxs_message[] */
1920 #endif /* DEF_MSG_REPORT */
1921 
1922 #ifdef	__cplusplus
1923 }
1924 #endif
1925 
1926 #endif	/* _EMLXS_MESSAGES_H */
1927