os/kernelhwsrv/kernel/eka/include/nkern/nk_trace.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     2
// All rights reserved.
sl@0
     3
// This component and the accompanying materials are made available
sl@0
     4
// under the terms of the License "Eclipse Public License v1.0"
sl@0
     5
// which accompanies this distribution, and is available
sl@0
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     7
//
sl@0
     8
// Initial Contributors:
sl@0
     9
// Nokia Corporation - initial contribution.
sl@0
    10
//
sl@0
    11
// Contributors:
sl@0
    12
//
sl@0
    13
// Description:
sl@0
    14
// e32\include\nkern\nk_trace.h
sl@0
    15
// 
sl@0
    16
// WARNING: This file contains some APIs which are internal and are subject
sl@0
    17
//          to change without notice. Such APIs should therefore not be used
sl@0
    18
//          outside the Kernel and Hardware Services package.
sl@0
    19
//
sl@0
    20
sl@0
    21
#ifndef NK_TRACE_H
sl@0
    22
#define NK_TRACE_H
sl@0
    23
sl@0
    24
/**
sl@0
    25
@internalComponent
sl@0
    26
*/
sl@0
    27
#define DEBUGPRINT	KPrintf
sl@0
    28
sl@0
    29
/**
sl@0
    30
@publishedPartner
sl@0
    31
@released
sl@0
    32
*/
sl@0
    33
#define DEBUGMASK (KDebugMask())
sl@0
    34
#define DEBUGNUM(x) (KDebugNum(x))
sl@0
    35
sl@0
    36
GLREF_C void KPrintf(const char*,...);
sl@0
    37
sl@0
    38
/**
sl@0
    39
@publishedPartner
sl@0
    40
@released
sl@0
    41
*/
sl@0
    42
IMPORT_C TInt  KDebugMask();
sl@0
    43
IMPORT_C TBool KDebugNum(TInt aBitNum);
sl@0
    44
sl@0
    45
#if defined(_DEBUG)
sl@0
    46
//#if (1)
sl@0
    47
/**
sl@0
    48
@publishedPartner
sl@0
    49
@released
sl@0
    50
*/
sl@0
    51
// __KTRACE_MASK only supports the first 32 debug trace bits
sl@0
    52
#define __KTRACE_MASK(a,p) {if((DEBUGMASK&(a)))p;}
sl@0
    53
#define __KTRACE_OPT(a,p) {if((DEBUGNUM(a)))p;}
sl@0
    54
#define __KTRACE_OPT2(a,b,p) {if( (DEBUGNUM(a)) || (DEBUGNUM(b)) )p;}
sl@0
    55
sl@0
    56
/**
sl@0
    57
@publishedPartner
sl@0
    58
@released
sl@0
    59
*/
sl@0
    60
// __KTRACE_ALL only supports the first 32 debug trace bits
sl@0
    61
#define __KTRACE_ALL(a,p) {if((DEBUGMASK&(a))==(a))p;}
sl@0
    62
sl@0
    63
/**
sl@0
    64
@publishedPartner
sl@0
    65
@released
sl@0
    66
*/
sl@0
    67
#define KHARDWARE	0 //0x00000001
sl@0
    68
sl@0
    69
/**
sl@0
    70
@publishedPartner
sl@0
    71
@released
sl@0
    72
*/
sl@0
    73
#define KBOOT		1 //0x00000002
sl@0
    74
sl@0
    75
/**
sl@0
    76
@publishedPartner
sl@0
    77
@released
sl@0
    78
*/
sl@0
    79
#define KSERVER		2 //0x00000004
sl@0
    80
sl@0
    81
/**
sl@0
    82
@publishedPartner
sl@0
    83
@released
sl@0
    84
*/
sl@0
    85
#define KMMU		3 //0x00000008
sl@0
    86
sl@0
    87
/**
sl@0
    88
@publishedPartner
sl@0
    89
@released
sl@0
    90
*/
sl@0
    91
#define KSEMAPHORE	4 //0x00000010
sl@0
    92
