Chameleon

Chameleon Svn Source Tree

Root/branches/JrCs/i386/include/IOKit/usb/USBTracepoints.h

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
32extern "C" {
33#endif
34
35#define USB_SYSCTL"debug.USB"
36#define kUSBTypeDebug'USBD'
37#define DEBUG_UNUSED( X )( void )( X )
38
39extern UInt32 gUSBStackDebugFlags;
40
41typedef struct USBSysctlArgs
42{
43uint32_ttype;
44uint32_toperation;
45uint32_tdebugFlags;
46} USBSysctlArgs;
47
48enum
49{
50kUSBOperationGetFlags = 0,
51kUSBOperationSetFlags= 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
57enum
58{
59kUSBEnableDebugLoggingBit= 0,// bit 0 currently not used
60kUSBEnableTracePointsBit= 1,// bit 1 used to turn on Trace Points when a USB controller first loads
61kUSBEnableErrorLogBit= 2,// bit 2 (4) turns level 1 log for errors
62kUSBDebugRetryCountShift= 8,// bits 8 and 9 will set the retry count for low level bus transactions
63kUSBDebugRetryCountReserved= 9,// must be 1, 2, or 3 (0 is invalid, 3 is the default)
64
65kUSBEnableDebugLoggingMask= (1 << kUSBEnableDebugLoggingBit),
66kUSBEnableTracePointsMask= (1 << kUSBEnableTracePointsBit),
67kUSBDebugRetryCountMask= (3 << kUSBDebugRetryCountShift),
68kUSBEnableErrorLogMask= (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)
101enum
102{
103// Family groupings
104kUSBTController= 0,
105kUSBTControllerUserClient= 1,
106
107kUSBTDevice= 2,
108kUSBTDeviceUserClient= 3,
109
110kUSBTHub= 4,
111kUSBTHubPort= 5,
112kUSBTHSHubUserClient= 6,
113kUSBTHID= 7,
114kUSBTPipe= 8,
115
116kUSBTInterfaceUserClient= 9,
117
118kUSBTEnumeration= 10,// Tracepoints in various components to debug USB enumeration
119
120
121// UIM groupings
122kUSBTUHCI= 11,
123kUSBTUHCIUIM= 12,
124kUSBTUHCIInterrupts= 13,
125
126kUSBTOHCI= 14,
127kUSBTOHCIInterrupts= 15,
128
129kUSBTEHCI= 20,
130kUSBTEHCIHubInfo= 22,
131kUSBTEHCIInterrupts= 23,
132
133// 30-33 reserved
134
135// 21-25 reserved
136kUSBTHubPolicyMaker= 35,
137kUSBTCompositeDriver= 36,
138
139// Actions
140kUSBTOutstandingIO= 42,
141
142// kUSBAudio
143kUSBAudio= 50
144
145// 61-63 reserved
146};
147
148// USB Controller Tracepoints0x052D0000 - 0x052D03FF
149// kUSBTController
150enum
151{
152kTPControllerStart= 1,
153kTPControllerControlPacketHandler= 2,
154kTPControllerMakeDevice= 3,
155kTPControllerMakeHubDevice= 4,
156kTPControllerCreateRootHubDevice= 5,
157kTPControllerClearTTHandler= 6,
158kTPControllerClearTT= 7,
159kTPControllerDoCreateEP= 8,
160kTPControllerReadV2= 9,
161kTPControllerReturnIsochDoneQueue= 10,
162kTPControllersetPowerState= 11,
163kTPControllerCheckPowerModeBeforeGatedCall= 12,
164kTPControllerGatedPowerChange= 13,
165kTPControllerCheckForRootHubChanges= 14,
166kTPControllerRootHubQueueInterruptRead= 15,
167kTPControllerRootHubTimer= 16,
168kTPControllerDisjointCompletion= 17,
169kTPControllerCheckForDisjointDescriptor= 18,
170kTPControllerRead= 19,
171kTPControllerV3Start= 20,
172kTPAllocatePowerStateArray= 21,
173kTPInitForPM= 22,
174kTPIsocIOLL= 23,
175kTPIsocIO= 24,
176kTPControllerWrite= 25,
177kTPCompletionCall= 26,
178kTPControlTransaction= 27,
179kTPInterruptTransaction= 28,
180kTPInterruptTransactionData= 29,
181kTPBulkTransaction= 30,
182kTPBulkTransactionData= 31,
183kTPIsocTransaction= 32,
184kTPInterruptPacketHandler= 33,
185kTPBulkPacketHandler= 34,
186kTPDevZeroLock= 35,
187kTPControlPacketHandlerData= 36,
188kTPDoIOTransferIntrSync= 37,
189kTPDoIOTransferBulkSync= 38,
190kTPBulkPacketHandlerData= 39,
191kTPInterruptPacketHandlerData= 40
192};
193
194// USB Device Tracepoints
195// kUSBTDevice
196enum
197{
198kTPDeviceInit= 1,
199kTPDeviceMessage= 2,
200kTPDeviceResetDevice= 3,
201kTPDeviceGetFullConfigurationDescriptor= 4,
202kTPDeviceGetDeviceDescriptor= 5,
203kTPDeviceGetConfigDescriptor= 6,
204kTPDeviceSetConfiguration= 7,
205kTPDeviceSetFeature= 8,
206kTPDeviceDeviceRequest= 9,
207kTPDeviceGetConfiguration= 10,
208kTPDeviceGetDeviceStatus= 11,
209kTPDeviceSuspendDevice= 12,
210kTPDeviceReEnumerateDevice= 13,
211kTPDeviceConfigLock= 14
212};
213
214// USB Pipe Tracepoints
215// kUSBTPipe
216enum
217{
218kTPPipeInitToEndpoint= 1,
219kTPBulkPipeRead= 2,
220kTPBulkPipeWrite= 3,
221kTPIsocPipeRead= 4,
222kTPIsocPipeWrite= 5,
223kTPIsocPipeReadLL= 6,
224kTPIsocPipeWriteLL= 7,
225kTPIBulkReadTS= 8,
226kTPPipeControlRequest= 9,
227kTPPipeControlRequestMemDesc= 10
228};
229
230
231// USB kUSBTControllerUserClient Tracepoints
232// kUSBTControllerUserClient
233enum
234{
235kTPControllerUCStart= 1,
236kTPControllerUCOpen= 2,
237kTPControllerUCReadRegister= 3,
238kTPControllerUCWriteRegister= 4
239};
240
241// USB kUSBTDeviceUserClient Tracepoints
242// kUSBTDeviceUserClient
243enum
244{
245kTPDeviceUCDeviceRequestIn= 1,
246kTPDeviceUCDeviceRequestOut= 2,
247kTPDeviceUCChangeOutstandingIO= 3,
248kTPDeviceUCGetGatedOutstandingIO= 4,
249kTPDeviceUCReqComplete= 5
250};
251
252// USB InterfaceUserClient Tracepoints
253// kUSBTInterfaceUserClient
254enum
255{
256kTPInterfaceUCReadPipe= 1,
257kTPInterfaceUCWritePipe= 2,
258kTPInterfaceUCControlRequestOut= 3,
259kTPInterfaceUCControlRequestIn= 4,
260kTPInterfaceUCDoIsochPipeAsync= 5,
261kTPInterfaceUCLowLatencyPrepareBuffer= 6,
262kTPInterfaceUCChangeOutstandingIO= 7,
263kTPInterfaceUCReqComplete= 8,
264kTPInterfaceUCIsoReqComplete= 9,
265kTPInterfaceUCLLIsoReqComplete= 10
266};
267
268
269// USB HSHubUserClient Tracepoints
270// kUSBTHSHubUserClient
271enum
272{
273kTPHSHubUCInitWithTask= 1,
274kTPHSHubUCStart= 2,
275kTPHSHubUCClose= 3,
276kTPHSHubUCGetNumberOfPorts= 4,
277kTPHSHubUCGetLocationID= 5,
278kTPHSHubUCPutPortIntoTestMode= 6,
279kTPHSHubUCSupportsIndicators= 7,
280kTPHSHubUCSetIndicatorForPort= 8,
281kTPHSHubUCGetPortIndicatorControl= 9,
282kTPHSHubUCSetIndicatorsToAutomatic= 10,
283kTPHSHubUCGetPowerSwitchingMode= 11,
284kTPHSHubUCGetPortPower= 12,
285kTPHSHubUCSetPortPower= 13,
286kTPHSHubUCDisablePwrMgmt= 14
287};
288
289// USB Hub Tracepoints
290// kUSBTHub
291enum
292{
293kTPHubStart= 1,
294kTPHubMessage= 2,
295kTPHubWillTerminate= 3,
296kTPHubPowerStateWillChangeTo= 4,
297kTPHubPowerChangeDone= 5,
298kTPHubConfigureHub= 6,
299kTPHubCheckPowerPowerRequirements= 7,
300kTPHubHubPowerChange= 8,
301kTPHubAreAllPortsDisconnectedOrSuspended= 9,
302kTPHubSuspendPorts= 10,
303kTPHubSetPortFeature= 11,
304kTPHubClearPortFeature= 12,
305kTPHubDoPortAction= 13,
306kTPHubInterruptReadHandler= 14,
307kTPHubResetPortZero= 15,
308kTPHubProcessStateChanged= 16,
309kTPHubRearmInterruptRead= 17,
310kTPHubDoDeviceRequest= 18,
311kTPHubWaitForPortResumes= 19,
312kTPHubResetMyPort= 20,
313kTPHubDecrementOutstandingIO= 21,
314kTPHubChangeOutstandingIO= 22,
315kTPHubChangeRaisedPowerState= 23,
316kTPHubChangeOutstandingResumes= 24,
317kTPHubEnterTestMode= 25,
318kTPHubLeaveTestMode= 26,
319kTPHubPutPortIntoTestMode= 27,
320kTPHubGetPortIndicatorControl= 28,
321kTPHubSetIndicatorsToAutomatic= 29,
322kTPHubGetPortPower= 30,
323kTPHubEnsureUsability= 31,
324kTPHubCheckPowerRequirements= 32,
325kTPHubWaitForPowerOn= 33,
326kTPHubDoPortActionLock= 34,
327kTPHubCheckForDeadDevice= 35
328};
329
330// USB HubPort Tracepoints
331// kUSBTHubPort
332enum
333{
334kTPHubPortStop= 1,
335kTPHubPortAddDevice= 2,
336kTPHubPortSuspendPort= 3,
337kTPHubPortFatalError= 4,
338kTPHubPortAddDeviceResetChangeHandler= 5,
339kTPHubPortHandleResetPortHandler= 6,
340kTPHubPortDefaultOverCrntChangeHandler= 7,
341kTPHubPortDefaultConnectionChangeHandler= 8,
342kTPHubPortReleaseDevZeroLock= 9,
343kTPHubPortDetachDevice= 10,
344kTPHubPortGetDevZeroDescriptorWithRetries= 11,
345kTPHubPortDisplayOverCurrentNotice= 12,
346kTPHubPortWakeSuspendCommand= 13,
347kTPHubPortWaitForSuspendCommand= 14,
348kTPHubPortEnablePowerAfterOvercurrent= 15
349};
350
351// USB HID Tracepoints
352// kUSBTHID
353enum
354{
355kTPHIDStart= 1,
356kTPHIDpowerStateWillChangeTo= 2,
357kTPHIDsetPowerState= 3,
358kTPHIDpowerStateDidChangeTo= 4,
359kTPHIDpowerChangeDone= 5,
360kTPHIDhandleStart= 6,
361kTPHIDClearFeatureEndpointHalt= 7,
362kTPHIDHandleReport= 8,
363kTPHIDSuspendPort= 9,
364kTPHIDAbortAndSuspend= 10,
365kTPHIDClaimPendingRead= 11,
366kTPHIDChangeOutstandingIO= 12,
367kTPHIDRearmInterruptRead= 13,
368kTPHIDInitializeUSBHIDPowerManagement = 14,
369kTPHIDInterruptRead= 15,
370kTPHIDInterruptReadError= 16,
371kTPHIDCheckForDeadDevice= 17
372};
373
374// USB Enumeration Tracepoints
375// kUSBTEnumeration
376enum
377{
378kTPEnumerationProcessStatusChanged= 1,
379kTPEnumerationInitialGetPortStatus= 2,
380kTPEnumerationCallAddDevice= 3,
381kTPEnumerationAddDevice= 4,
382kTPEnumerationResetPort= 5,
383kTPEnumerationAddDeviceResetChangeHandler= 6,
384kTPEnumerationRegisterService= 7,
385kTPEnumerationLowSpeedDevice= 8,
386kTPEnumerationFullSpeedDevice= 9
387
388};
389
390// USB UHCI Tracepoints
391// kUSBTUHCI
392enum
393{
394kTPUHCIMessage= 1,
395kTPUHCIGetFrameNumber= 2,
396kTPUHCIScavengeIsocTransactions= 3,
397kTPUHCIScavengeQueueHeads= 4,
398kTPUHCIAllocateQH= 5,
399kTPUHCIRootHubStatusChange= 6,
400kTPUHCIRHSuspendPort= 7,
401kTPUHCIRHHoldPortReset= 8,
402kTPUHCIRHResumePortCompletion= 9,
403kTPUHCISuspendController= 10,
404KTPUHCIResumeController= 11,
405KTPUHCIResetControllerState= 12,
406KTPUHCIRestartControllerFromReset= 13,
407KTPUHCIEnableInterrupts= 14,
408KTPUHCIDozeController= 15,
409KTPUHCIWakeFromDoze= 16,
410KTPUHCIPowerState= 17,
411};
412
413
414// USB UHCI Tracepoints
415// kUSBTUHCIUIM
416enum
417{
418kTPUHCIUIMCreateControlEndpoint= 1,
419kTPUHCIUIMCreateBulkEndpoint= 2,
420kTPUHCIUIMCreateInterruptEndpoint= 3,
421kTPUHCIUIMCreateIsochEndpoint= 4,
422kTPUHCIUIMCreateIsochTransfer= 5,
423kTPUHCIUIMDeleteEndpoint= 6,
424kTPUHCIUIMUnlinkQueueHead= 7,
425kTPUHCIUIMCheckForTimeouts= 8,
426kTPUHCIUIMReturnOneTransaction= 9,
427kTPUHCIUIMAllocateTDChain= 10,
428kTPUHCIUIMAddIsochFramesToSchedule= 11,
429kTPUHCIUIMAbortIsochEP= 12,
430kTPUHCIUIMCreateInterruptTransfer= 13,
431kTPUHCIUIMHandleEndpointAbort= 14
432};
433
434// USB UHCI Interrupt Tracepoints
435// kUSBTUHCIInterrupts
436enum
437{
438kTPUHCIInterruptsGetFrameNumberInternal= 1,
439kTPUHCIInterruptsFilterInterrupt= 2,
440kTPUHCIInterruptsHandleInterrupt= 3,
441kTPUHCIUpdateFrameList= 4
442};
443
444// USB EHCI Tracepoints
445// kUSBTEHCI
446enum
447{
448kTPEHCIRootHubResetPort= 1,
449kTPEHCIRootHubPortEnable= 2,
450kTPEHCIRootHubPortSuspend= 3,
451// kTPEHCIRootHubStatusChange= 4,
452kTPEHCIRHResumePortCompletion= 5,
453kTPEHCIUIMFinalize= 6,
454kTPEHCIGetFrameNumber32= 7,
455kTPEHCIGetFrameNumber= 8,
456kTPEHCIAllocateQH= 9,
457kTPEHCIEnableAsyncSchedule= 10,
458kTPEHCIDisableAsyncSchedule= 11,
459kTPEHCIEnablePeriodicSchedule= 12,
460kTPEHCIDisablePeriodicSchedule= 13,
461kTPEHCIMessage= 14,
462kTPEHCIMakeEmptyEndPoint= 15,
463kTPEHCIAllocateTDs= 16,
464kTPEHCIMungeECHIStatus= 17,
465kTPEHCIScavengeIsocTransactions= 18,
466kTPEHCIScavengeAnEndpointQueue= 19,
467kTPEHCIScavengeCompletedTransactions= 20,
468kTPEHCICreateBulkEndpoint= 21,
469kTPEHCICreateBulkTransfer= 22,
470
471kTPEHCICreateInterruptEndpoint= 24,
472kTPEHCICreateIsochEndpoint= 25,
473kTPEHCIAbortIsochEP= 26,
474kTPEHCIHandleEndpointAbort= 27,
475kTPEHCICreateInterruptTransfer= 28,
476kTPEHCIUnlinkAsyncEndpoint= 29,
477kTPEHCIDeleteEndpoint= 30,
478kTPEHCICreateHSIsochTransfer= 31,
479kTPEHCICreateSplitIsochTransfer= 32,
480kTPEHCICreateIsochTransfer= 33,
481kTPEHCIAddIsocFramesToSchedule= 34,
482kTPEHCIReturnOneTransaction= 35,
483kTPEHCICheckEDListForTimeouts= 36,
484kTPEHCISuspendUSBBus= 37,
485kTPEHCICheckForTimeouts= 38,
486kTPEHCIResumeUSBBus= 39,
487kTPEHCIRestartUSBBus= 40,
488kTPEHCIResetControllerState= 41,
489kTPEHCIDozeController= 42,
490kTPEHCIWakeControllerFromDoze= 43,
491kTPEHCIEnableInterrupts= 44,
492kTPEHCIPowerState= 45,
493kTPEHCIStopUSBBus= 46,
494kTPEHCIRestartControllerFromReset= 47
495};
496
497// USB EHCI Interrupt Tracepoints
498// kUSBTEHCIInterrupts
499enum
500{
501kTPEHCIInterruptsPollInterrupts= 1,
502kTPEHCIInterruptsPrimaryInterruptFilter= 2,
503kTPEHCIUpdateFrameList= 3,
504};
505
506
507// USB EHCI Interrupt Tracepoints
508// kUSBTEHCIHubInfo
509enum
510{
511kTPEHCIAvailableIsochBandwidth= 1,
512kTPEHCIAllocateIsochBandwidth= 2
513};
514
515// USB OHCI Tracepoints
516// kUSBTOHCI
517enum
518{
519kTPOHCIInitialize= 1,
520kTPOHCICreateGeneralTransfer= 2,
521kTPOHCIAbortEndpoint= 3,
522kTPOHCIDeleteEndpoint= 4,
523kTPOHCIEndpointStall= 5,
524kTPOHCICreateIsochTransfer= 6,
525kTPOHCIAllocateTD= 7,
526kTPOHCIAllocateITD= 8,
527kTPOHCIAllocateED= 9,
528kTPOHCIProcessCompletedITD= 10,
529kTPOHCIReturnTransactions= 11,
530kTPOHCIMessage= 12,
531KTPOHCISuspendUSBBus= 13,
532KTPOHCIResumeUSBBus= 14,
533KTPOHCIResetControllerState= 15,
534KTPOHCIRestartControllerFromReset= 16,
535KTPOHCIEnableInterrupts= 17,
536KTPOHCIDozeController= 18,
537KTPOHCIWakeControllerFromDoze= 19,
538KTPOHCIPowerState= 20,
539kTPOHCIDoneQueueCompletion= 21
540};
541
542// USB OHCI Interrupt Tracepoints
543// kUSBTOHCIInterrupts
544enum
545{
546kTPOHCIInterruptsPollInterrupts= 1,
547kTPOHCIInterruptsPrimaryInterruptFilter= 2,
548kTPOHCIUpdateFrameList= 3
549};
550
551
552// USB HubPolicyMaker Tracepoints
553// kUSBTHubPolicyMaker
554enum
555{
556kTPSetPowerState = 1
557};
558
559// USB CompositeDriver Tracepoints
560// kUSBTCompositeDriver
561enum
562{
563kTPCompositeDriverConfigureDevice = 1
564};
565
566// USB USB OutstandingIO Tracepoints
567// kUSBTOutstandingIO
568enum
569{
570kTPDeviceUCDecrement= 1,
571kTPDeviceUCIncrement= 2,
572kTPInterfaceUCDecrement= 3,
573kTPInterfaceUCIncrement= 4,
574kTPHubDecrement= 5,
575kTPHubIncrement= 6,
576kTPHIDDecrement= 7,
577kTPHIDIncrement= 8
578};
579
580// USB Audio driver Tracepoints
581// kUSBAudio
582enum
583{
584kTPAudioDriverRead= 1,
585kTPAudioDriverCoalesceInputSamples= 2,
586kTPAudioDriverCoalesceError= 3,
587kTPAudioDriverCoalesce= 4,
588kTPAudioDriverReadHandler= 5,
589kTPAudioDriverCoalesceError2= 6,
590kTPAudioDriverConvertInputSamples= 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 kTPAllUSBUSB_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) {\
636if (gUSBStackDebugFlags & kUSBEnableTracePointsMask) {\
637IOTimeStampConstant( USB_TRACE(USBClass, code, DBG_FUNC_NONE), a, b, c, d );\
638}\
639}
640
641#define USBTrace_Start(USBClass, code, a, b, c, d) {\
642if (gUSBStackDebugFlags & kUSBEnableTracePointsMask) {\
643IOTimeStampConstant( USB_TRACE(USBClass, code, DBG_FUNC_START), a, b, c, d );\
644}\
645}
646
647#define USBTrace_End(USBClass, code, a, b, c, d) {\
648if (gUSBStackDebugFlags & kUSBEnableTracePointsMask) {\
649IOTimeStampConstant( 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

Archive Download this file

Revision: 1466