Mercurial > flash_v2
comparison packages/kernel/current/include/instrmnt.h @ 86:6512add4f5d6 ecos-sw-2000-05-05
Merge from eCos master repository on 2000-05-05-07:47:05-BST
| author | jlarmour |
|---|---|
| date | Fri, 05 May 2000 17:31:08 +0000 |
| parents | bf00f99aec69 |
| children | 4c750ce71ae3 |
comparison
equal
deleted
inserted
replaced
| 85:142b52c7e568 | 86:6512add4f5d6 |
|---|---|
| 32 // | 32 // |
| 33 //####COPYRIGHTEND#### | 33 //####COPYRIGHTEND#### |
| 34 //========================================================================== | 34 //========================================================================== |
| 35 //#####DESCRIPTIONBEGIN#### | 35 //#####DESCRIPTIONBEGIN#### |
| 36 // | 36 // |
| 37 // Author(s): nickg | 37 // Author(s): nickg |
| 38 // Contributors: nickg | 38 // Contributors: nickg |
| 39 // Date: 1997-10-24 | 39 // Date: 2000-05-04 |
| 40 // Purpose: Define kernel instrumentation | 40 // Purpose: Define kernel instrumentation |
| 41 // Description: A set of definitions and macros used to implement an | 41 // Description: A set of definitions and macros used to implement an |
| 42 // instrumentation interface for the kernel. | 42 // instrumentation interface for the kernel. |
| 43 // Usage: #include <cyg/kernel/instrmnt.hxx> | 43 // NOTE: Don't use CYG_UNUSED_PARAM (or similar) here to |
| 44 // silence warnings about unused variables when using the | |
| 45 // empty macro definitions. Otherwise this can cause problems | |
| 46 // with volatile arguments and cause other side-effects. | |
| 47 // Instead it is up to the caller to ensure that unused | |
| 48 // arguments don't cause warnings | |
| 49 // Usage: #include <cyg/kernel/instrmnt.hxx> | |
| 44 // | 50 // |
| 45 //####DESCRIPTIONEND#### | 51 //####DESCRIPTIONEND#### |
| 46 // | 52 // |
| 47 //========================================================================== | 53 //========================================================================== |
| 48 | 54 |
| 76 | 82 |
| 77 #define CYG_INSTRUMENT(_type_,_arg1_,_arg2_) cyg_instrument(_type_, (CYG_ADDRWORD)(_arg1_), (CYG_ADDRWORD)(_arg2_)) | 83 #define CYG_INSTRUMENT(_type_,_arg1_,_arg2_) cyg_instrument(_type_, (CYG_ADDRWORD)(_arg1_), (CYG_ADDRWORD)(_arg2_)) |
| 78 | 84 |
| 79 #else // ifdef CYGPKG_KERNEL_INSTRUMENT | 85 #else // ifdef CYGPKG_KERNEL_INSTRUMENT |
| 80 | 86 |
| 81 #define CYG_INSTRUMENT(_type_,_arg1_,_arg2_) \ | 87 #define CYG_INSTRUMENT(_type_,_arg1_,_arg2_) |
| 82 CYG_MACRO_START \ | |
| 83 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg1_)); \ | |
| 84 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg2_)); \ | |
| 85 CYG_MACRO_END | |
| 86 | 88 |
| 87 #endif // ifdef CYGPKG_KERNEL_INSTRUMENT | 89 #endif // ifdef CYGPKG_KERNEL_INSTRUMENT |
| 88 | 90 |
| 89 // ------------------------------------------------------------------------- | 91 // ------------------------------------------------------------------------- |
| 90 // Type codes. | 92 // Type codes. |
| 238 #define CYG_INSTRUMENT_SCHED(_event_,_arg1_,_arg2_) \ | 240 #define CYG_INSTRUMENT_SCHED(_event_,_arg1_,_arg2_) \ |
| 239 CYG_INSTRUMENT(CYGINST_EVENT(SCHED,_event_),_arg1_,_arg2_) | 241 CYG_INSTRUMENT(CYGINST_EVENT(SCHED,_event_),_arg1_,_arg2_) |
| 240 | 242 |
| 241 #else | 243 #else |
| 242 | 244 |
| 243 #define CYG_INSTRUMENT_SCHED(_event_,_arg1_,_arg2_) \ | 245 #define CYG_INSTRUMENT_SCHED(_event_,_arg1_,_arg2_) |
| 244 CYG_MACRO_START \ | |
| 245 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg1_)); \ | |
| 246 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg2_)); \ | |
| 247 CYG_MACRO_END | |
| 248 | 246 |
| 249 #endif | 247 #endif |
| 250 | 248 |
| 251 // ------------------------------------------------------------------------- | 249 // ------------------------------------------------------------------------- |
| 252 // Thread instrumentation macros | 250 // Thread instrumentation macros |
| 256 #define CYG_INSTRUMENT_THREAD(_event_,_arg1_,_arg2_) \ | 254 #define CYG_INSTRUMENT_THREAD(_event_,_arg1_,_arg2_) \ |
| 257 CYG_INSTRUMENT(CYGINST_EVENT(THREAD,_event_),_arg1_,_arg2_) | 255 CYG_INSTRUMENT(CYGINST_EVENT(THREAD,_event_),_arg1_,_arg2_) |
| 258 | 256 |
| 259 #else | 257 #else |
| 260 | 258 |
| 261 #define CYG_INSTRUMENT_THREAD(_event_,_arg1_,_arg2_) \ | 259 #define CYG_INSTRUMENT_THREAD(_event_,_arg1_,_arg2_) |
| 262 CYG_MACRO_START \ | |
| 263 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg1_)); \ | |
| 264 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg2_)); \ | |
| 265 CYG_MACRO_END | |
| 266 | 260 |
| 267 #endif | 261 #endif |
| 268 | 262 |
| 269 // ------------------------------------------------------------------------- | 263 // ------------------------------------------------------------------------- |
| 270 // Interrupt instrumentation macros | 264 // Interrupt instrumentation macros |
| 274 #define CYG_INSTRUMENT_INTR(_event_,_arg1_,_arg2_) \ | 268 #define CYG_INSTRUMENT_INTR(_event_,_arg1_,_arg2_) \ |
| 275 CYG_INSTRUMENT(CYGINST_EVENT(INTR,_event_),_arg1_,_arg2_) | 269 CYG_INSTRUMENT(CYGINST_EVENT(INTR,_event_),_arg1_,_arg2_) |
| 276 | 270 |
| 277 #else | 271 #else |
| 278 | 272 |
| 279 #define CYG_INSTRUMENT_INTR(_event_,_arg1_,_arg2_) \ | 273 #define CYG_INSTRUMENT_INTR(_event_,_arg1_,_arg2_) |
| 280 CYG_MACRO_START \ | |
| 281 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg1_)); \ | |
| 282 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg2_)); \ | |
| 283 CYG_MACRO_END | |
| 284 | 274 |
| 285 #endif | 275 #endif |
| 286 | 276 |
| 287 // ------------------------------------------------------------------------- | 277 // ------------------------------------------------------------------------- |
| 288 // Mutex instrumentation macros | 278 // Mutex instrumentation macros |
| 292 #define CYG_INSTRUMENT_MUTEX(_event_,_arg1_,_arg2_) \ | 282 #define CYG_INSTRUMENT_MUTEX(_event_,_arg1_,_arg2_) \ |
| 293 CYG_INSTRUMENT(CYGINST_EVENT(MUTEX,_event_),_arg1_,_arg2_) | 283 CYG_INSTRUMENT(CYGINST_EVENT(MUTEX,_event_),_arg1_,_arg2_) |
| 294 | 284 |
| 295 #else | 285 #else |
| 296 | 286 |
| 297 #define CYG_INSTRUMENT_MUTEX(_event_,_arg1_,_arg2_) \ | 287 #define CYG_INSTRUMENT_MUTEX(_event_,_arg1_,_arg2_) |
| 298 CYG_MACRO_START \ | |
| 299 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg1_)); \ | |
| 300 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg2_)); \ | |
| 301 CYG_MACRO_END | |
| 302 | 288 |
| 303 #endif | 289 #endif |
| 304 | 290 |
| 305 // ------------------------------------------------------------------------- | 291 // ------------------------------------------------------------------------- |
| 306 // Condition variable instrumentation macros | 292 // Condition variable instrumentation macros |
| 310 #define CYG_INSTRUMENT_CONDVAR(_event_,_arg1_,_arg2_) \ | 296 #define CYG_INSTRUMENT_CONDVAR(_event_,_arg1_,_arg2_) \ |
| 311 CYG_INSTRUMENT(CYGINST_EVENT(CONDVAR,_event_),_arg1_,_arg2_) | 297 CYG_INSTRUMENT(CYGINST_EVENT(CONDVAR,_event_),_arg1_,_arg2_) |
| 312 | 298 |
| 313 #else | 299 #else |
| 314 | 300 |
| 315 #define CYG_INSTRUMENT_CONDVAR(_event_,_arg1_,_arg2_) \ | 301 #define CYG_INSTRUMENT_CONDVAR(_event_,_arg1_,_arg2_) |
| 316 CYG_MACRO_START \ | |
| 317 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg1_)); \ | |
| 318 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg2_)); \ | |
| 319 CYG_MACRO_END | |
| 320 | 302 |
| 321 #endif | 303 #endif |
| 322 | 304 |
| 323 // ------------------------------------------------------------------------- | 305 // ------------------------------------------------------------------------- |
| 324 // Binary semaphore instrumentation macros | 306 // Binary semaphore instrumentation macros |
| 328 #define CYG_INSTRUMENT_BINSEM(_event_,_arg1_,_arg2_) \ | 310 #define CYG_INSTRUMENT_BINSEM(_event_,_arg1_,_arg2_) \ |
| 329 CYG_INSTRUMENT(CYGINST_EVENT(BINSEM,_event_),_arg1_,_arg2_) | 311 CYG_INSTRUMENT(CYGINST_EVENT(BINSEM,_event_),_arg1_,_arg2_) |
| 330 | 312 |
| 331 #else | 313 #else |
| 332 | 314 |
| 333 #define CYG_INSTRUMENT_BINSEM(_event_,_arg1_,_arg2_) \ | 315 #define CYG_INSTRUMENT_BINSEM(_event_,_arg1_,_arg2_) |
| 334 CYG_MACRO_START \ | |
| 335 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg1_)); \ | |
| 336 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg2_)); \ | |
| 337 CYG_MACRO_END | |
| 338 | 316 |
| 339 #endif | 317 #endif |
| 340 | 318 |
| 341 // ------------------------------------------------------------------------- | 319 // ------------------------------------------------------------------------- |
| 342 // Counting semaphore instrumentation macros | 320 // Counting semaphore instrumentation macros |
| 346 #define CYG_INSTRUMENT_CNTSEM(_event_,_arg1_,_arg2_) \ | 324 #define CYG_INSTRUMENT_CNTSEM(_event_,_arg1_,_arg2_) \ |
| 347 CYG_INSTRUMENT(CYGINST_EVENT(CNTSEM,_event_),_arg1_,_arg2_) | 325 CYG_INSTRUMENT(CYGINST_EVENT(CNTSEM,_event_),_arg1_,_arg2_) |
| 348 | 326 |
| 349 #else | 327 #else |
| 350 | 328 |
| 351 #define CYG_INSTRUMENT_CNTSEM(_event_,_arg1_,_arg2_) \ | 329 #define CYG_INSTRUMENT_CNTSEM(_event_,_arg1_,_arg2_) |
| 352 CYG_MACRO_START \ | |
| 353 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg1_)); \ | |
| 354 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg2_)); \ | |
| 355 CYG_MACRO_END | |
| 356 | 330 |
| 357 #endif | 331 #endif |
| 358 | 332 |
| 359 // ------------------------------------------------------------------------- | 333 // ------------------------------------------------------------------------- |
| 360 // Clock instrumentation macros | 334 // Clock instrumentation macros |
| 364 #define CYG_INSTRUMENT_CLOCK(_event_,_arg1_,_arg2_) \ | 338 #define CYG_INSTRUMENT_CLOCK(_event_,_arg1_,_arg2_) \ |
| 365 CYG_INSTRUMENT(CYGINST_EVENT(CLOCK,_event_),_arg1_,_arg2_) | 339 CYG_INSTRUMENT(CYGINST_EVENT(CLOCK,_event_),_arg1_,_arg2_) |
| 366 | 340 |
| 367 #else | 341 #else |
| 368 | 342 |
| 369 #define CYG_INSTRUMENT_CLOCK(_event_,_arg1_,_arg2_) \ | 343 #define CYG_INSTRUMENT_CLOCK(_event_,_arg1_,_arg2_) |
| 370 CYG_MACRO_START \ | |
| 371 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg1_)); \ | |
| 372 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg2_)); \ | |
| 373 CYG_MACRO_END | |
| 374 | 344 |
| 375 #endif | 345 #endif |
| 376 | 346 |
| 377 // ------------------------------------------------------------------------- | 347 // ------------------------------------------------------------------------- |
| 378 // Alarm instrumentation macros | 348 // Alarm instrumentation macros |
| 382 #define CYG_INSTRUMENT_ALARM(_event_,_arg1_,_arg2_) \ | 352 #define CYG_INSTRUMENT_ALARM(_event_,_arg1_,_arg2_) \ |
| 383 CYG_INSTRUMENT(CYGINST_EVENT(ALARM,_event_),_arg1_,_arg2_) | 353 CYG_INSTRUMENT(CYGINST_EVENT(ALARM,_event_),_arg1_,_arg2_) |
| 384 | 354 |
| 385 #else | 355 #else |
| 386 | 356 |
| 387 #define CYG_INSTRUMENT_ALARM(_event_,_arg1_,_arg2_) \ | 357 #define CYG_INSTRUMENT_ALARM(_event_,_arg1_,_arg2_) |
| 388 CYG_MACRO_START \ | |
| 389 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg1_)); \ | |
| 390 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg2_)); \ | |
| 391 CYG_MACRO_END | |
| 392 | 358 |
| 393 #endif | 359 #endif |
| 394 | 360 |
| 395 // ------------------------------------------------------------------------- | 361 // ------------------------------------------------------------------------- |
| 396 // Mboxt instrumentation macros | 362 // Mboxt instrumentation macros |
| 400 #define CYG_INSTRUMENT_MBOXT(_event_,_arg1_,_arg2_) \ | 366 #define CYG_INSTRUMENT_MBOXT(_event_,_arg1_,_arg2_) \ |
| 401 CYG_INSTRUMENT(CYGINST_EVENT(MBOXT,_event_),_arg1_,_arg2_) | 367 CYG_INSTRUMENT(CYGINST_EVENT(MBOXT,_event_),_arg1_,_arg2_) |
| 402 | 368 |
| 403 #else | 369 #else |
| 404 | 370 |
| 405 #define CYG_INSTRUMENT_MBOXT(_event_,_arg1_,_arg2_) \ | 371 #define CYG_INSTRUMENT_MBOXT(_event_,_arg1_,_arg2_) |
| 406 CYG_MACRO_START \ | |
| 407 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg1_)); \ | |
| 408 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg2_)); \ | |
| 409 CYG_MACRO_END | |
| 410 | 372 |
| 411 #endif | 373 #endif |
| 412 | 374 |
| 413 // ------------------------------------------------------------------------- | 375 // ------------------------------------------------------------------------- |
| 414 // User instrumentation | 376 // User instrumentation |
| 418 #define CYG_INSTRUMENT_USER(_event_,_arg1_,_arg2_) \ | 380 #define CYG_INSTRUMENT_USER(_event_,_arg1_,_arg2_) \ |
| 419 CYG_INSTRUMENT(CYGINST_EVENT(USER,_event_),_arg1_,_arg2_) | 381 CYG_INSTRUMENT(CYGINST_EVENT(USER,_event_),_arg1_,_arg2_) |
| 420 | 382 |
| 421 #else | 383 #else |
| 422 | 384 |
| 423 #define CYG_INSTRUMENT_USER(_event_,_arg1_,_arg2_) \ | 385 #define CYG_INSTRUMENT_USER(_event_,_arg1_,_arg2_) |
| 424 CYG_MACRO_START \ | |
| 425 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg1_)); \ | |
| 426 CYG_UNUSED_PARAM(CYG_ADDRWORD, (CYG_ADDRWORD)(_arg2_)); \ | |
| 427 CYG_MACRO_END | |
| 428 | 386 |
| 429 #endif | 387 #endif |
| 430 | 388 |
| 431 | 389 |
| 432 // ------------------------------------------------------------------------- | 390 // ------------------------------------------------------------------------- |