sl@0
    93
/**
sl@0
    94
@publishedPartner
sl@0
    95
@released
sl@0
    96
*/
sl@0
    97
#define KSCHED		5 //0x00000020
sl@0
    98
sl@0
    99
/**
sl@0
   100
@publishedPartner
sl@0
   101
@released
sl@0
   102
*/
sl@0
   103
#define KPROC		6 //0x00000040
sl@0
   104
sl@0
   105
/**
sl@0
   106
@publishedPartner
sl@0
   107
@released
sl@0
   108
*/
sl@0
   109
#define KEXEC		7 //0x00000080
sl@0
   110
sl@0
   111
/**
sl@0
   112
@publishedPartner
sl@0
   113
@released
sl@0
   114
*/
sl@0
   115
#define KDEBUGGER	8 //0x00000100  // for kernel-side debug agents
sl@0
   116
sl@0
   117
/**
sl@0
   118
@publishedPartner
sl@0
   119
@released
sl@0
   120
*/
sl@0
   121
#define KTHREAD		9 //0x00000200
sl@0
   122
sl@0
   123
/**
sl@0
   124
@publishedPartner
sl@0
   125
@released
sl@0
   126
*/
sl@0
   127
#define KDLL		10 //0x00000400
sl@0
   128
sl@0
   129
/**
sl@0
   130
@publishedPartner
sl@0
   131
@released
sl@0
   132
*/
sl@0
   133
#define KIPC		11 //0x00000800
sl@0
   134
sl@0
   135
/**
sl@0
   136
@publishedPartner
sl@0
   137
@released
sl@0
   138
*/
sl@0
   139
#define KPBUS1		12 //0x00001000
sl@0
   140
sl@0
   141
/**
sl@0
   142
@publishedPartner
sl@0
   143
@released
sl@0
   144
*/
sl@0
   145
#define KPBUS2		13 //0x00002000
sl@0
   146
sl@0
   147
/**
sl@0
   148
@publishedPartner
sl@0
   149
@released
sl@0
   150
*/
sl@0
   151
#define KPBUSDRV	14 //0x00004000
sl@0
   152
sl@0
   153
/**
sl@0
   154
@publishedPartner
sl@0
   155
@released
sl@0
   156
*/
sl@0
   157
#define KPOWER      15 //0x00008000
sl@0
   158
sl@0
   159
/**
sl@0
   160
@publishedPartner
sl@0
   161
@released
sl@0
   162
*/
sl@0
   163
#define KTIMING     16 //0x00010000
sl@0
   164
sl@0
   165
/**
sl@0
   166
@publishedPartner
sl@0
   167
@released
sl@0
   168
*/
sl@0
   169
#define KEVENT      17 //0x00020000
sl@0
   170
sl@0
   171
/**
sl@0
   172
@publishedPartner
sl@0
   173
@released
sl@0
   174
*/
sl@0
   175
#define KOBJECT		18 //0x00040000
sl@0
   176
sl@0
   177
/**
sl@0
   178
@publishedPartner
sl@0
   179
@released
sl@0
   180
*/
sl@0
   181
#define KDFC		19 //0x00080000
sl@0
   182
sl@0
   183
/**
sl@0
   184
@publishedPartner
sl@0
   185
@released
sl@0
   186
*/
sl@0
   187
#define KEXTENSION	20 //0x00100000
sl@0
   188
sl@0
   189
/**
sl@0
   190
@publishedPartner
sl@0
   191
@released
sl@0
   192
*/
sl@0
   193
#define KSCHED2		21 //0x00200000
sl@0
   194
sl@0
   195
/**
sl@0
   196
@publishedPartner
sl@0
   197
@released
sl@0
   198
*/
sl@0
   199
#define KLOCDRV		22 //0x00400000
sl@0
   200
sl@0
   201
/**
sl@0
   202
@publishedPartner
sl@0
   203
@released
sl@0
   204
*/
sl@0
   205
#define KFAIL		23 //0x00800000
sl@0
   206
sl@0
   207
