1 /******************************************************************************* 2 *Copyright (c) 2014 PMC-Sierra, Inc. All rights reserved. 3 * 4 *Redistribution and use in source and binary forms, with or without modification, are permitted provided 5 *that the following conditions are met: 6 *1. Redistributions of source code must retain the above copyright notice, this list of conditions and the 7 *following disclaimer. 8 *2. Redistributions in binary form must reproduce the above copyright notice, 9 *this list of conditions and the following disclaimer in the documentation and/or other materials provided 10 *with the distribution. 11 * 12 *THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED 13 *WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 14 *FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 15 *FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 16 *NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 17 *BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 18 *LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 19 *SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE 20 * 21 * 22 ********************************************************************************/ 23 /*******************************************************************************/ 24 /*! \file saosapi.h 25 * \brief The file defines the declaration of OS APIs 26 * 27 */ 28 /*******************************************************************************/ 29 30 #ifndef __SSDKOSAPI_H__ 31 #define __SSDKOSAPI_H__ 32 33 #ifdef LINUX 34 #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,18) 35 36 #ifdef FORCEINLINE 37 #undef FORCEINLINE 38 #define FORCEINLINE 39 #endif 40 41 #endif 42 #endif 43 44 /*************************************************************************** 45 * Definition of register access related functions start * 46 ***************************************************************************/ 47 #ifndef ossaHwRegRead 48 GLOBAL FORCEINLINE 49 bit32 ossaHwRegRead( 50 agsaRoot_t *agRoot, 51 bit32 regOffset 52 ); 53 #endif 54 55 #ifndef ossaHwRegWrite 56 GLOBAL FORCEINLINE 57 void ossaHwRegWrite( 58 agsaRoot_t *agRoot, 59 bit32 regOffset, 60 bit32 regValue 61 ); 62 #endif 63 64 #ifndef ossaHwRegReadExt 65 GLOBAL FORCEINLINE 66 bit32 ossaHwRegReadExt( 67 agsaRoot_t *agRoot, 68 bit32 busBaseNumber, 69 bit32 regOffset 70 ); 71 #endif 72 73 #ifndef ossaHwRegWriteExt 74 GLOBAL FORCEINLINE 75 void ossaHwRegWriteExt( 76 agsaRoot_t *agRoot, 77 bit32 busBaseNumber, 78 bit32 regOffset, 79 bit32 regValue 80 ); 81 #endif 82 83 #ifndef ossaHwRegReadConfig32 84 osGLOBAL bit32 ossaHwRegReadConfig32( 85 agsaRoot_t *agRoot, 86 bit32 regOffset 87 ); 88 #endif 89 90 91 /*************************************************************************** 92 * Definition of register access related functions end * 93 ***************************************************************************/ 94 95 /*************************************************************************** 96 * Definition of thread related functions start * 97 ***************************************************************************/ 98 #ifndef ossaSingleThreadedEnter 99 GLOBAL FORCEINLINE void ossaSingleThreadedEnter( 100 agsaRoot_t *agRoot, 101 bit32 syncLockId 102 ); 103 #endif 104 105 #ifndef ossaSingleThreadedLeave 106 GLOBAL FORCEINLINE void ossaSingleThreadedLeave( 107 agsaRoot_t *agRoot, 108 bit32 syncLockId 109 ); 110 #endif 111 112 #ifndef ossaStallThread 113 GLOBAL void ossaStallThread( 114 agsaRoot_t *agRoot, 115 bit32 microseconds 116 ); 117 #endif 118 /*************************************************************************** 119 * Definition of thread related functions end * 120 ***************************************************************************/ 121 122 /*************************************************************************** 123 * Definition of interrupt related functions start * 124 ***************************************************************************/ 125 #ifndef ossaDisableInterrupts 126 #define ossaDisableInterrupts(agRoot, interruptVectorIndex) \ 127 do \ 128 { \ 129 agsaLLRoot_t *saROOT = (agsaLLRoot_t *)(agRoot->sdkData);\ 130 saROOT->DisableInterrupts(agRoot, interruptVectorIndex); \ 131 } while(0) 132 #endif 133 134 #ifndef ossaReenableInterrupts 135 #define ossaReenableInterrupts(agRoot, interruptVectorIndex) \ 136 do \ 137 { \ 138 agsaLLRoot_t *saROOT = (agsaLLRoot_t *)(agRoot->sdkData); \ 139 saROOT->ReEnableInterrupts(agRoot, interruptVectorIndex); \ 140 } while(0) 141 #endif 142 143 /*************************************************************************** 144 * Definition of interrupt related functions end * 145 ***************************************************************************/ 146 147 /*************************************************************************** 148 * Definition of cache related functions start * 149 ***************************************************************************/ 150 #ifndef ossaCacheInvalidate 151 GLOBAL FORCEINLINE void ossaCacheInvalidate( 152 agsaRoot_t *agRoot, 153 void *osMemHandle, 154 void *virtPtr, 155 bit32 length 156 ); 157 #endif 158 159 #ifndef ossaCacheFlush 160 GLOBAL FORCEINLINE void ossaCacheFlush( 161 agsaRoot_t *agRoot, 162 void *osMemHandle, 163 void *virtPtr, 164 bit32 length 165 ); 166 #endif 167 168 #ifndef ossaCachePreFlush 169 GLOBAL FORCEINLINE void ossaCachePreFlush( 170 agsaRoot_t *agRoot, 171 void *osMemHandle, 172 void *virtPtr, 173 bit32 length 174 ); 175 #endif 176 177 /*************************************************************************** 178 * Definition of cache related functions end * 179 ***************************************************************************/ 180 181 /*************************************************************************** 182 * Definition of hardware related functions start * 183 ***************************************************************************/ 184 #ifndef ossaHwCB 185 GLOBAL void ossaHwCB( 186 agsaRoot_t *agRoot, 187 agsaPortContext_t *agPortContext, 188 bit32 event, 189 bit32 eventParm1, 190 void *eventParm2, 191 void *eventParm3 192 ); 193 #endif 194 195 #ifndef ossaHwEventAckCB 196 GLOBAL void ossaHwEventAckCB( 197 agsaRoot_t *agRoot, 198 agsaContext_t *agContext, 199 bit32 status 200 ); 201 #endif 202 /*************************************************************************** 203 * Definition of hardware related functions end * 204 ***************************************************************************/ 205 206 /*************************************************************************** 207 * Definition of SATA related functions start * 208 ***************************************************************************/ 209 #ifndef ossaSATACompleted 210 GLOBAL void ossaSATACompleted( 211 agsaRoot_t *agRoot, 212 agsaIORequest_t *agIORequest, 213 bit32 agIOStatus, 214 void *agFirstDword, 215 bit32 agIOInfoLen, 216 void *agParam 217 ); 218 219 #endif 220 221 #ifndef ossaSATAEvent 222 GLOBAL void ossaSATAEvent( 223 agsaRoot_t *agRoot, 224 agsaIORequest_t *agIORequest, 225 agsaPortContext_t *agPortContext, 226 agsaDevHandle_t *agDevHandle, 227 bit32 event, 228 bit32 agIOInfoLen, 229 void *agParam 230 ); 231 #endif 232 233 #ifndef ossaSATAAbortCB 234 GLOBAL void ossaSATAAbortCB( 235 agsaRoot_t *agRoot, 236 agsaIORequest_t *agIORequest, 237 bit32 flag, 238 bit32 status 239 ); 240 #endif 241 242 /*************************************************************************** 243 * Definition of SATA related functions end * 244 ***************************************************************************/ 245 246 247 /*************************************************************************** 248 * Definition of SAS related functions start * 249 ***************************************************************************/ 250 #ifndef ossaSSPEvent 251 GLOBAL void ossaSSPEvent( 252 agsaRoot_t *agRoot, 253 agsaIORequest_t *agIORequest, 254 agsaPortContext_t *agPortContext, 255 agsaDevHandle_t *agDevHandle, 256 bit32 event, 257 bit16 sspTag, 258 bit32 agIOInfoLen, 259 void *agParam 260 ); 261 #endif 262 263 osGLOBAL void 264 ossaSMPIoctlCompleted( 265 agsaRoot_t *agRoot, 266 agsaIORequest_t *agIORequest, 267 bit32 agIOStatus, 268 bit32 agIOInfoLen, 269 agsaFrameHandle_t agFrameHandle 270 ); 271 272 #ifndef ossaSMPCompleted 273 GLOBAL void ossaSMPCompleted( 274 agsaRoot_t *agRoot, 275 agsaIORequest_t *agIORequest, 276 bit32 agIOStatus, 277 bit32 agIOInfoLen, 278 agsaFrameHandle_t agFrameHandle 279 ); 280 #endif 281 282 #ifndef ossaSMPReqReceived 283 GLOBAL void ossaSMPReqReceived( 284 agsaRoot_t *agRoot, 285 agsaDevHandle_t *agDevHandle, 286 agsaFrameHandle_t agFrameHandle, 287 bit32 agFrameLength, 288 bit32 phyId 289 ); 290 #endif 291 292 #ifndef ossaSSPCompleted 293 GLOBAL FORCEINLINE void ossaSSPCompleted( 294 agsaRoot_t *agRoot, 295 agsaIORequest_t *agIORequest, 296 bit32 agIOStatus, 297 bit32 agIOInfoLen, 298 void *agParam, 299 bit16 sspTag, 300 bit32 agOtherInfo 301 ); 302 #endif 303 304 #ifdef FAST_IO_TEST 305 GLOBAL void ossaFastSSPCompleted( 306 agsaRoot_t *agRoot, 307 agsaIORequest_t *cbArg, 308 bit32 agIOStatus, 309 bit32 agIOInfoLen, 310 void *agParam, 311 bit16 sspTag, 312 bit32 agOtherInfo 313 ); 314 #endif 315 316 #ifndef ossaSSPReqReceived 317 GLOBAL void ossaSSPReqReceived( 318 agsaRoot_t *agRoot, 319 agsaDevHandle_t *agDevHandle, 320 agsaFrameHandle_t agFrameHandle, 321 bit16 agInitiatorTag, 322 bit32 parameter, 323 bit32 agFrameLen 324 ); 325 #endif 326 327 osGLOBAL void 328 ossaSSPIoctlCompleted( 329 agsaRoot_t *agRoot, 330 agsaIORequest_t *agIORequest, 331 bit32 agIOStatus, 332 bit32 agIOInfoLen, 333 void *agParam, 334 bit16 sspTag, 335 bit32 agOtherInfo 336 ); 337 338 339 #ifndef ossaSSPAbortCB 340 GLOBAL void ossaSSPAbortCB( 341 agsaRoot_t *agRoot, 342 agsaIORequest_t *agIORequest, 343 bit32 flag, 344 bit32 status 345 ); 346 #endif 347 348 #ifndef ossaSMPAbortCB 349 GLOBAL void ossaSMPAbortCB( 350 agsaRoot_t *agRoot, 351 agsaIORequest_t *agIORequest, 352 bit32 flag, 353 bit32 status 354 ); 355 #endif 356 357 #ifndef ossaReconfigSASParamsCB 358 GLOBAL void ossaReconfigSASParamsCB( 359 agsaRoot_t *agRoot, 360 agsaContext_t *agContext, 361 bit32 status, 362 agsaSASReconfig_t *agSASConfig 363 ); 364 #endif 365 366 /*************************************************************************** 367 * Definition of SAS related functions end * 368 ***************************************************************************/ 369 370 /*************************************************************************** 371 * Definition of Discovery related functions start * 372 ***************************************************************************/ 373 #ifndef ossaDiscoverSataCB 374 GLOBAL void ossaDiscoverSataCB( 375 agsaRoot_t *agRoot, 376 agsaPortContext_t *agPortContext, 377 bit32 event, 378 void *pParm1, 379 void *pParm2 380 ); 381 #endif 382 383 #ifndef ossaDiscoverSasCB 384 GLOBAL void ossaDiscoverSasCB( 385 agsaRoot_t *agRoot, 386 agsaPortContext_t *agPortContext, 387 bit32 event, 388 void *pParm1, 389 void *pParm2 390 ); 391 #endif 392 393 #ifndef ossaDeviceHandleAccept 394 GLOBAL bit32 ossaDeviceHandleAccept( 395 agsaRoot_t *agRoot, 396 agsaDevHandle_t *agDevHandle, 397 agsaSASDeviceInfo_t *agDeviceInfo, 398 agsaPortContext_t *agPortContext, 399 bit32 *hostAssignedDeviceId 400 ); 401 #endif 402 403 #ifndef ossaGetDeviceHandlesCB 404 GLOBAL void ossaGetDeviceHandlesCB( 405 agsaRoot_t *agRoot, 406 agsaContext_t *agContext, 407 agsaPortContext_t *agPortContext, 408 agsaDevHandle_t *agDev[], 409 bit32 validDevs 410 ); 411 #endif 412 413 #ifndef ossaGetDeviceInfoCB 414 GLOBAL void ossaGetDeviceInfoCB( 415 agsaRoot_t *agRoot, 416 agsaContext_t *agContext, 417 agsaDevHandle_t *agDevHandle, 418 bit32 status, 419 void *agInfo 420 ); 421 #endif 422 423 #ifndef ossaDeviceHandleRemovedEvent 424 GLOBAL void ossaDeviceHandleRemovedEvent ( 425 agsaRoot_t *agRoot, 426 agsaDevHandle_t *agDevHandle, 427 agsaPortContext_t *agPortContext 428 ); 429 #endif 430 431 #ifndef ossaGetDeviceStateCB 432 GLOBAL void ossaGetDeviceStateCB( 433 agsaRoot_t *agRoot, 434 agsaContext_t *agContext, 435 agsaDevHandle_t *agDevHandle, 436 bit32 status, 437 bit32 deviceState 438 ); 439 #endif 440 441 #ifndef ossaSetDeviceInfoCB 442 GLOBAL void ossaSetDeviceInfoCB( 443 agsaRoot_t *agRoot, 444 agsaContext_t *agContext, 445 agsaDevHandle_t *agDevHandle, 446 bit32 status, 447 bit32 option, 448 bit32 param 449 ); 450 #endif 451 452 #ifndef ossaSetDeviceStateCB 453 GLOBAL void ossaSetDeviceStateCB( 454 agsaRoot_t *agRoot, 455 agsaContext_t *agContext, 456 agsaDevHandle_t *agDevHandle, 457 bit32 status, 458 bit32 newDeviceState, 459 bit32 previousDeviceState 460 ); 461 #endif 462 463 /*************************************************************************** 464 * Definition of Discovery related functions end * 465 ***************************************************************************/ 466 467 /*************************************************************************** 468 * Definition of Misc. related functions start * 469 ***************************************************************************/ 470 471 #ifndef ossaTimeStamp 472 GLOBAL bit32 ossaTimeStamp(agsaRoot_t *agRoot); 473 #endif /* ossaTimeStamp */ 474 475 #ifndef ossaTimeStamp64 476 GLOBAL bit64 ossaTimeStamp64(agsaRoot_t *agRoot); 477 #endif /* ossaTimeStamp64 */ 478 479 480 #ifndef ossaLocalPhyControlCB 481 GLOBAL void ossaLocalPhyControlCB( 482 agsaRoot_t *agRoot, 483 agsaContext_t *agContext, 484 bit32 phyId, 485 bit32 phyOperation, 486 bit32 status, 487 void *parm); 488 #endif 489 490 #ifndef ossaGetPhyProfileCB 491 GLOBAL void ossaGetPhyProfileCB( 492 agsaRoot_t *agRoot, 493 agsaContext_t *agContext, 494 bit32 status, 495 bit32 ppc, 496 bit32 phyID, 497 void *parm ); 498 #endif 499 500 #ifndef ossaSetPhyProfileCB 501 GLOBAL void ossaSetPhyProfileCB( 502 agsaRoot_t *agRoot, 503 agsaContext_t *agContext, 504 bit32 status, 505 bit32 ppc, 506 bit32 phyID, 507 void *parm ); 508 #endif 509 510 #ifndef ossaFwFlashUpdateCB 511 GLOBAL void ossaFwFlashUpdateCB( 512 agsaRoot_t *agRoot, 513 agsaContext_t *agContext, 514 bit32 status); 515 #endif 516 517 #ifndef ossaFlashExtExecuteCB 518 GLOBAL void ossaFlashExtExecuteCB( 519 agsaRoot_t *agRoot, 520 agsaContext_t *agContext, 521 bit32 status, 522 bit32 command, 523 agsaFlashExtResponse_t *agFlashExtRsp); 524 525 #endif 526 527 #ifdef SPC_ENABLE_PROFILE 528 GLOBAL void ossaFwProfileCB( 529 agsaRoot_t *agRoot, 530 agsaContext_t *agContext, 531 bit32 status, 532 bit32 len 533 ); 534 535 #endif 536 #ifndef ossaEchoCB 537 GLOBAL void ossaEchoCB( 538 agsaRoot_t *agRoot, 539 agsaContext_t *agContext, 540 void *echoPayload); 541 #endif 542 543 #ifndef ossaGpioResponseCB 544 GLOBAL void ossaGpioResponseCB( 545 agsaRoot_t *agRoot, 546 agsaContext_t *agContext, 547 bit32 status, 548 bit32 gpioReadValue, 549 agsaGpioPinSetupInfo_t *gpioPinSetupInfo, 550 agsaGpioEventSetupInfo_t *gpioEventSetupInfo); 551 #endif 552 553 #ifndef ossaGpioEvent 554 GLOBAL void ossaGpioEvent( 555 agsaRoot_t *agRoot, 556 bit32 gpioEvent); 557 #endif 558 559 #ifndef ossaSASDiagExecuteCB 560 GLOBAL void ossaSASDiagExecuteCB( 561 agsaRoot_t *agRoot, 562 agsaContext_t *agContext, 563 bit32 status, 564 bit32 command, 565 bit32 reportData); 566 #endif 567 568 #ifndef ossaSASDiagStartEndCB 569 GLOBAL void ossaSASDiagStartEndCB( 570 agsaRoot_t *agRoot, 571 agsaContext_t *agContext, 572 bit32 status); 573 #endif 574 575 #ifndef ossaGetTimeStampCB 576 GLOBAL void ossaGetTimeStampCB( 577 agsaRoot_t *agRoot, 578 agsaContext_t *agContext, 579 bit32 timeStampLower, 580 bit32 timeStampUpper); 581 #endif 582 583 #ifndef ossaPortControlCB 584 GLOBAL void ossaPortControlCB( 585 agsaRoot_t *agRoot, 586 agsaContext_t *agContext, 587 agsaPortContext_t *agPortContext, 588 bit32 portOperation, 589 bit32 status); 590 #endif 591 592 #ifndef ossaGeneralEvent 593 GLOBAL void ossaGeneralEvent( 594 agsaRoot_t *agRoot, 595 bit32 status, 596 agsaContext_t *agContext, 597 bit32 *msg); 598 #endif 599 600 #ifndef ossaGetRegisterDumpCB 601 void ossaGetRegisterDumpCB( 602 agsaRoot_t *agRoot, 603 agsaContext_t *agContext, 604 bit32 status); 605 #endif 606 607 GLOBAL void ossaGetForensicDataCB ( 608 agsaRoot_t *agRoot, 609 agsaContext_t *agContext, 610 bit32 status, 611 agsaForensicData_t *forensicData 612 ); 613 614 615 #ifndef ossaGetNVMDResponseCB 616 GLOBAL void ossaGetNVMDResponseCB( 617 agsaRoot_t *agRoot, 618 agsaContext_t *agContext, 619 bit32 status, 620 bit8 indirectPayload, 621 bit32 agInfoLen, 622 agsaFrameHandle_t agFrameHandle ); 623 #endif 624 625 #ifndef ossaSetNVMDResponseCB 626 GLOBAL void ossaSetNVMDResponseCB( 627 agsaRoot_t *agRoot, 628 agsaContext_t *agContext, 629 bit32 status ); 630 #endif 631 632 #ifndef ossaQueueProcessed 633 #ifdef SALLSDK_TEST_SET_OB_QUEUE 634 GLOBAL void ossaQueueProcessed(agsaRoot_t *agRoot, 635 bit32 queue, 636 bit32 obpi, 637 bit32 obci); 638 #else 639 #define ossaQueueProcessed(agRoot, queue, obpi, obci) 640 #endif 641 #endif 642 643 #ifndef ossaSGpioCB 644 GLOBAL void ossaSGpioCB( 645 agsaRoot_t *agRoot, 646 agsaContext_t *agContext, 647 agsaSGpioReqResponse_t *pSgpioResponse 648 ); 649 #endif 650 651 #ifndef ossaPCIeDiagExecuteCB 652 GLOBAL void ossaPCIeDiagExecuteCB( 653 agsaRoot_t *agRoot, 654 agsaContext_t *agContext, 655 bit32 status, 656 bit32 command, 657 agsaPCIeDiagResponse_t *resp ); 658 #endif 659 660 #ifndef ossaGetDFEDataCB 661 GLOBAL void ossaGetDFEDataCB( 662 agsaRoot_t *agRoot, 663 agsaContext_t *agContext, 664 bit32 status, 665 bit32 agInfoLen 666 ); 667 #endif 668 669 #ifndef ossaVhistCaptureCB 670 GLOBAL void ossaVhistCaptureCB( 671 agsaRoot_t *agRoot, 672 agsaContext_t *agContext, 673 bit32 status, 674 bit32 len); 675 #endif 676 677 #ifndef ossaGetIOErrorStatsCB 678 GLOBAL void ossaGetIOErrorStatsCB ( 679 agsaRoot_t *agRoot, 680 agsaContext_t *agContext, 681 bit32 status, 682 agsaIOErrorEventStats_t *stats 683 ); 684 #endif 685 686 #ifndef ossaGetIOEventStatsCB 687 GLOBAL void ossaGetIOEventStatsCB ( 688 agsaRoot_t *agRoot, 689 agsaContext_t *agContext, 690 bit32 status, 691 agsaIOErrorEventStats_t *stats 692 ); 693 #endif 694 695 #ifndef ossaOperatorManagementCB 696 GLOBAL void ossaOperatorManagementCB( 697 agsaRoot_t *agRoot, 698 agsaContext_t *agContext, 699 bit32 status, 700 bit32 eq 701 ); 702 #endif 703 704 705 #ifndef ossaEncryptSelftestExecuteCB 706 GLOBAL void ossaEncryptSelftestExecuteCB ( 707 agsaRoot_t *agRoot, 708 agsaContext_t *agContext, 709 bit32 status, 710 bit32 type, 711 bit32 length, 712 void *TestResult 713 ); 714 715 #endif 716 717 #ifndef ossaGetOperatorCB 718 GLOBAL void ossaGetOperatorCB( 719 agsaRoot_t *agRoot, 720 agsaContext_t *agContext, 721 bit32 status, 722 bit32 option, 723 bit32 num, 724 bit32 role, 725 agsaID_t *id 726 ); 727 728 #endif 729 730 #ifndef ossaSetOperatorCB 731 GLOBAL void ossaSetOperatorCB( 732 agsaRoot_t *agRoot, 733 agsaContext_t *agContext, 734 bit32 status, 735 bit32 eq 736 ); 737 738 #endif 739 740 #ifndef ossaDIFEncryptionOffloadStartCB 741 GLOBAL void ossaDIFEncryptionOffloadStartCB( 742 agsaRoot_t *agRoot, 743 agsaContext_t *agContext, 744 bit32 status, 745 agsaOffloadDifDetails_t *agsaOffloadDifDetails 746 ); 747 #endif 748 749 /*************************************************************************** 750 * Definition of Misc related functions end * 751 ***************************************************************************/ 752 753 /*************************************************************************** 754 * Definition of Debug related functions start * 755 ***************************************************************************/ 756 #ifndef ossaLogTrace0 757 GLOBAL void ossaLogTrace0( 758 agsaRoot_t *agRoot, 759 bit32 traceCode 760 ); 761 #endif 762 763 #ifndef ossaLogTrace1 764 GLOBAL void ossaLogTrace1( 765 agsaRoot_t *agRoot, 766 bit32 traceCode, 767 bit32 value1 768 ); 769 #endif 770 771 #ifndef ossaLogTrace2 772 GLOBAL void ossaLogTrace2( 773 agsaRoot_t *agRoot, 774 bit32 traceCode, 775 bit32 value1, 776 bit32 value2 777 ); 778 #endif 779 780 #ifndef ossaLogTrace3 781 GLOBAL void ossaLogTrace3( 782 agsaRoot_t *agRoot, 783 bit32 traceCode, 784 bit32 value1, 785 bit32 value2, 786 bit32 value3 787 ); 788 #endif 789 790 #ifndef ossaLogTrace4 791 GLOBAL void ossaLogTrace4( 792 agsaRoot_t *agRoot, 793 bit32 traceCode, 794 bit32 value1, 795 bit32 value2, 796 bit32 value3, 797 bit32 value4 798 ); 799 #endif 800 801 #ifndef ossaLogDebugString 802 GLOBAL void ossaLogDebugString( 803 agsaRoot_t *agRoot, 804 bit32 level, 805 char *string, 806 void *ptr1, 807 void *ptr2, 808 bit32 value1, 809 bit32 value2 810 ); 811 #endif 812 813 #ifdef SALLSDK_OS_IOMB_LOG_ENABLE 814 GLOBAL void ossaLogIomb(agsaRoot_t *agRoot, 815 bit32 queueNum, 816 agBOOLEAN isInbound, 817 void *pMsg, 818 bit32 msgLength); 819 #else 820 #define ossaLogIomb(a, b,c,d,e ) 821 #endif 822 823 osGLOBAL void ossaPCI_TRIGGER(agsaRoot_t *agRoot ); 824 825 #ifdef PERF_COUNT 826 osGLOBAL void ossaEnter(agsaRoot_t *agRoot, int io); 827 osGLOBAL void ossaLeave(agsaRoot_t *agRoot, int io); 828 #define OSSA_INP_ENTER(root) ossaEnter(root, 0) 829 #define OSSA_INP_LEAVE(root) ossaLeave(root, 0) 830 #define OSSA_OUT_ENTER(root) ossaEnter(root, 1) 831 #define OSSA_OUT_LEAVE(root) ossaLeave(root, 1) 832 #else 833 #define OSSA_INP_ENTER(root) 834 #define OSSA_INP_LEAVE(root) 835 #define OSSA_OUT_ENTER(root) 836 #define OSSA_OUT_LEAVE(root) 837 #endif 838 /*************************************************************************** 839 * Definition of Debug related functions end * 840 ***************************************************************************/ 841 842 #endif /*__SSDKOSAPI_H__ */ 843