Chameleon

Chameleon Svn Source Tree

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

Source at commit 1129 created 12 years 11 months ago.
By meklort, Change options.o so that it reloads the system config as well. Also change it so that it uses that config for variables (NOTE: if the calue exists in chameleonConfig, it's used instead.
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: 1129