/**
sl@0
   208
@publishedPartner
sl@0
   209
@released
sl@0
   210
*/
sl@0
   211
#define KTHREAD2	24 //0x01000000
sl@0
   212
sl@0
   213
/**
sl@0
   214
@publishedPartner
sl@0
   215
@released
sl@0
   216
*/
sl@0
   217
#define KDEVICE		25 //0x02000000
sl@0
   218
sl@0
   219
/**
sl@0
   220
@publishedPartner
sl@0
   221
@released
sl@0
   222
*/
sl@0
   223
#define KMEMTRACE	26 //0x04000000
sl@0
   224
sl@0
   225
/**
sl@0
   226
@publishedPartner
sl@0
   227
@released
sl@0
   228
*/
sl@0
   229
#define KDMA        27 //0x08000000
sl@0
   230
sl@0
   231
/**
sl@0
   232
@publishedPartner
sl@0
   233
@released
sl@0
   234
*/
sl@0
   235
#define KMMU2		28 //0x10000000
sl@0
   236
sl@0
   237
/**
sl@0
   238
@publishedPartner
sl@0
   239
@released
sl@0
   240
*/
sl@0
   241
#define KNKERN		29 //0x20000000
sl@0
   242
sl@0
   243
/**
sl@0
   244
@publishedPartner
sl@0
   245
@released
sl@0
   246
*/
sl@0
   247
#define KSCRATCH	30 //0x40000000	// reserved for temporary debugging
sl@0
   248
sl@0
   249
/**
sl@0
   250
@publishedPartner
sl@0
   251
@released
sl@0
   252
*/
sl@0
   253
#define KPANIC		31 //0x80000000
sl@0
   254
sl@0
   255
/**
sl@0
   256
@publishedPartner
sl@0
   257
@released
sl@0
   258
*/
sl@0
   259
#define KUSB		32 //0x00000001, index 1
sl@0
   260
sl@0
   261
/**
sl@0
   262
@publishedPartner
sl@0
   263
@released
sl@0
   264
*/
sl@0
   265
#define KUSBPSL		33 //0x00000002, index 1
sl@0
   266
 
sl@0
   267
/**
sl@0
   268
@internalComponent
sl@0
   269
@released	
sl@0
   270
*/
sl@0
   271
#define KNETWORK1	34 //0x00000004, index 1
sl@0
   272
 
sl@0
   273
/**
sl@0
   274
@internalComponent
sl@0
   275
@released
sl@0
   276
*/
sl@0
   277
#define KNETWORK2   35 //0x00000008, index 1
sl@0
   278
sl@0
   279
/**
sl@0
   280
@publishedPartner
sl@0
   281
@released
sl@0
   282
*/
sl@0
   283
#define KSOUND1		36 //0x00000010, index 1
sl@0
   284
 
sl@0
   285
/**
sl@0
   286
@publishedPartner
sl@0
   287
@released
sl@0
   288
*/
sl@0
   289
#define KUSBHOST	37 //0x00000020, index 1
sl@0
   290
sl@0
   291
/**
sl@0
   292
@publishedPartner
sl@0
   293
@released
sl@0
   294
*/
sl@0
   295
#define KUSBOTG		38 //0x00000040, index 1
sl@0
   296
sl@0
   297
/**
sl@0
   298
@publishedPartner
sl@0
   299
@released
sl@0
   300
*/
sl@0
   301
#define KUSBJOURNAL	39 //0x00000080, index 1
sl@0
   302
sl@0
   303
/**
sl@0
   304
@publishedPartner
sl@0
   305
@released
sl@0
   306
*/
sl@0
   307
#define KUSBHO		40 //0x00000100, index 1
sl@0
   308
sl@0
   309
/**
sl@0
   310
@publishedPartner
sl@0
   311
@released
sl@0
   312
*/
sl@0
   313
#define KRESMANAGER 41 //0x00000200, index 1
sl@0
   314
sl@0
   315
/**
sl@0
   316
@publishedPartner
sl@0
   317
@prototype
sl@0
   318
*/
sl@0
   319
