]> git.saurik.com Git - apple/xnu.git/blame - osfmk/kern/etap_options.h
xnu-517.tar.gz
[apple/xnu.git] / osfmk / kern / etap_options.h
CommitLineData
1c79356b
A
1/*
2 * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
43866e37 6 * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
1c79356b 7 *
43866e37
A
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
1c79356b
A
17 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
18 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
43866e37
A
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.
1c79356b
A
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_ */