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