#define KIIC 42 //0x00000400, index 1
sl@0
   320
sl@0
   321
/**
sl@0
   322
@publishedPartner
sl@0
   323
@prototype
sl@0
   324
*/
sl@0
   325
#define KHCR 43 //0x00000800, index 1
sl@0
   326
sl@0
   327
/**
sl@0
   328
@internalComponent
sl@0
   329
@released
sl@0
   330
*/
sl@0
   331
#define KREALTIME	63 //0x80000000, index 1
sl@0
   332
sl@0
   333
/**
sl@0
   334
@internalComponent
sl@0
   335
@released
sl@0
   336
*/
sl@0
   337
#define KPAGING		62 //0x40000000, index 1
sl@0
   338
sl@0
   339
/**
sl@0
   340
@internalComponent
sl@0
   341
@released
sl@0
   342
*/
sl@0
   343
#define KLOCDPAGING		61 //0x20000000, index 1
sl@0
   344
sl@0
   345
/**
sl@0
   346
@internalComponent
sl@0
   347
@released
sl@0
   348
*/
sl@0
   349
#define KDATAPAGEWARN	60 //0x10000000, index 1
sl@0
   350
sl@0
   351
/**
sl@0
   352
@internalComponent
sl@0
   353
@prototype
sl@0
   354
*/
sl@0
   355
#define KPCI	59 //0x08000000, index 1
sl@0
   356
sl@0
   357
/**
sl@0
   358
@internalComponent
sl@0
   359
@prototype
sl@0
   360
*/
sl@0
   361
#define KPIPE	58 //0x04000000, index 1
sl@0
   362
sl@0
   363
// RESERVED: Trace bits 192 - 255 are reserved for licensee partners
sl@0
   364
sl@0
   365
sl@0
   366
/**
sl@0
   367
@publishedPartner
sl@0
   368
@released
sl@0
   369
*/
sl@0
   370
#define KALWAYS		-1     //0xffffffff
sl@0
   371
#define KMAXTRACE   (KNumTraceMaskWords*32-1)    // the maximum debug trace bit
sl@0
   372
#else
sl@0
   373
#define __KTRACE_OPT(a,p)
sl@0
   374
#define __KTRACE_ALL(a,p)
sl@0
   375
#define __KTRACE_OPT2(a,b,p)
sl@0
   376
#define KALWAYS		-1
sl@0
   377
#define KMAXTRACE   (KNumTraceMaskWords*32-1)
sl@0
   378
#endif
sl@0
   379
sl@0
   380
sl@0
   381
/**
sl@0
   382
@publishedPartner
sl@0
   383
@released
sl@0
   384
*/
sl@0
   385
#define DEBUGMASKWORD2	2
sl@0
   386
sl@0
   387
/*
sl@0
   388
words 0 & 1 of debug mask should be used for kernel debugging
sl@0
   389
word  2     of debug mask should be used to configure the ways the kernel behaves
sl@0
   390
word  3     of debug mask should be used to configure the ways the user library behaves
sl@0
   391
words 4 & 5 of debug mask should be used for file system debugging
sl@0
   392
words 6 & 7 of debug mask are reserved for licensees
sl@0
   393
*/
sl@0
   394
sl@0
   395
/**
sl@0
   396
@publishedPartner
sl@0
   397
@released
sl@0
   398
*/
sl@0
   399
#define KALLTHREADSSYSTEM	64 //0x00000001, index 2
sl@0
   400
sl@0
   401
/**
sl@0
   402
Suppresses console output (in EWSRV) for faster automated tests.
sl@0
   403
@publishedPartner
sl@0
   404
@released
sl@0
   405
*/
sl@0
   406
#define KTESTFAST			65 //0x00000002, index 2
sl@0
   407
sl@0
   408
/**
sl@0
   409
Suppresses anything which might disturb latency testing,
sl@0
   410
for example platsec diagnostics emitted with the system lock held.
sl@0
   411
@publishedPartner
sl@0
   412
@released
sl@0
   413
*/
sl@0
   414
