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 1997 Sun Microsystems, Inc.  All rights reserved.
24  * Use is subject to license terms.
25  */
26 
27 #ifndef _ATA_DEBUG_H
28 #define	_ATA_DEBUG_H
29 
30 #ifdef	__cplusplus
31 extern "C" {
32 #endif
33 
34 /*
35  * debugging options
36  */
37 
38 /*
39  * Always print "real" error messages on non-debugging kernels
40  */
41 
42 #ifdef	ATA_DEBUG
43 #define	ADBG_ERROR(fmt)		ADBG_FLAG_CHK(ADBG_FLAG_ERROR, fmt)
44 #else
45 #define	ADBG_ERROR(fmt)	ghd_err fmt
46 #endif
47 
48 /*
49  * ... everything else is conditional on the ATA_DEBUG preprocessor symbol
50  */
51 
52 #define	ADBG_WARN(fmt)		ADBG_FLAG_CHK(ADBG_FLAG_WARN, fmt)
53 #define	ADBG_TRACE(fmt)		ADBG_FLAG_CHK(ADBG_FLAG_TRACE, fmt)
54 #define	ADBG_INIT(fmt)		ADBG_FLAG_CHK(ADBG_FLAG_INIT, fmt)
55 #define	ADBG_TRANSPORT(fmt)	ADBG_FLAG_CHK(ADBG_FLAG_TRANSPORT, fmt)
56 #define	ADBG_DMA(fmt)		ADBG_FLAG_CHK(ADBG_FLAG_DMA, fmt)
57 #define	ADBG_ARQ(fmt)		ADBG_FLAG_CHK(ADBG_FLAG_ARQ, fmt)
58 
59 
60 
61 
62 extern int ata_debug;
63 
64 #define	ADBG_FLAG_ERROR		0x0001
65 #define	ADBG_FLAG_WARN		0x0002
66 #define	ADBG_FLAG_TRACE		0x0004
67 #define	ADBG_FLAG_INIT		0x0008
68 #define	ADBG_FLAG_TRANSPORT	0x0010
69 #define	ADBG_FLAG_DMA		0x0020
70 #define	ADBG_FLAG_ARQ		0x0040
71 
72 
73 
74 #ifdef	ATA_DEBUG
75 #define	ADBG_FLAG_CHK(flag, fmt) if (ata_debug & (flag)) GDBG_PRF(fmt)
76 #else
77 #define	ADBG_FLAG_CHK(flag, fmt)
78 #endif
79 
80 
81 
82 #ifdef	__cplusplus
83 }
84 #endif
85 
86 #endif /* _ATA_DEBUG_H */
87