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