#define KTESTLATENCY		66 //0x00000004, index 2
sl@0
   415
sl@0
   416
/**
sl@0
   417
When a crash occurs this flag determines whether the debugger executes.
sl@0
   418
If set the crash debugger will NOT operate (even if it's in rom).
sl@0
   419
If clear the crash debugger will run.
sl@0
   420
@publishedPartner
sl@0
   421
@released
sl@0
   422
 */
sl@0
   423
#define KDEBUGMONITORDISABLE	67 //0x00000008, index 2
sl@0
   424
sl@0
   425
/**
sl@0
   426
When a crash occurs this flag determines whether the logger executes.
sl@0
   427
If set the crash logger will NOT operate (even if it's in rom).
sl@0
   428
If clear the crash logger will run.
sl@0
   429
@publishedPartner
sl@0
   430
@released
sl@0
   431
 */
sl@0
   432
#define KCRASHLOGGERDISABLE	68 //0x00000010, index 2
sl@0
   433
sl@0
   434
/**
sl@0
   435
Delay scheduling of newly unblocked threads until the next timer tick
sl@0
   436
occurs, to check for thread priority dependencies. Part of the crazy
sl@0
   437
scheduler functionality.
sl@0
   438
@publishedPartner
sl@0
   439
@released
sl@0
   440
 */
sl@0
   441
#define KCRAZYSCHEDDELAY 69 //0x00000020, index 2
sl@0
   442
sl@0
   443
sl@0
   444
sl@0
   445
/* Word 3 of debug mask : configures user library behaviour */
sl@0
   446
sl@0
   447
/**
sl@0
   448
@publishedPartner
sl@0
   449
@released
sl@0
   450
*/
sl@0
   451
#define KUSERHEAPTRACE		96 //0x00000001, index 3
sl@0
   452
sl@0
   453
sl@0
   454
sl@0
   455
#ifdef KFAIL
sl@0
   456
sl@0
   457
/**
sl@0
   458
@publishedPartner
sl@0
   459
@released
sl@0
   460
*/
sl@0
   461
#define __KTRACE_FAIL(r,p) {if ((r)!=KErrNone && (DEBUGNUM(KFAIL))) p;}
sl@0
   462
sl@0
   463
#else
sl@0
   464
#define __KTRACE_FAIL(r,p)
sl@0
   465
#endif
sl@0
   466
sl@0
   467
#include <e32btrace.h>
sl@0
   468
sl@0
   469
#ifdef __KERNEL_MODE__
sl@0
   470
sl@0
   471
sl@0
   472
class DBTraceFilter2;
sl@0
   473
sl@0
   474
/**
sl@0
   475
@internalComponent
sl@0
   476
*/
sl@0
   477
struct SBTraceData
sl@0
   478
	{
sl@0
   479
	TUint8 iFilter[256];
sl@0
   480
	BTrace::THandler iHandler;
sl@0
   481
	BTrace::TControlFunction iControl;
sl@0
   482
	DBTraceFilter2*volatile iFilter2;
sl@0
   483
sl@0
   484
	TBool CheckFilter2(TUint32 aUid);
sl@0
   485
	};
sl@0
   486
sl@0
   487
/**
sl@0
   488
@internalComponent
sl@0
   489
*/
sl@0
   490
extern SBTraceData BTraceData;
sl@0
   491
sl@0
   492
#if defined(_DEBUG) || defined(BTRACE_KERNEL_ALL)
sl@0
   493
sl@0
   494
#undef BTRACE_THREAD_IDENTIFICATION
sl@0
   495
#undef BTRACE_CPU_USAGE
sl@0
   496
#undef BTRACE_CHUNKS
sl@0
   497
#undef BTRACE_CODESEGS
sl@0
   498
#undef BTRACE_PAGING
sl@0
   499
#undef BTRACE_PAGING_MEDIA
sl@0
   500
#undef BTRACE_KERNEL_MEMORY
sl@0
   501
#undef BTRACE_RAM_ALLOCATOR
sl@0
   502
