Root/
Source at commit 2920 created 5 years 9 months ago. By ifabio, typo | |
---|---|
1 | /*␊ |
2 | * Copyright � 2009 Apple Inc. All rights reserved.␊ |
3 | *␊ |
4 | * @APPLE_LICENSE_HEADER_START@␊ |
5 | * ␊ |
6 | * This file contains Original Code and/or Modifications of Original Code␊ |
7 | * as defined in and that are subject to the Apple Public Source License␊ |
8 | * Version 2.0 (the 'License'). You may not use this file except in␊ |
9 | * compliance with the License. Please obtain a copy of the License at␊ |
10 | * http://www.opensource.apple.com/apsl/ and read it before using this␊ |
11 | * file.␊ |
12 | * ␊ |
13 | * The Original Code and all software distributed under the License are␊ |
14 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER␊ |
15 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,␊ |
16 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,␊ |
17 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.␊ |
18 | * Please see the License for the specific language governing rights and␊ |
19 | * limitations under the License.␊ |
20 | * ␊ |
21 | * @APPLE_LICENSE_HEADER_END@␊ |
22 | */␊ |
23 | ␊ |
24 | #ifndef __IOKIT_IO_USB_FAMILY_TRACEPOINTS__␊ |
25 | #define __IOKIT_IO_USB_FAMILY_TRACEPOINTS__␊ |
26 | ␊ |
27 | #include <IOKit/IOTypes.h>␊ |
28 | ␊ |
29 | #include <sys/kdebug.h>␊ |
30 | ␊ |
31 | #ifdef __cplusplus␊ |
32 | extern "C" {␊ |
33 | #endif␊ |
34 | ␉␊ |
35 | #define USB_SYSCTL␉␉␉"debug.USB"␊ |
36 | #define kUSBTypeDebug␉␉'USBD'␊ |
37 | #define DEBUG_UNUSED( X )␉( void )( X )␊ |
38 | ␉␊ |
39 | ␉extern UInt32 gUSBStackDebugFlags;␊ |
40 | ␉␊ |
41 | ␉typedef struct USBSysctlArgs␊ |
42 | ␉␉{␊ |
43 | ␉␉␉uint32_t␉␉type;␊ |
44 | ␉␉␉uint32_t␉␉operation;␊ |
45 | ␉␉␉uint32_t␉␉debugFlags;␊ |
46 | ␉␉} USBSysctlArgs;␊ |
47 | ␉␊ |
48 | ␉enum␊ |
49 | ␉{␊ |
50 | ␉␉kUSBOperationGetFlags ␉= 0,␊ |
51 | ␉␉kUSBOperationSetFlags␉= 1␊ |
52 | ␉};␊ |
53 | ␉␊ |
54 | ␉// the following bits/masks are for use in the usb boot args␊ |
55 | ␉// e.g. boot-args="usb=0x102" will turn on Trace Points and set the EHCI retry count to 1␊ |
56 | ␉// the bits can also be set with a sysctl call␊ |
57 | ␉enum␊ |
58 | ␉{␊ |
59 | ␉␉kUSBEnableDebugLoggingBit␉␉= 0,␉// bit 0 currently not used␊ |
60 | ␉␉kUSBEnableTracePointsBit␉␉= 1,␉// bit 1 used to turn on Trace Points when a USB controller first loads␊ |
61 | ␉␉kUSBEnableErrorLogBit␉␉␉= 2,␉// bit 2 (4) turns level 1 log for errors␊ |
62 | ␉␉kUSBDebugRetryCountShift␉␉= 8,␉// bits 8 and 9 will set the retry count for low level bus transactions␊ |
63 | ␉␉kUSBDebugRetryCountReserved␉␉= 9,␉// must be 1, 2, or 3 (0 is invalid, 3 is the default)␊ |
64 | ␉␉␊ |
65 | ␉␉kUSBEnableDebugLoggingMask␉␉= (1 << kUSBEnableDebugLoggingBit),␊ |
66 | ␉␉kUSBEnableTracePointsMask␉␉= (1 << kUSBEnableTracePointsBit),␊ |
67 | ␉␉kUSBDebugRetryCountMask␉␉␉= (3 << kUSBDebugRetryCountShift),␊ |
68 | ␉␉kUSBEnableErrorLogMask␉␉␉␉= (1 << kUSBEnableErrorLogBit)␊ |
69 | ␉};␊ |
70 | ␉␊ |
71 | ␉␊ |
72 | ␉/* Kernel Tracepoints␊ |
73 | ␉ *␊ |
74 | ␉ * Kernel tracepoints are a logging mechanism reduces the size of a log-laden binary.␊ |
75 | ␉ * Codes are placed into a buffer, from the kernel, and picked up by a userspace␊ |
76 | ␉ * tool that displays a unique log message for each tracepoint. Additionally, each␊ |
77 | ␉ * tracepoint may contain up-to four 32-bit (may change with LP64) arguments. ␊ |
78 | ␉ *␊ |
79 | ␉ * To add a tracepoint, use the code below as an example:␊ |
80 | ␉ * USBTrace( kUSBTController, kTPControllerStart, (uintptr_t)myArgValue );␊ |
81 | ␉ * Next, add the corresponding tracepoint code in the USBTracer tool, using␊ |
82 | ␉ * the existing examples. Avoid using confidential information in the log strings.␊ |
83 | ␉ * Some functions have a argument counter, to signify which of the function's tracepoints␊ |
84 | ␉ * are actually being logged. When adding a tracepoint using an existing code, you␊ |
85 | ␉ * must verify that you increment this argument counter properly.␊ |
86 | ␉ *␊ |
87 | ␉ * The trace codes consist of the following:␊ |
88 | ␉ *␊ |
89 | ␉ * ----------------------------------------------------------------------␊ |
90 | ␉ *| Class (8) | SubClass (8) | USBGroup(6) | Code (8) |Func |␊ |
91 | ␉ *| DBG_IOKIT | DBG_IOUSB | | |Qual(2)|␊ |
92 | ␉ * ----------------------------------------------------------------------␊ |
93 | ␉ *␊ |
94 | ␉ * DBG_IOKIT(05h) DBG_IOUSB(2Dh)␊ |
95 | ␉ *␊ |
96 | ␉ * See <sys/kdebug.h> and IOTimeStamp.h for more details.␊ |
97 | ␉ */␊ |
98 | ␉␊ |
99 | ␉␊ |
100 | ␉// USB groupings (max of 64)␊ |
101 | ␉enum␊ |
102 | ␉{␊ |
103 | ␉␉// Family groupings␊ |
104 | ␉␉kUSBTController␉␉␉␉= 0,␊ |
105 | ␉␉kUSBTControllerUserClient␉= 1,␊ |
106 | ␉␉␊ |
107 | ␉␉kUSBTDevice␉␉␉␉␉= 2,␊ |
108 | ␉␉kUSBTDeviceUserClient␉␉= 3,␊ |
109 | ␊ |
110 | ␉␉kUSBTHub␉␉␉␉␉= 4,␊ |
111 | ␉␉kUSBTHubPort␉␉␉␉= 5,␊ |
112 | ␉␉kUSBTHSHubUserClient␉␉= 6,␊ |
113 | ␉␉kUSBTHID␉␉␉␉␉= 7,␊ |
114 | ␉␉kUSBTPipe␉␉␉␉␉= 8,␊ |
115 | ␊ |
116 | ␉␉kUSBTInterfaceUserClient␉= 9,␊ |
117 | ␉␉␊ |
118 | ␉␉kUSBTEnumeration␉␉␉␉= 10,␉␉// Tracepoints in various components to debug USB enumeration␊ |
119 | ␊ |
120 | ␉␉␊ |
121 | ␉␉// UIM groupings␊ |
122 | ␉␉kUSBTUHCI␉␉␉␉␉= 11,␊ |
123 | ␉␉kUSBTUHCIUIM␉␉␉␉= 12,␊ |
124 | ␉␉kUSBTUHCIInterrupts␉␉␉= 13,␊ |
125 | ␊ |
126 | ␉␉kUSBTOHCI␉␉␉␉␉= 14,␊ |
127 | ␉␉kUSBTOHCIInterrupts␉␉␉= 15,␊ |
128 | ␉␉␊ |
129 | ␉␉kUSBTEHCI␉␉␉␉␉= 20,␊ |
130 | ␉␉kUSBTEHCIHubInfo␉␉␉= 22,␊ |
131 | ␉␉kUSBTEHCIInterrupts␉␉␉= 23,␊ |
132 | ␉␉␊ |
133 | ␉␉// 30-33 reserved␊ |
134 | ␊ |
135 | ␉␉// 21-25 reserved␊ |
136 | ␉␉kUSBTHubPolicyMaker␉␉␉= 35,␊ |
137 | ␉␉kUSBTCompositeDriver␉␉= 36,␊ |
138 | ␉␉␊ |
139 | ␉␉// Actions␊ |
140 | ␉␉kUSBTOutstandingIO␉␉␉= 42,␊ |
141 | ␊ |
142 | ␉␉// kUSBAudio␊ |
143 | ␉␉kUSBAudio␉␉␉␉␉= 50␊ |
144 | ␊ |
145 | ␉␉// 61-63 reserved␊ |
146 | ␉};␊ |
147 | ␉␊ |
148 | ␉// USB Controller Tracepoints␉␉0x052D0000 - 0x052D03FF␊ |
149 | ␉// kUSBTController␊ |
150 | ␉enum␊ |
151 | ␉{␊ |
152 | ␉␉kTPControllerStart␉␉␉␉␉␉␉= 1,␊ |
153 | ␉␉kTPControllerControlPacketHandler␉␉␉= 2,␊ |
154 | ␉␉kTPControllerMakeDevice␉␉␉␉␉␉= 3,␊ |
155 | ␉␉kTPControllerMakeHubDevice␉␉␉␉␉= 4,␊ |
156 | ␉␉kTPControllerCreateRootHubDevice␉␉␉= 5,␊ |
157 | ␉␉kTPControllerClearTTHandler␉␉␉␉␉= 6,␊ |
158 | ␉␉kTPControllerClearTT␉␉␉␉␉␉= 7,␊ |
159 | ␉␉kTPControllerDoCreateEP␉␉␉␉␉␉= 8,␊ |
160 | ␉␉kTPControllerReadV2␉␉␉␉␉␉␉= 9,␊ |
161 | ␉␉kTPControllerReturnIsochDoneQueue␉␉␉= 10,␊ |
162 | ␉␉kTPControllersetPowerState␉␉␉␉␉= 11,␊ |
163 | ␉␉kTPControllerCheckPowerModeBeforeGatedCall␉= 12,␊ |
164 | ␉␉kTPControllerGatedPowerChange␉␉␉␉= 13,␊ |
165 | ␉␉kTPControllerCheckForRootHubChanges␉␉␉= 14,␊ |
166 | ␉␉kTPControllerRootHubQueueInterruptRead␉␉= 15,␊ |
167 | ␉␉kTPControllerRootHubTimer␉␉␉␉␉= 16,␊ |
168 | ␉␉kTPControllerDisjointCompletion␉␉␉␉= 17,␊ |
169 | ␉␉kTPControllerCheckForDisjointDescriptor␉␉= 18,␊ |
170 | ␉␉kTPControllerRead␉␉␉␉␉␉␉= 19,␊ |
171 | ␉␉kTPControllerV3Start␉␉␉␉␉␉= 20,␊ |
172 | ␉␉kTPAllocatePowerStateArray␉␉␉␉␉= 21,␊ |
173 | ␉␉kTPInitForPM␉␉␉␉␉␉␉␉= 22,␊ |
174 | ␉␉kTPIsocIOLL␉␉␉␉␉␉␉␉␉= 23,␊ |
175 | ␉␉kTPIsocIO␉␉␉␉␉␉␉␉␉= 24,␊ |
176 | ␉␉kTPControllerWrite␉␉␉␉␉␉␉= 25,␊ |
177 | ␉␉kTPCompletionCall␉␉␉␉␉␉␉= 26,␊ |
178 | ␉␉kTPControlTransaction␉␉␉␉␉␉= 27,␊ |
179 | ␉␉kTPInterruptTransaction␉␉␉␉␉␉= 28,␊ |
180 | ␉␉kTPInterruptTransactionData␉␉␉␉␉= 29,␊ |
181 | ␉␉kTPBulkTransaction␉␉␉␉␉␉␉= 30,␊ |
182 | ␉␉kTPBulkTransactionData␉␉␉␉␉␉= 31,␊ |
183 | ␉␉kTPIsocTransaction␉␉␉␉␉␉␉= 32,␊ |
184 | ␉␉kTPInterruptPacketHandler␉␉␉␉␉= 33,␊ |
185 | ␉␉kTPBulkPacketHandler␉␉␉␉␉␉= 34,␊ |
186 | ␉␉kTPDevZeroLock␉␉␉␉␉␉␉␉= 35,␊ |
187 | ␉␉kTPControlPacketHandlerData␉␉␉␉␉= 36,␊ |
188 | ␉␉kTPDoIOTransferIntrSync␉␉␉␉␉␉= 37,␊ |
189 | ␉␉kTPDoIOTransferBulkSync␉␉␉␉␉␉= 38,␊ |
190 | ␉␉kTPBulkPacketHandlerData␉␉␉␉␉= 39,␊ |
191 | ␉␉kTPInterruptPacketHandlerData␉␉␉␉= 40␊ |
192 | ␉};␊ |
193 | ␉␊ |
194 | ␉// USB Device Tracepoints␉␉␉␊ |
195 | ␉// kUSBTDevice␊ |
196 | ␉enum␊ |
197 | ␉{␊ |
198 | ␉␉kTPDeviceInit␉␉␉␉␉␉␉␉= 1,␊ |
199 | ␉␉kTPDeviceMessage␉␉␉␉␉␉␉= 2,␊ |
200 | ␉␉kTPDeviceResetDevice␉␉␉␉␉␉= 3,␊ |
201 | ␉␉kTPDeviceGetFullConfigurationDescriptor␉␉= 4,␊ |
202 | ␉␉kTPDeviceGetDeviceDescriptor␉␉␉␉= 5,␊ |
203 | ␉␉kTPDeviceGetConfigDescriptor␉␉␉␉= 6,␊ |
204 | ␉␉kTPDeviceSetConfiguration␉␉␉␉␉= 7,␊ |
205 | ␉␉kTPDeviceSetFeature␉␉␉␉␉␉␉= 8,␊ |
206 | ␉␉kTPDeviceDeviceRequest␉␉␉␉␉␉= 9,␊ |
207 | ␉␉kTPDeviceGetConfiguration␉␉␉␉␉= 10,␊ |
208 | ␉␉kTPDeviceGetDeviceStatus␉␉␉␉␉= 11,␊ |
209 | ␉␉kTPDeviceSuspendDevice␉␉␉␉␉␉= 12,␊ |
210 | ␉␉kTPDeviceReEnumerateDevice␉␉␉␉␉= 13,␊ |
211 | ␉␉kTPDeviceConfigLock␉␉␉␉␉␉␉= 14␊ |
212 | ␉};␊ |
213 | ␉␊ |
214 | ␉// USB Pipe Tracepoints␉␉␉␊ |
215 | ␉// kUSBTPipe␊ |
216 | ␉enum␊ |
217 | ␉{␊ |
218 | ␉␉kTPPipeInitToEndpoint␉␉␉␉␉␉= 1,␊ |
219 | ␉␉kTPBulkPipeRead␉␉␉␉␉␉␉␉= 2,␊ |
220 | ␉␉kTPBulkPipeWrite␉␉␉␉␉␉␉= 3,␊ |
221 | ␉␉kTPIsocPipeRead␉␉␉␉␉␉␉␉= 4,␊ |
222 | ␉␉kTPIsocPipeWrite␉␉␉␉␉␉␉= 5,␊ |
223 | ␉␉kTPIsocPipeReadLL␉␉␉␉␉␉␉= 6,␊ |
224 | ␉␉kTPIsocPipeWriteLL␉␉␉␉␉␉␉= 7,␊ |
225 | ␉␉kTPIBulkReadTS␉␉␉␉␉␉␉␉= 8,␊ |
226 | ␉␉kTPPipeControlRequest␉␉␉␉␉␉= 9,␊ |
227 | ␉␉kTPPipeControlRequestMemDesc␉␉␉␉= 10␊ |
228 | ␉};␊ |
229 | ␉␊ |
230 | ␉␊ |
231 | ␉// USB kUSBTControllerUserClient Tracepoints␉␉␉␊ |
232 | ␉// kUSBTControllerUserClient␊ |
233 | ␉enum␊ |
234 | ␉{␊ |
235 | ␉␉kTPControllerUCStart␉␉␉␉␉= 1,␊ |
236 | ␉␉kTPControllerUCOpen␉␉␉␉␉␉= 2,␊ |
237 | ␉␉kTPControllerUCReadRegister␉␉␉␉= 3,␊ |
238 | ␉␉kTPControllerUCWriteRegister␉␉␉= 4␊ |
239 | ␉};␊ |
240 | ␉␊ |
241 | ␉// USB kUSBTDeviceUserClient Tracepoints␉␉␉␊ |
242 | ␉// kUSBTDeviceUserClient␊ |
243 | ␉enum␊ |
244 | ␉{␊ |
245 | ␉␉kTPDeviceUCDeviceRequestIn␉␉␉␉= 1,␊ |
246 | ␉␉kTPDeviceUCDeviceRequestOut␉␉␉␉= 2,␊ |
247 | ␉␉kTPDeviceUCChangeOutstandingIO␉␉␉= 3,␊ |
248 | ␉␉kTPDeviceUCGetGatedOutstandingIO␉␉= 4,␊ |
249 | ␉␉kTPDeviceUCReqComplete␉␉␉␉␉= 5␊ |
250 | ␉};␊ |
251 | ␉␊ |
252 | ␉// USB InterfaceUserClient Tracepoints␉␉␉␊ |
253 | ␉// kUSBTInterfaceUserClient␊ |
254 | ␉enum␊ |
255 | ␉{␊ |
256 | ␉␉kTPInterfaceUCReadPipe␉␉␉␉␉= 1,␊ |
257 | ␉␉kTPInterfaceUCWritePipe␉␉␉␉␉= 2,␊ |
258 | ␉␉kTPInterfaceUCControlRequestOut␉␉␉= 3,␊ |
259 | ␉␉kTPInterfaceUCControlRequestIn␉␉␉= 4,␊ |
260 | ␉␉kTPInterfaceUCDoIsochPipeAsync␉␉␉= 5,␊ |
261 | ␉␉kTPInterfaceUCLowLatencyPrepareBuffer␉= 6,␊ |
262 | ␉␉kTPInterfaceUCChangeOutstandingIO␉␉= 7,␊ |
263 | ␉␉kTPInterfaceUCReqComplete␉␉␉␉= 8,␊ |
264 | ␉␉kTPInterfaceUCIsoReqComplete␉␉␉= 9,␊ |
265 | ␉␉kTPInterfaceUCLLIsoReqComplete␉␉␉= 10␊ |
266 | ␉};␊ |
267 | ␉␊ |
268 | ␉␊ |
269 | ␉// USB HSHubUserClient Tracepoints␉␉␉␊ |
270 | ␉// kUSBTHSHubUserClient␊ |
271 | ␉enum␊ |
272 | ␉{␊ |
273 | ␉␉kTPHSHubUCInitWithTask␉␉␉␉␉= 1,␊ |
274 | ␉␉kTPHSHubUCStart␉␉␉␉␉␉␉= 2,␊ |
275 | ␉␉kTPHSHubUCClose␉␉␉␉␉␉␉= 3,␊ |
276 | ␉␉kTPHSHubUCGetNumberOfPorts␉␉␉␉= 4,␊ |
277 | ␉␉kTPHSHubUCGetLocationID␉␉␉␉␉= 5,␊ |
278 | ␉␉kTPHSHubUCPutPortIntoTestMode␉␉␉= 6,␊ |
279 | ␉␉kTPHSHubUCSupportsIndicators␉␉␉= 7,␊ |
280 | ␉␉kTPHSHubUCSetIndicatorForPort␉␉␉= 8,␊ |
281 | ␉␉kTPHSHubUCGetPortIndicatorControl␉␉= 9,␊ |
282 | ␉␉kTPHSHubUCSetIndicatorsToAutomatic␉␉= 10,␊ |
283 | ␉␉kTPHSHubUCGetPowerSwitchingMode␉␉␉= 11,␊ |
284 | ␉␉kTPHSHubUCGetPortPower␉␉␉␉␉= 12,␊ |
285 | ␉␉kTPHSHubUCSetPortPower␉␉␉␉␉= 13,␊ |
286 | ␉␉kTPHSHubUCDisablePwrMgmt␉␉␉␉= 14␊ |
287 | ␉};␊ |
288 | ␉␊ |
289 | ␉// USB Hub Tracepoints␉␉␉␊ |
290 | ␉// kUSBTHub␊ |
291 | ␉enum␊ |
292 | ␉{␊ |
293 | ␉␉kTPHubStart␉␉␉␉␉␉␉␉= 1,␊ |
294 | ␉␉kTPHubMessage␉␉␉␉␉␉␉= 2,␊ |
295 | ␉␉kTPHubWillTerminate␉␉␉␉␉␉= 3,␊ |
296 | ␉␉kTPHubPowerStateWillChangeTo␉␉␉= 4,␊ |
297 | ␉␉kTPHubPowerChangeDone␉␉␉␉␉= 5,␊ |
298 | ␉␉kTPHubConfigureHub␉␉␉␉␉␉= 6,␊ |
299 | ␉␉kTPHubCheckPowerPowerRequirements␉␉= 7,␊ |
300 | ␉␉kTPHubHubPowerChange␉␉␉␉␉= 8,␊ |
301 | ␉␉kTPHubAreAllPortsDisconnectedOrSuspended= 9,␊ |
302 | ␉␉kTPHubSuspendPorts␉␉␉␉␉␉= 10,␊ |
303 | ␉␉kTPHubSetPortFeature␉␉␉␉␉= 11,␊ |
304 | ␉␉kTPHubClearPortFeature␉␉␉␉␉= 12,␊ |
305 | ␉␉kTPHubDoPortAction␉␉␉␉␉␉= 13,␊ |
306 | ␉␉kTPHubInterruptReadHandler␉␉␉␉= 14,␊ |
307 | ␉␉kTPHubResetPortZero␉␉␉␉␉␉= 15,␊ |
308 | ␉␉kTPHubProcessStateChanged␉␉␉␉= 16,␊ |
309 | ␉␉kTPHubRearmInterruptRead␉␉␉␉= 17,␊ |
310 | ␉␉kTPHubDoDeviceRequest␉␉␉␉␉= 18,␊ |
311 | ␉␉kTPHubWaitForPortResumes␉␉␉␉= 19,␊ |
312 | ␉␉kTPHubResetMyPort␉␉␉␉␉␉= 20,␊ |
313 | ␉␉kTPHubDecrementOutstandingIO␉␉␉= 21,␊ |
314 | ␉␉kTPHubChangeOutstandingIO␉␉␉␉= 22, ␊ |
315 | ␉␉kTPHubChangeRaisedPowerState␉␉␉= 23,␊ |
316 | ␉␉kTPHubChangeOutstandingResumes␉␉␉= 24,␊ |
317 | ␉␉kTPHubEnterTestMode␉␉␉␉␉␉= 25,␊ |
318 | ␉␉kTPHubLeaveTestMode␉␉␉␉␉␉= 26,␊ |
319 | ␉␉kTPHubPutPortIntoTestMode␉␉␉␉= 27,␊ |
320 | ␉␉kTPHubGetPortIndicatorControl␉␉␉= 28,␊ |
321 | ␉␉kTPHubSetIndicatorsToAutomatic␉␉␉= 29,␊ |
322 | ␉␉kTPHubGetPortPower␉␉␉␉␉␉= 30,␊ |
323 | ␉␉kTPHubEnsureUsability␉␉␉␉␉= 31,␊ |
324 | ␉␉kTPHubCheckPowerRequirements␉␉␉= 32,␊ |
325 | ␉␉kTPHubWaitForPowerOn␉␉␉␉␉= 33,␊ |
326 | ␉␉kTPHubDoPortActionLock␉␉␉␉␉= 34,␊ |
327 | ␉␉kTPHubCheckForDeadDevice␉␉␉␉= 35␊ |
328 | ␉};␊ |
329 | ␉␊ |
330 | ␉// USB HubPort Tracepoints␉␉␉␊ |
331 | ␉// kUSBTHubPort␊ |
332 | ␉enum␊ |
333 | ␉{␊ |
334 | ␉␉kTPHubPortStop␉␉␉␉␉␉␉␉= 1,␊ |
335 | ␉␉kTPHubPortAddDevice␉␉␉␉␉␉␉= 2,␊ |
336 | ␉␉kTPHubPortSuspendPort␉␉␉␉␉␉= 3,␊ |
337 | ␉␉kTPHubPortFatalError␉␉␉␉␉␉= 4,␊ |
338 | ␉␉kTPHubPortAddDeviceResetChangeHandler␉␉= 5,␊ |
339 | ␉␉kTPHubPortHandleResetPortHandler␉␉␉= 6,␊ |
340 | ␉␉kTPHubPortDefaultOverCrntChangeHandler␉␉= 7,␊ |
341 | ␉␉kTPHubPortDefaultConnectionChangeHandler␉= 8,␊ |
342 | ␉␉kTPHubPortReleaseDevZeroLock␉␉␉␉= 9,␊ |
343 | ␉␉kTPHubPortDetachDevice␉␉␉␉␉␉= 10,␊ |
344 | ␉␉kTPHubPortGetDevZeroDescriptorWithRetries␉= 11,␊ |
345 | ␉␉kTPHubPortDisplayOverCurrentNotice␉␉␉= 12,␊ |
346 | ␉␉kTPHubPortWakeSuspendCommand␉␉␉␉= 13,␊ |
347 | ␉␉kTPHubPortWaitForSuspendCommand␉␉␉␉= 14,␊ |
348 | ␉␉kTPHubPortEnablePowerAfterOvercurrent␉␉= 15␊ |
349 | ␉};␊ |
350 | ␉␊ |
351 | ␉// USB HID Tracepoints␉␉␉␊ |
352 | ␉// kUSBTHID␊ |
353 | ␉enum␊ |
354 | ␉{␊ |
355 | ␉␉kTPHIDStart␉␉␉␉␉␉␉= 1,␊ |
356 | ␉␉kTPHIDpowerStateWillChangeTo␉␉= 2,␊ |
357 | ␉␉kTPHIDsetPowerState␉␉␉␉␉= 3,␊ |
358 | ␉␉kTPHIDpowerStateDidChangeTo␉␉␉= 4,␊ |
359 | ␉␉kTPHIDpowerChangeDone␉␉␉␉= 5,␊ |
360 | ␉␉kTPHIDhandleStart␉␉␉␉␉= 6,␊ |
361 | ␉␉kTPHIDClearFeatureEndpointHalt␉␉= 7,␊ |
362 | ␉␉kTPHIDHandleReport␉␉␉␉␉= 8,␊ |
363 | ␉␉kTPHIDSuspendPort␉␉␉␉␉= 9,␊ |
364 | ␉␉kTPHIDAbortAndSuspend␉␉␉␉= 10,␊ |
365 | ␉␉kTPHIDClaimPendingRead␉␉␉␉= 11,␊ |
366 | ␉␉kTPHIDChangeOutstandingIO␉␉␉= 12,␊ |
367 | ␉␉kTPHIDRearmInterruptRead␉␉␉= 13,␊ |
368 | ␉␉kTPHIDInitializeUSBHIDPowerManagement = 14,␊ |
369 | ␉␉kTPHIDInterruptRead␉␉␉␉␉= 15,␊ |
370 | ␉␉kTPHIDInterruptReadError␉␉␉= 16,␊ |
371 | ␉␉kTPHIDCheckForDeadDevice␉␉␉= 17␊ |
372 | ␉};␊ |
373 | ␉␊ |
374 | ␉// USB Enumeration Tracepoints␉␉␉␊ |
375 | ␉// kUSBTEnumeration␊ |
376 | ␉enum␊ |
377 | ␉{␊ |
378 | ␉␉kTPEnumerationProcessStatusChanged␉= 1,␊ |
379 | ␉␉kTPEnumerationInitialGetPortStatus␉= 2,␊ |
380 | ␉␉kTPEnumerationCallAddDevice␉␉␉= 3,␊ |
381 | ␉␉kTPEnumerationAddDevice␉␉␉␉= 4,␊ |
382 | ␉␉kTPEnumerationResetPort␉␉␉␉= 5,␊ |
383 | ␉␉kTPEnumerationAddDeviceResetChangeHandler␉= 6,␊ |
384 | ␉␉kTPEnumerationRegisterService␉␉= 7,␊ |
385 | ␉␉kTPEnumerationLowSpeedDevice␉␉= 8,␊ |
386 | ␉␉kTPEnumerationFullSpeedDevice␉␉= 9␊ |
387 | ␉␉␊ |
388 | ␉};␊ |
389 | ␉␊ |
390 | ␉// USB UHCI Tracepoints␉␉␉␊ |
391 | ␉// kUSBTUHCI␊ |
392 | ␉enum␊ |
393 | ␉{␊ |
394 | ␉␉kTPUHCIMessage␉␉␉␉␉␉= 1,␊ |
395 | ␉␉kTPUHCIGetFrameNumber␉␉␉␉= 2,␊ |
396 | ␉␉kTPUHCIScavengeIsocTransactions␉␉= 3,␊ |
397 | ␉␉kTPUHCIScavengeQueueHeads␉␉␉= 4,␊ |
398 | ␉␉kTPUHCIAllocateQH␉␉␉␉␉= 5,␊ |
399 | ␉␉kTPUHCIRootHubStatusChange␉␉␉= 6,␊ |
400 | ␉␉kTPUHCIRHSuspendPort␉␉␉␉= 7,␊ |
401 | ␉␉kTPUHCIRHHoldPortReset␉␉␉␉= 8,␊ |
402 | ␉␉kTPUHCIRHResumePortCompletion␉␉= 9,␊ |
403 | ␉␉kTPUHCISuspendController␉␉␉= 10,␊ |
404 | ␉␉KTPUHCIResumeController␉␉␉␉= 11,␊ |
405 | ␉␉KTPUHCIResetControllerState␉␉␉= 12,␊ |
406 | ␉␉KTPUHCIRestartControllerFromReset␉= 13,␊ |
407 | ␉␉KTPUHCIEnableInterrupts␉␉␉␉= 14,␊ |
408 | ␉␉KTPUHCIDozeController␉␉␉␉= 15,␊ |
409 | ␉␉KTPUHCIWakeFromDoze␉␉␉␉␉= 16,␊ |
410 | ␉␉KTPUHCIPowerState␉␉␉␉␉= 17,␊ |
411 | ␉};␊ |
412 | ␊ |
413 | ␉␊ |
414 | ␉// USB UHCI Tracepoints␉␉␉␊ |
415 | ␉// kUSBTUHCIUIM␊ |
416 | ␉enum␊ |
417 | ␉{␊ |
418 | ␉␉kTPUHCIUIMCreateControlEndpoint␉␉= 1,␊ |
419 | ␉␉kTPUHCIUIMCreateBulkEndpoint␉␉= 2,␊ |
420 | ␉␉kTPUHCIUIMCreateInterruptEndpoint␉= 3,␊ |
421 | ␉␉kTPUHCIUIMCreateIsochEndpoint␉␉= 4,␊ |
422 | ␉␉kTPUHCIUIMCreateIsochTransfer␉␉= 5,␊ |
423 | ␉␉kTPUHCIUIMDeleteEndpoint␉␉␉= 6,␊ |
424 | ␉␉kTPUHCIUIMUnlinkQueueHead␉␉␉= 7,␊ |
425 | ␉␉kTPUHCIUIMCheckForTimeouts␉␉␉= 8,␊ |
426 | ␉␉kTPUHCIUIMReturnOneTransaction␉␉= 9,␊ |
427 | ␉␉kTPUHCIUIMAllocateTDChain␉␉␉= 10,␊ |
428 | ␉␉kTPUHCIUIMAddIsochFramesToSchedule␉= 11,␊ |
429 | ␉␉kTPUHCIUIMAbortIsochEP␉␉␉␉= 12,␊ |
430 | ␉␉kTPUHCIUIMCreateInterruptTransfer␉= 13,␊ |
431 | ␉␉kTPUHCIUIMHandleEndpointAbort␉␉= 14␊ |
432 | ␉};␊ |
433 | ␉␊ |
434 | ␉// USB UHCI Interrupt Tracepoints␉␉␉␊ |
435 | ␉// kUSBTUHCIInterrupts␊ |
436 | ␉enum␊ |
437 | ␉{␊ |
438 | ␉␉kTPUHCIInterruptsGetFrameNumberInternal␉= 1,␊ |
439 | ␉␉kTPUHCIInterruptsFilterInterrupt␉␉= 2,␊ |
440 | ␉␉kTPUHCIInterruptsHandleInterrupt␉␉= 3,␊ |
441 | ␉␉kTPUHCIUpdateFrameList␉␉␉␉␉= 4␊ |
442 | ␉};␊ |
443 | ␉␊ |
444 | ␉// USB EHCI Tracepoints␉␉␉␊ |
445 | ␉// kUSBTEHCI␊ |
446 | ␉enum␊ |
447 | ␉{␊ |
448 | ␉␉kTPEHCIRootHubResetPort␉␉␉␉␉= 1,␊ |
449 | ␉␉kTPEHCIRootHubPortEnable␉␉␉␉= 2,␊ |
450 | ␉␉kTPEHCIRootHubPortSuspend␉␉␉␉= 3,␊ |
451 | ␉␉// kTPEHCIRootHubStatusChange␉␉␉= 4,␊ |
452 | ␉␉kTPEHCIRHResumePortCompletion␉␉␉= 5,␊ |
453 | ␉␉kTPEHCIUIMFinalize␉␉␉␉␉␉= 6,␊ |
454 | ␉␉kTPEHCIGetFrameNumber32␉␉␉␉␉= 7, ␊ |
455 | ␉␉kTPEHCIGetFrameNumber␉␉␉␉␉= 8,␊ |
456 | ␉␉kTPEHCIAllocateQH␉␉␉␉␉␉= 9,␊ |
457 | ␉␉kTPEHCIEnableAsyncSchedule␉␉␉␉= 10,␊ |
458 | ␉␉kTPEHCIDisableAsyncSchedule␉␉␉␉= 11,␊ |
459 | ␉␉kTPEHCIEnablePeriodicSchedule␉␉␉= 12,␊ |
460 | ␉␉kTPEHCIDisablePeriodicSchedule␉␉␉= 13,␊ |
461 | ␉␉kTPEHCIMessage␉␉␉␉␉␉␉= 14,␊ |
462 | ␉␉kTPEHCIMakeEmptyEndPoint␉␉␉␉= 15,␊ |
463 | ␉␉kTPEHCIAllocateTDs␉␉␉␉␉␉= 16,␊ |
464 | ␉␉kTPEHCIMungeECHIStatus␉␉␉␉␉= 17,␊ |
465 | ␉␉kTPEHCIScavengeIsocTransactions␉␉␉= 18,␊ |
466 | ␉␉kTPEHCIScavengeAnEndpointQueue␉␉␉= 19,␊ |
467 | ␉␉kTPEHCIScavengeCompletedTransactions␉= 20,␊ |
468 | ␉␉kTPEHCICreateBulkEndpoint␉␉␉␉= 21,␊ |
469 | ␉␉kTPEHCICreateBulkTransfer␉␉␉␉= 22,␊ |
470 | ␊ |
471 | ␉␉kTPEHCICreateInterruptEndpoint␉␉␉= 24,␊ |
472 | ␉␉kTPEHCICreateIsochEndpoint␉␉␉␉= 25,␊ |
473 | ␉␉kTPEHCIAbortIsochEP␉␉␉␉␉␉= 26,␊ |
474 | ␉␉kTPEHCIHandleEndpointAbort␉␉␉␉= 27,␊ |
475 | ␉␉kTPEHCICreateInterruptTransfer␉␉␉= 28,␊ |
476 | ␉␉kTPEHCIUnlinkAsyncEndpoint␉␉␉␉= 29,␊ |
477 | ␉␉kTPEHCIDeleteEndpoint␉␉␉␉␉= 30,␊ |
478 | ␉␉kTPEHCICreateHSIsochTransfer␉␉␉= 31,␊ |
479 | ␉␉kTPEHCICreateSplitIsochTransfer␉␉␉= 32,␊ |
480 | ␉␉kTPEHCICreateIsochTransfer␉␉␉␉= 33,␊ |
481 | ␉␉kTPEHCIAddIsocFramesToSchedule␉␉␉= 34,␊ |
482 | ␉␉kTPEHCIReturnOneTransaction␉␉␉␉= 35,␊ |
483 | ␉␉kTPEHCICheckEDListForTimeouts␉␉␉= 36,␊ |
484 | ␉␉kTPEHCISuspendUSBBus␉␉␉␉␉= 37,␊ |
485 | ␉␉kTPEHCICheckForTimeouts␉␉␉␉␉= 38,␊ |
486 | ␉␉kTPEHCIResumeUSBBus␉␉␉␉␉␉= 39,␊ |
487 | ␉␉kTPEHCIRestartUSBBus␉␉␉␉␉= 40,␊ |
488 | ␉␉kTPEHCIResetControllerState␉␉␉␉= 41,␊ |
489 | ␉␉kTPEHCIDozeController␉␉␉␉␉= 42,␊ |
490 | ␉␉kTPEHCIWakeControllerFromDoze␉␉␉= 43,␊ |
491 | ␉␉kTPEHCIEnableInterrupts␉␉␉␉␉= 44,␊ |
492 | ␉␉kTPEHCIPowerState␉␉␉␉␉␉= 45,␊ |
493 | ␉␉kTPEHCIStopUSBBus␉␉␉␉␉␉= 46,␊ |
494 | ␉␉kTPEHCIRestartControllerFromReset␉␉= 47␊ |
495 | ␉};␊ |
496 | ␊ |
497 | ␉// USB EHCI Interrupt Tracepoints␉␉␉␊ |
498 | ␉// kUSBTEHCIInterrupts␊ |
499 | ␉enum␊ |
500 | ␉{␊ |
501 | ␉␉kTPEHCIInterruptsPollInterrupts␉␉␉= 1,␊ |
502 | ␉␉kTPEHCIInterruptsPrimaryInterruptFilter␉= 2,␊ |
503 | ␉␉kTPEHCIUpdateFrameList␉␉␉␉␉= 3,␊ |
504 | ␉};␊ |
505 | ␉␊ |
506 | ␉␊ |
507 | ␉// USB EHCI Interrupt Tracepoints␉␉␉␊ |
508 | ␉// kUSBTEHCIHubInfo␊ |
509 | ␉enum␊ |
510 | ␉{␊ |
511 | ␉␉kTPEHCIAvailableIsochBandwidth␉␉␉= 1,␊ |
512 | ␉␉kTPEHCIAllocateIsochBandwidth␉␉␉= 2␊ |
513 | ␉};␊ |
514 | ␉␊ |
515 | ␉// USB OHCI Tracepoints␉␉␉␊ |
516 | ␉// kUSBTOHCI␊ |
517 | ␉enum␊ |
518 | ␉{␊ |
519 | ␉␉kTPOHCIInitialize␉␉␉␉␉␉= 1,␊ |
520 | ␉␉kTPOHCICreateGeneralTransfer␉␉␉= 2,␊ |
521 | ␉␉kTPOHCIAbortEndpoint␉␉␉␉␉= 3,␊ |
522 | ␉␉kTPOHCIDeleteEndpoint␉␉␉␉␉= 4,␊ |
523 | ␉␉kTPOHCIEndpointStall␉␉␉␉␉= 5,␊ |
524 | ␉␉kTPOHCICreateIsochTransfer␉␉␉␉= 6,␊ |
525 | ␉␉kTPOHCIAllocateTD␉␉␉␉␉␉= 7,␊ |
526 | ␉␉kTPOHCIAllocateITD␉␉␉␉␉␉= 8,␊ |
527 | ␉␉kTPOHCIAllocateED␉␉␉␉␉␉= 9,␊ |
528 | ␉␉kTPOHCIProcessCompletedITD␉␉␉␉= 10,␊ |
529 | ␉␉kTPOHCIReturnTransactions␉␉␉␉= 11,␊ |
530 | ␉␉kTPOHCIMessage␉␉␉␉␉␉␉= 12,␊ |
531 | ␉␉KTPOHCISuspendUSBBus␉␉␉␉␉= 13,␊ |
532 | ␉␉KTPOHCIResumeUSBBus␉␉␉␉␉␉= 14,␊ |
533 | ␉␉KTPOHCIResetControllerState␉␉␉␉= 15,␊ |
534 | ␉␉KTPOHCIRestartControllerFromReset␉␉= 16,␊ |
535 | ␉␉KTPOHCIEnableInterrupts␉␉␉␉␉= 17,␊ |
536 | ␉␉KTPOHCIDozeController␉␉␉␉␉= 18,␊ |
537 | ␉␉KTPOHCIWakeControllerFromDoze␉␉␉= 19,␊ |
538 | ␉␉KTPOHCIPowerState␉␉␉␉␉␉= 20,␊ |
539 | ␉␉kTPOHCIDoneQueueCompletion␉␉␉␉= 21␊ |
540 | ␉};␊ |
541 | ␉␉␊ |
542 | ␉// USB OHCI Interrupt Tracepoints␉␉␉␊ |
543 | ␉// kUSBTOHCIInterrupts␊ |
544 | ␉enum␊ |
545 | ␉{␊ |
546 | ␉␉kTPOHCIInterruptsPollInterrupts␉␉␉= 1,␊ |
547 | ␉␉kTPOHCIInterruptsPrimaryInterruptFilter␉= 2,␊ |
548 | ␉␉kTPOHCIUpdateFrameList␉␉␉␉␉= 3␊ |
549 | ␉};␊ |
550 | ␉␊ |
551 | ␊ |
552 | ␉// USB HubPolicyMaker Tracepoints␉␉␉␊ |
553 | ␉// kUSBTHubPolicyMaker␊ |
554 | ␉enum␊ |
555 | ␉{␊ |
556 | ␉␉kTPSetPowerState␉␉␉␉␉␉ = 1␊ |
557 | ␉};␊ |
558 | ␉␊ |
559 | ␉// USB CompositeDriver Tracepoints␉␉␉␊ |
560 | ␉// kUSBTCompositeDriver␊ |
561 | ␉enum␊ |
562 | ␉{␊ |
563 | ␉␉kTPCompositeDriverConfigureDevice␉␉ = 1␊ |
564 | ␉};␊ |
565 | ␊ |
566 | ␉// USB USB OutstandingIO Tracepoints␉␉␉␊ |
567 | ␉// kUSBTOutstandingIO␊ |
568 | ␉enum␊ |
569 | ␉{␊ |
570 | ␉␉kTPDeviceUCDecrement␉= 1,␊ |
571 | ␉␉kTPDeviceUCIncrement␉= 2,␊ |
572 | ␉␉kTPInterfaceUCDecrement␉= 3,␊ |
573 | ␉␉kTPInterfaceUCIncrement␉= 4,␊ |
574 | ␉␉kTPHubDecrement␉␉␉= 5,␊ |
575 | ␉␉kTPHubIncrement␉␉␉= 6,␊ |
576 | ␉␉kTPHIDDecrement␉␉␉= 7,␊ |
577 | ␉␉kTPHIDIncrement␉␉␉= 8␊ |
578 | ␉};␊ |
579 | ␉␊ |
580 | ␉// USB Audio driver Tracepoints␉␉␉␊ |
581 | ␉// kUSBAudio␊ |
582 | ␉enum␊ |
583 | ␉{␊ |
584 | ␉␉kTPAudioDriverRead␉␉␉␉␉␉= 1,␊ |
585 | ␉␉kTPAudioDriverCoalesceInputSamples␉␉= 2,␊ |
586 | ␉␉kTPAudioDriverCoalesceError␉␉␉␉= 3,␊ |
587 | ␉␉kTPAudioDriverCoalesce␉␉␉␉␉= 4,␊ |
588 | ␉␉kTPAudioDriverReadHandler␉␉␉␉= 5,␊ |
589 | ␉␉kTPAudioDriverCoalesceError2␉␉␉= 6,␊ |
590 | ␉␉kTPAudioDriverConvertInputSamples␉␉= 7␊ |
591 | ␉};␊ |
592 | ␉␊ |
593 | ␉// Tracepoint macros.␊ |
594 | #define USB_TRACE(USBClass, code, funcQualifier)␉( ( ( DBG_IOKIT & 0xFF ) << 24) | ( ( DBG_IOUSB & 0xFF ) << 16 ) | ( ( USBClass & 0x3F ) << 10 ) | ( ( code & 0xFF ) << 2 ) | ( funcQualifier & 0x3 ) )␊ |
595 | ␊ |
596 | #define kTPAllUSB␉␉␉␉␉␉␉␉USB_TRACE ( 0, 0, 0 )␊ |
597 | ␊ |
598 | #define USB_CONTROLLER_TRACE(code)␉␉␉␉USB_TRACE( kUSBTController, code, DBG_FUNC_NONE )␊ |
599 | #define USB_CONTROLLER_UC_TRACE(code)␉␉␉USB_TRACE( kUSBTControllerUserClient, code, DBG_FUNC_NONE )␊ |
600 | #define USB_DEVICE_TRACE(code)␉␉␉␉␉USB_TRACE( kUSBTDevice, code, DBG_FUNC_NONE )␊ |
601 | #define USB_DEVICE_UC_TRACE(code)␉␉␉␉USB_TRACE( kUSBTDeviceUserClient, code, DBG_FUNC_NONE )␊ |
602 | ␊ |
603 | #define USB_HUB_TRACE(code)␉␉␉␉␉␉USB_TRACE( kUSBTHub, code, DBG_FUNC_NONE )␊ |
604 | #define USB_HUB_PORT_TRACE(code)␉␉␉␉USB_TRACE( kUSBTHubPort, code, DBG_FUNC_NONE )␊ |
605 | #define USB_HUB_UC_TRACE(code)␉␉␉␉␉USB_TRACE( kUSBTHSHubUserClient, code, DBG_FUNC_NONE )␊ |
606 | #define USB_HID_TRACE(code)␉␉␉␉␉␉USB_TRACE( kUSBTHID, code, DBG_FUNC_NONE )␊ |
607 | #define USB_PIPE_TRACE(code)␉␉␉␉␉USB_TRACE( kUSBTPipe, code, DBG_FUNC_NONE )␊ |
608 | ␊ |
609 | #define USB_INTERFACE_UC_TRACE(code)␉␉␉USB_TRACE( kUSBTInterfaceUserClient, code, DBG_FUNC_NONE )␊ |
610 | ␊ |
611 | #define USB_ENUMERATION_TRACE(code)␉␉␉␉USB_TRACE( kUSBTEnumeration, code, DBG_FUNC_NONE )␊ |
612 | ␊ |
613 | #define USB_UHCI_TRACE(code)␉␉␉␉␉USB_TRACE( kUSBTUHCI, code, DBG_FUNC_NONE )␊ |
614 | #define USB_UHCI_UIM_TRACE(code)␉␉␉␉USB_TRACE( kUSBTUHCIUIM, code, DBG_FUNC_NONE )␊ |
615 | #define USB_UHCI_INTERRUPTS_TRACE(code)␉␉␉USB_TRACE( kUSBTUHCIInterrupts, code, DBG_FUNC_NONE )␊ |
616 | ␊ |
617 | #define USB_OHCI_TRACE(code)␉␉␉␉␉USB_TRACE( kUSBTOHCI, code, DBG_FUNC_NONE )␊ |
618 | #define USB_OHCI_INTERRUPTS_TRACE(code)␉␉␉USB_TRACE( kUSBTOHCIInterrupts, code, DBG_FUNC_NONE )␊ |
619 | ␊ |
620 | #define USB_EHCI_TRACE(code)␉␉␉␉␉USB_TRACE( kUSBTEHCI, code, DBG_FUNC_NONE )␊ |
621 | #define USB_EHCI_HUBINFO_TRACE(code)␉␉␉USB_TRACE( kUSBTEHCIHubInfo, code, DBG_FUNC_NONE )␊ |
622 | #define USB_EHCI_INTERRUPTS_TRACE(code)␉␉␉USB_TRACE( kUSBTEHCIInterrupts, code, DBG_FUNC_NONE )␊ |
623 | ␊ |
624 | #define USB_HUB_POLICYMAKER_TRACE(code)␉␉␉USB_TRACE( kUSBTHubPolicyMaker, code, DBG_FUNC_NONE )␊ |
625 | #define USB_COMPOSITE_DRIVER_TRACE(code)␉␉USB_TRACE( kUSBTCompositeDriver, code, DBG_FUNC_NONE )␊ |
626 | ␊ |
627 | #define USB_OUTSTANDING_IO_TRACE(code)␉␉␉USB_TRACE( kUSBTOutstandingIO, code, DBG_FUNC_NONE )␉␊ |
628 | ␉␊ |
629 | #define USB_AUDIO_DRIVER_TRACE(code)␉␉␉USB_TRACE( kUSBAudio, code, DBG_FUNC_NONE )␉␊ |
630 | ␊ |
631 | #ifdef KERNEL␊ |
632 | ␉␊ |
633 | #include <IOKit/IOTimeStamp.h>␊ |
634 | ␉␉␊ |
635 | #define USBTrace(USBClass, code, a, b, c, d) {␉␉␉␉␉␉␉␉␉␉␉␉␉␉\␊ |
636 | ␉␉␉if (gUSBStackDebugFlags & kUSBEnableTracePointsMask) {␉␉␉␉␉␉␉␉␉\␊ |
637 | ␉␉␉␉IOTimeStampConstant( USB_TRACE(USBClass, code, DBG_FUNC_NONE), a, b, c, d );␉␉\␊ |
638 | ␉␉␉}␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉\␊ |
639 | ␉␉}␊ |
640 | ␊ |
641 | #define USBTrace_Start(USBClass, code, a, b, c, d) {␉␉␉␉␉␉␉␉␉␉␉␉\␊ |
642 | ␉␉␉if (gUSBStackDebugFlags & kUSBEnableTracePointsMask) {␉␉␉␉␉␉␉␉␉\␊ |
643 | ␉␉␉␉IOTimeStampConstant( USB_TRACE(USBClass, code, DBG_FUNC_START), a, b, c, d );␉␉\␊ |
644 | ␉␉␉}␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉\␊ |
645 | ␉␉}␊ |
646 | ␊ |
647 | #define USBTrace_End(USBClass, code, a, b, c, d) {␉␉␉␉␉␉␉␉␉␉␉␉␉␉\␊ |
648 | ␉␉␉if (gUSBStackDebugFlags & kUSBEnableTracePointsMask) {␉␉␉␉␉␉␉␉␉\␊ |
649 | ␉␉␉␉IOTimeStampConstant( USB_TRACE(USBClass, code, DBG_FUNC_END), a, b, c, d );␉␉␉\␊ |
650 | ␉␉␉}␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉␉\␊ |
651 | ␉␉}␊ |
652 | ␊ |
653 | #endif␊ |
654 | ␉␊ |
655 | ␉␊ |
656 | ␉␊ |
657 | #ifdef __cplusplus␊ |
658 | }␊ |
659 | #endif␊ |
660 | ␊ |
661 | ␊ |
662 | #endif␉/* __IOKIT_IO_USB_FAMILY_TRACEPOINTS__ */␊ |
663 |