]> git.saurik.com Git - apple/xnu.git/blob - osfmk/kern/etap_options.h
xnu-344.49.tar.gz
[apple/xnu.git] / osfmk / kern / etap_options.h
1 /*
2 * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
7 *
8 * This file contains Original Code and/or Modifications of Original Code
9 * as defined in and that are subject to the Apple Public Source License
10 * Version 2.0 (the 'License'). You may not use this file except in
11 * compliance with the License. Please obtain a copy of the License at
12 * http://www.opensource.apple.com/apsl/ and read it before using this
13 * file.
14 *
15 * The Original Code and all software distributed under the License are
16 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
17 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
18 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
20 * Please see the License for the specific language governing rights and
21 * limitations under the License.
22 *
23 * @APPLE_LICENSE_HEADER_END@
24 */
25 /*
26 * @OSF_COPYRIGHT@
27 *
28 */
29 /*
30 * HISTORY
31 *
32 * Revision 1.1.1.1 1998/09/22 21:05:35 wsanchez
33 * Import of Mac OS X kernel (~semeria)
34 *
35 * Revision 1.1.1.1 1998/03/07 02:25:54 wsanchez
36 * Import of OSF Mach kernel (~mburg)
37 *
38 * Revision 1.1.9.2 1995/10/09 17:13:48 devrcs
39 * Merged in RT3_SHARED ETAP code.
40 * [1995/09/13 18:34:10 joe]
41 *
42 * Revision 1.1.6.1 1995/05/11 20:57:18 burke
43 * Update ETAP changes.
44 * [1995/05/09 17:15:03 burke]
45 *
46 * Revision 1.1.9.1 1995/09/18 19:13:34 devrcs
47 * Merged in RT3_SHARED ETAP code.
48 * [1995/09/13 18:34:10 joe]
49 *
50 * Revision 1.1.6.1 1995/05/11 20:57:18 burke
51 * Update ETAP changes.
52 * [1995/05/09 17:15:03 burke]
53 *
54 * Revision 1.1.3.1 1994/12/14 18:55:51 joe
55 * ETAP nswc merge
56 * [1994/12/14 17:07:33 joe]
57 *
58 * Revision 1.1.1.2 1994/12/12 15:34:48 joe
59 * Initial check-in
60 *
61 * $EndLog$
62 */
63 /*
64 * ETAP build options are selected using the config.debug configuration file.
65 *
66 * ETAP options are:
67 * ETAP_LOCK_ACCUMULATE - Cumulative lock tracing
68 * ETAP_LOCK_MONITOR - Monitor lock behavior
69 * ETAP_EVENT_MONITOR - Monitor general events
70 *
71 * Derived options are:
72 * ETAP_LOCK_TRACE - Equals one if either cumulative or monitored
73 * lock tracing is configured (zero otherwise).
74 * ETAP_MONITOR - Equals one if either lock or event monitoring
75 * is configured (zero otherwise).
76 */
77
78 #ifndef _KERN_ETAP_OPTIONS_H_
79 #define _KERN_ETAP_OPTIONS_H_
80
81 #ifdef ETAP_DYNAMIC_OPTIONS
82 #include <etap.h>
83 #include <etap_lock_monitor.h>
84 #include <etap_lock_accumulate.h>
85 #include <etap_event_monitor.h>
86 #else
87 #define ETAP 0
88 #define ETAP_LOCK_MONITOR 0
89 #define ETAP_LOCK_ACCUMULATE 0
90 #define ETAP_EVENT_MONITOR 0
91 #endif
92
93 #if ETAP_LOCK_MONITOR || ETAP_LOCK_ACCUMULATE
94 #define ETAP_LOCK_TRACE 1
95 #else /* ETAP_LOCK_MONITOR || ETAP_LOCK_ACCUMULATE */
96 #define ETAP_LOCK_TRACE 0
97 #endif /* ETAP_LOCK_MONITOR || ETAP_LOCK_ACCUMULATE */
98
99 #if ETAP_LOCK_MONITOR || ETAP_EVENT_MONITOR
100 #define ETAP_MONITOR 1
101 #else /* ETAP_LOCK_MONITOR || ETAP_EVENT_MONITOR */
102 #define ETAP_MONITOR 0
103 #endif /* ETAP_LOCK_MONITOR || ETAP_EVENT_MONITOR */
104
105 #endif /* _KERN_ETAP_OPTIONS_H_ */