#undef BTRACE_FAST_MUTEX
sl@0
   503
#undef BTRACE_RESOURCE_MANAGER
sl@0
   504
#undef BTRACE_RESMANUS
sl@0
   505
#undef BTRACE_TRAWEVENT
sl@0
   506
#undef BTRACE_SYMBIAN_KERNEL_SYNC
sl@0
   507
#undef BTRACE_FLEXIBLE_MEM_MODEL
sl@0
   508
#undef BTRACE_CLIENT_SERVER
sl@0
   509
#undef BTRACE_REQUESTS
sl@0
   510
sl@0
   511
sl@0
   512
/**
sl@0
   513
If defined, code for BTrace category BTrace::EThreadIdentification
sl@0
   514
is compiled into the kernel.
sl@0
   515
@publishedPartner
sl@0
   516
@released
sl@0
   517
*/
sl@0
   518
#define BTRACE_THREAD_IDENTIFICATION
sl@0
   519
sl@0
   520
/**
sl@0
   521
If defined, code for BTrace category BTrace::ECpuUsage
sl@0
   522
is compiled into the kernel.
sl@0
   523
@publishedPartner
sl@0
   524
@released
sl@0
   525
*/
sl@0
   526
#define BTRACE_CPU_USAGE
sl@0
   527
sl@0
   528
/**
sl@0
   529
If defined, code for BTrace category BTrace::EChunks is compiled into the
sl@0
   530
kernel.
sl@0
   531
@publishedPartner
sl@0
   532
@released
sl@0
   533
*/
sl@0
   534
#define BTRACE_CHUNKS
sl@0
   535
sl@0
   536
/**
sl@0
   537
If defined, code for BTrace category BTrace::ECodeSegs is compiled into the
sl@0
   538
kernel.
sl@0
   539
@publishedPartner
sl@0
   540
@released
sl@0
   541
*/
sl@0
   542
#define BTRACE_CODESEGS
sl@0
   543
sl@0
   544
/**
sl@0
   545
If defined, code for BTrace category BTrace::EPaging is compiled into the
sl@0
   546
kernel.
sl@0
   547
@publishedPartner
sl@0
   548
@released 9.3
sl@0
   549
*/
sl@0
   550
#define BTRACE_PAGING
sl@0
   551
sl@0
   552
/**
sl@0
   553
If defined, code for BTrace category BTrace::EPagingMedia is compiled into the
sl@0
   554
Local Media Subsystem and relevant paging media drivers.
sl@0
   555
@publishedPartner
sl@0
   556
@released 9.3
sl@0
   557
*/
sl@0
   558
#define BTRACE_PAGING_MEDIA
sl@0
   559
sl@0
   560
/**
sl@0
   561
If defined, code for BTrace category BTrace::EKernelMemory is compiled into the
sl@0
   562
kernel.
sl@0
   563
@publishedPartner
sl@0
   564
@released 9.4
sl@0
   565
*/
sl@0
   566
#define BTRACE_KERNEL_MEMORY
sl@0
   567
sl@0
   568
/**
sl@0
   569
If defined, code for BTrace category BTrace::ERamAllocator is compiled into the
sl@0
   570
kernel.
sl@0
   571
sl@0
   572
This BTrace category is only supported on the multiple and moving memory models.
sl@0
   573
sl@0
   574
@publishedPartner
sl@0
   575
@released 9.4
sl@0
   576
*/
sl@0
   577
#if defined(__MEMMODEL_MOVING__) || defined (__MEMMODEL_MULTIPLE__)
sl@0
   578
#define BTRACE_RAM_ALLOCATOR
sl@0
   579
#endif
sl@0
   580
sl@0
   581
/**
sl@0
   582
If defined, code for BTrace category BTrace::EFastMutex is compiled into the
sl@0
   583
kernel.
sl@0
   584
*/
sl@0
   585
#define BTRACE_FAST_MUTEX
sl@0
   586
sl@0
   587
/**
sl@0
   588
If defined, code for BTrace category BTrace::EResourceManager is compiled into the
sl@0
   589
Resource Manager Subsystem.
sl@0
   590
@publishedPartner
sl@0
   591
@released 9.5
sl@0
   592
*/
sl@0
   593
#define BTRACE_RESOURCE_MANAGER
sl@0
   594
sl@0
   595
/**
sl@0
   596
If defined, code for BTrace category BTrace::EResourceManagerUs is compiled into the
sl@0
   597
Resource Manager Subsystem's User-Side API.
sl@0
   598
@publishedPartner
sl@0
   599
@released 9.5
sl@0
   600
*/
sl@0
   601
#define BTRACE_RESMANUS
sl@0
   602
sl@0
   603
/**
sl@0
   604
If defined, code for BTrace category BTrace::ERawEvent is compiled into the
sl@0
   605
kernel.
sl@0
   606
@publishedPartner
sl@0
   607
@released 9.5
sl@0
   608
*/
sl@0
   609
#define BTRACE_TRAWEVENT
sl@0
   610
sl@0
   611
/**
sl@0
   612
If defined, code for BTrace category BTrace::ESymbianKernelSync is compiled into
sl@0
   613
the kernel.
sl@0
   614
*/
sl@0
   615
#define BTRACE_SYMBIAN_KERNEL_SYNC
sl@0
   616
sl@0
   617
/**
sl@0
   618
If defined, code for BTrace category BTrace::EFlexibleMemModel is compiled into
sl@0
   619
the kernel.
sl@0
   620
sl@0
   621
This BTrace category is only supported on the flexible memory model.
sl@0
   622
*/
sl@0
   623
#define BTRACE_FLEXIBLE_MEM_MODEL
sl@0
   624
sl@0
   625
/**
sl@0
   626
If defined, code for BTrace category BTrace::EIic is compiled into the
sl@0
   627
IIC Subsystem.
sl@0
   628
*/
sl@0
   629
#define BTRACE_IIC
sl@0
   630
sl@0
   631
/**
sl@0
   632
If defined, code for BTrace category BTrace::EClientServer is compiled into the
sl@0
   633
kernel.
sl@0
   634
*/
sl@0
   635
#define BTRACE_CLIENT_SERVER
sl@0
   636
sl@0
   637
/**
sl@0
   638
If defined, code for BTrace category BTrace::ERequest is compiled into the
sl@0
   639
kernel.
sl@0
   640
*/
sl@0
   641
#define BTRACE_REQUESTS
sl@0
   642
sl@0
   643
#endif // _DEBUG
sl@0
   644
sl@0
   645
#endif // __KERNEL_MODE__
sl@0
   646
sl@0
   647
sl@0
   648
#if defined(BTRACE_KERNEL_PROTOTYPE)
sl@0
   649
// Prototype trace categories...
sl@0
   650
#undef BTRACE_THREAD_PRIORITY
sl@0
   651
#define BTRACE_THREAD_PRIORITY
sl@0
   652
#endif
sl@0
   653
sl@0
   654
#if defined(BTRACE_KERNEL_VERBOSE)
sl@0
   655
// Verbose trace options
sl@0
   656
sl@0
   657
#ifdef BTRACE_PAGING
sl@0
   658
/**
sl@0
   659
If defined, verbose code for BTrace category BTrace::EPaging is compiled into the
sl@0
   660
kernel.
sl@0
   661
@publishedPartner
sl@0
   662
@released 9.3
sl@0
   663
*/
sl@0
   664
#define BTRACE_PAGING_VERBOSE
sl@0
   665
#endif
sl@0
   666
sl@0
   667
#endif //BTRACE_KERNEL_VERBOSE
sl@0
   668
sl@0
   669
#if defined(_DEBUG) && !defined(__SMP__)
sl@0
   670
/**
sl@0
   671
@internalComponent
sl@0
   672
*/
sl@0
   673
TInt KCrazySchedulerEnabled();
sl@0
   674
#endif
sl@0
   675
sl@0
   676
#endif // NK_TRACE_H