Home | History | Annotate | Download | only in Ipf
      1 /*++
      2 
      3 Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>
      4 This program and the accompanying materials
      5 are licensed and made available under the terms and conditions of the BSD License
      6 which accompanies this distribution.  The full text of the license may be found at
      7 http://opensource.org/licenses/bsd-license.php
      8 
      9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     11 
     12 Module Name:
     13 
     14   EsalRuntimeLib.h
     15 
     16 Abstract:
     17 
     18   SAL Driver Lib
     19 
     20 Revision History
     21 
     22 --*/
     23 
     24 #ifndef _ESAL_RUNTIME_LIB_H_
     25 #define _ESAL_RUNTIME_LIB_H_
     26 
     27 #include "SalApi.h"
     28 #include "EfiFirmwareVolumeHeader.h"
     29 
     30 #include EFI_PROTOCOL_DEFINITION (ExtendedSalBootService)
     31 #include EFI_PROTOCOL_DEFINITION (ExtendedSalGuid)
     32 #include EFI_PROTOCOL_DEFINITION (FirmwareVolumeBlock)
     33 
     34 VOID
     35 EsalRuntimeLibVirtualNotify (
     36   VOID
     37   )
     38 /*++
     39 
     40 Routine Description:
     41 
     42   TODO: Add function description
     43 
     44 Arguments:
     45 
     46   None
     47 
     48 Returns:
     49 
     50   TODO: add return values
     51 
     52 --*/
     53 ;
     54 
     55 EFI_STATUS
     56 EsalInitializeRuntimeDriverLib (
     57   IN EFI_HANDLE           ImageHandle,
     58   IN EFI_SYSTEM_TABLE     *SystemTable
     59   )
     60 /*++
     61 
     62 Routine Description:
     63 
     64   TODO: Add function description
     65 
     66 Arguments:
     67 
     68   ImageHandle - Image Handle
     69   SystemTable - the System Table
     70 
     71 Returns:
     72 
     73   TODO: add return values
     74 
     75 --*/
     76 ;
     77 SAL_RETURN_REGS
     78 CallEsalService (
     79   IN  EFI_GUID                                       *ClassGuid,
     80   IN   UINT64                                        FunctionId,
     81   IN  UINT64                                         Arg2,
     82   IN  UINT64                                         Arg3,
     83   IN  UINT64                                         Arg4,
     84   IN  UINT64                                         Arg5,
     85   IN  UINT64                                         Arg6,
     86   IN  UINT64                                         Arg7,
     87   IN  UINT64                                         Arg8
     88   )
     89 /*++
     90 
     91 Routine Description:
     92 
     93   TODO: Add function description
     94 
     95 Arguments:
     96 
     97   ClassGuid   - TODO: add argument description
     98   FunctionId  - TODO: add argument description
     99   Arg2        - TODO: add argument description
    100   Arg3        - TODO: add argument description
    101   Arg4        - TODO: add argument description
    102   Arg5        - TODO: add argument description
    103   Arg6        - TODO: add argument description
    104   Arg7        - TODO: add argument description
    105   Arg8        - TODO: add argument description
    106 
    107 Returns:
    108 
    109   TODO: add return values
    110 
    111 --*/
    112 ;
    113 
    114 //
    115 //  Assembly Functions
    116 //
    117 
    118 SAL_RETURN_REGS
    119 EsalGetEntryPoint (
    120   VOID
    121   )
    122 /*++
    123 
    124 Routine Description:
    125 
    126   TODO: Add function description
    127 
    128 Arguments:
    129 
    130   None
    131 
    132 Returns:
    133 
    134   TODO: add return values
    135 
    136 --*/
    137 ;
    138 
    139 SAL_RETURN_REGS
    140 EsalSetPhysicalEntryPoint (
    141   IN  UINT64  EntryPoint,
    142   IN  UINT64  Gp
    143   )
    144 /*++
    145 
    146 Routine Description:
    147 
    148   TODO: Add function description
    149 
    150 Arguments:
    151 
    152   EntryPoint  - TODO: add argument description
    153   Gp          - TODO: add argument description
    154 
    155 Returns:
    156 
    157   TODO: add return values
    158 
    159 --*/
    160 ;
    161 
    162 SAL_RETURN_REGS
    163 EsalSetVirtualEntryPoint (
    164   IN  UINT64  EntryPoint,
    165   IN  UINT64  Gp
    166   )
    167 /*++
    168 
    169 Routine Description:
    170 
    171   TODO: Add function description
    172 
    173 Arguments:
    174 
    175   EntryPoint  - TODO: add argument description
    176   Gp          - TODO: add argument description
    177 
    178 Returns:
    179 
    180   TODO: add return values
    181 
    182 --*/
    183 ;
    184 
    185 SAL_RETURN_REGS
    186 EsalSetPhysicalModuleGlobal (
    187   IN  VOID    *Global
    188   )
    189 /*++
    190 
    191 Routine Description:
    192 
    193   TODO: Add function description
    194 
    195 Arguments:
    196 
    197   Global  - TODO: add argument description
    198 
    199 Returns:
    200 
    201   TODO: add return values
    202 
    203 --*/
    204 ;
    205 
    206 SAL_RETURN_REGS
    207 EsalSetVirtualModuleGlobal (
    208   IN  VOID    *Global
    209   )
    210 /*++
    211 
    212 Routine Description:
    213 
    214   TODO: Add function description
    215 
    216 Arguments:
    217 
    218   Global  - TODO: add argument description
    219 
    220 Returns:
    221 
    222   TODO: add return values
    223 
    224 --*/
    225 ;
    226 
    227 SAL_RETURN_REGS
    228 EsalGetModuleGlobal (
    229   VOID
    230   )
    231 /*++
    232 
    233 Routine Description:
    234 
    235   TODO: Add function description
    236 
    237 Arguments:
    238 
    239   None
    240 
    241 Returns:
    242 
    243   TODO: add return values
    244 
    245 --*/
    246 ;
    247 
    248 SAL_RETURN_REGS
    249 GetIrrData (
    250   VOID
    251   )
    252 /*++
    253 
    254 Routine Description:
    255 
    256   TODO: Add function description
    257 
    258 Arguments:
    259 
    260   None
    261 
    262 Returns:
    263 
    264   TODO: add return values
    265 
    266 --*/
    267 ;
    268 
    269 SAL_RETURN_REGS
    270 GetPsrData (
    271   VOID
    272   )
    273 /*++
    274 
    275 Routine Description:
    276 
    277   TODO: Add function description
    278 
    279 Arguments:
    280 
    281   None
    282 
    283 Returns:
    284 
    285   TODO: add return values
    286 
    287 --*/
    288 ;
    289 
    290 SAL_RETURN_REGS
    291 GetProcIdData (
    292   VOID
    293   )
    294 /*++
    295 
    296 Routine Description:
    297 
    298   TODO: Add function description
    299 
    300 Arguments:
    301 
    302   None
    303 
    304 Returns:
    305 
    306   TODO: add return values
    307 
    308 --*/
    309 ;
    310 
    311 VOID
    312 SwitchCpuStack (
    313   IN  UINT64  NewBsp,
    314   IN  UINT64  OldBsp
    315   )
    316 /*++
    317 
    318 Routine Description:
    319 
    320   TODO: Add function description
    321 
    322 Arguments:
    323 
    324   NewBsp  - TODO: add argument description
    325   OldBsp  - TODO: add argument description
    326 
    327 Returns:
    328 
    329   TODO: add return values
    330 
    331 --*/
    332 ;
    333 
    334 //
    335 //  PAL PROC Class
    336 //
    337 
    338 SAL_RETURN_REGS
    339 SalPalProc (
    340   IN  UINT64            Arg1,
    341   IN  UINT64            Arg2,
    342   IN  UINT64            Arg3,
    343   IN  UINT64            Arg4
    344   )
    345 /*++
    346 
    347 Routine Description:
    348 
    349   TODO: Add function description
    350 
    351 Arguments:
    352 
    353   Arg1  - TODO: add argument description
    354   Arg2  - TODO: add argument description
    355   Arg3  - TODO: add argument description
    356   Arg4  - TODO: add argument description
    357 
    358 Returns:
    359 
    360   TODO: add return values
    361 
    362 --*/
    363 ;
    364 
    365 SAL_RETURN_REGS
    366 SalRegisterNewPalEntry (
    367   IN  BOOLEAN                     PhysicalPalAddress,
    368   IN  EFI_PHYSICAL_ADDRESS        NewPalAddress
    369   )
    370 /*++
    371 
    372 Routine Description:
    373 
    374   TODO: Add function description
    375 
    376 Arguments:
    377 
    378   PhysicalPalAddress  - TODO: add argument description
    379   NewPalAddress       - TODO: add argument description
    380 
    381 Returns:
    382 
    383   TODO: add return values
    384 
    385 --*/
    386 ;
    387 
    388 SAL_RETURN_REGS
    389 SalGetPalEntryPointer (
    390   IN  BOOLEAN                     PhysicalPalAddress
    391   )
    392 /*++
    393 
    394 Routine Description:
    395 
    396   TODO: Add function description
    397 
    398 Arguments:
    399 
    400   PhysicalPalAddress  - TODO: add argument description
    401 
    402 Returns:
    403 
    404   TODO: add return values
    405 
    406 --*/
    407 ;
    408 
    409 //
    410 //  SAL BASE Class
    411 //
    412 
    413 SAL_RETURN_REGS
    414 SalProcSetVectors (
    415   IN  UINT64                      SalVectorType,
    416   IN  UINT64                      PhyAddr1,
    417   IN  UINT64                      Gp1,
    418   IN  UINT64                      LengthCs1,
    419   IN  UINT64                      PhyAddr2,
    420   IN  UINT64                      Gp2,
    421   IN  UINT64                      LengthCs2
    422   )
    423 /*++
    424 
    425 Routine Description:
    426 
    427   TODO: Add function description
    428 
    429 Arguments:
    430 
    431   SalVectorType - TODO: add argument description
    432   PhyAddr1      - TODO: add argument description
    433   Gp1           - TODO: add argument description
    434   LengthCs1     - TODO: add argument description
    435   PhyAddr2      - TODO: add argument description
    436   Gp2           - TODO: add argument description
    437   LengthCs2     - TODO: add argument description
    438 
    439 Returns:
    440 
    441   TODO: add return values
    442 
    443 --*/
    444 ;
    445 
    446 SAL_RETURN_REGS
    447 SalProcMcRendez (
    448   VOID
    449   )
    450 /*++
    451 
    452 Routine Description:
    453 
    454   TODO: Add function description
    455 
    456 Arguments:
    457 
    458   None
    459 
    460 Returns:
    461 
    462   TODO: add return values
    463 
    464 --*/
    465 ;
    466 
    467 SAL_RETURN_REGS
    468 SalProcMcSetParams (
    469   IN  UINT64                      ParamType,
    470   IN  UINT64                      IntOrMem,
    471   IN  UINT64                      IntOrMemVal,
    472   IN  UINT64                      Timeout,
    473   IN  UINT64                      McaOpt
    474   )
    475 /*++
    476 
    477 Routine Description:
    478 
    479   TODO: Add function description
    480 
    481 Arguments:
    482 
    483   ParamType   - TODO: add argument description
    484   IntOrMem    - TODO: add argument description
    485   IntOrMemVal - TODO: add argument description
    486   Timeout     - TODO: add argument description
    487   McaOpt      - TODO: add argument description
    488 
    489 Returns:
    490 
    491   TODO: add return values
    492 
    493 --*/
    494 ;
    495 
    496 SAL_RETURN_REGS
    497 EsalProcGetVectors (
    498   IN  UINT64                      VectorType
    499   )
    500 /*++
    501 
    502 Routine Description:
    503 
    504   TODO: Add function description
    505 
    506 Arguments:
    507 
    508   VectorType  - TODO: add argument description
    509 
    510 Returns:
    511 
    512   TODO: add return values
    513 
    514 --*/
    515 ;
    516 
    517 SAL_RETURN_REGS
    518 EsalProcMcGetParams (
    519   IN  UINT64                      ParamInfoType
    520   )
    521 /*++
    522 
    523 Routine Description:
    524 
    525   TODO: Add function description
    526 
    527 Arguments:
    528 
    529   ParamInfoType - TODO: add argument description
    530 
    531 Returns:
    532 
    533   TODO: add return values
    534 
    535 --*/
    536 ;
    537 
    538 SAL_RETURN_REGS
    539 EsalProcMcGetMcParams (
    540   VOID
    541   )
    542 /*++
    543 
    544 Routine Description:
    545 
    546   TODO: Add function description
    547 
    548 Arguments:
    549 
    550   None
    551 
    552 Returns:
    553 
    554   TODO: add return values
    555 
    556 --*/
    557 ;
    558 
    559 SAL_RETURN_REGS
    560 EsalProcGetMcCheckinFlags (
    561   IN  UINT64                      ProcessorUnit
    562   )
    563 /*++
    564 
    565 Routine Description:
    566 
    567   TODO: Add function description
    568 
    569 Arguments:
    570 
    571   ProcessorUnit - TODO: add argument description
    572 
    573 Returns:
    574 
    575   TODO: add return values
    576 
    577 --*/
    578 ;
    579 
    580 //
    581 //  Sal Base Class enums
    582 //
    583 
    584 typedef enum {
    585   McaVector,
    586   BspInitVector,
    587   BootRendezVector,
    588   ApInitVector
    589 } ESAL_GET_VECTOR_TYPE;
    590 
    591 SAL_RETURN_REGS
    592 SalInitializeThreshold (
    593   IN  VOID                        *ThresholdStruct,
    594   IN  UINT64                      Count,
    595   IN  UINT64                      Duration
    596   )
    597 /*++
    598 
    599 Routine Description:
    600 
    601   TODO: Add function description
    602 
    603 Arguments:
    604 
    605   ThresholdStruct - TODO: add argument description
    606   Count           - TODO: add argument description
    607   Duration        - TODO: add argument description
    608 
    609 Returns:
    610 
    611   TODO: add return values
    612 
    613 --*/
    614 ;
    615 
    616 SAL_RETURN_REGS
    617 SalBumpThresholdCount (
    618   IN  VOID                        *ThresholdStruct,
    619   IN  UINT64                      Count,
    620   IN  UINT64                      Duration
    621   )
    622 /*++
    623 
    624 Routine Description:
    625 
    626   TODO: Add function description
    627 
    628 Arguments:
    629 
    630   ThresholdStruct - TODO: add argument description
    631   Count           - TODO: add argument description
    632   Duration        - TODO: add argument description
    633 
    634 Returns:
    635 
    636   TODO: add return values
    637 
    638 --*/
    639 ;
    640 
    641 SAL_RETURN_REGS
    642 SalGetThresholdCount (
    643   IN  VOID                        *ThresholdStruct,
    644   IN  UINT64                      Count,
    645   IN  UINT64                      Duration
    646   )
    647 /*++
    648 
    649 Routine Description:
    650 
    651   TODO: Add function description
    652 
    653 Arguments:
    654 
    655   ThresholdStruct - TODO: add argument description
    656   Count           - TODO: add argument description
    657   Duration        - TODO: add argument description
    658 
    659 Returns:
    660 
    661   TODO: add return values
    662 
    663 --*/
    664 ;
    665 
    666 //
    667 //  Common Lib Function
    668 //
    669 
    670 EFI_STATUS
    671 RegisterEsalFunction (
    672   IN  UINT64                                    FunctionId,
    673   IN  EFI_GUID                                  *ClassGuid,
    674   IN  SAL_INTERNAL_EXTENDED_SAL_PROC            Function,
    675   IN  VOID                                      *ModuleGlobal
    676   )
    677 /*++
    678 
    679 Routine Description:
    680 
    681   TODO: Add function description
    682 
    683 Arguments:
    684 
    685   FunctionId    - TODO: add argument description
    686   ClassGuid     - TODO: add argument description
    687   Function      - TODO: add argument description
    688   ModuleGlobal  - TODO: add argument description
    689 
    690 Returns:
    691 
    692   TODO: add return values
    693 
    694 --*/
    695 ;
    696 
    697 EFI_STATUS
    698 RegisterEsalClass (
    699   IN  EFI_GUID                                  *ClassGuid,
    700   IN  VOID                                      *ModuleGlobal,
    701   ...
    702   )
    703 /*++
    704 
    705 Routine Description:
    706 
    707   TODO: Add function description
    708 
    709 Arguments:
    710 
    711   ClassGuid     - TODO: add argument description
    712   ModuleGlobal  - TODO: add argument description
    713   ...           - TODO: add argument description
    714 
    715 Returns:
    716 
    717   TODO: add return values
    718 
    719 --*/
    720 ;
    721 
    722 //
    723 //  MP Class Functions
    724 //
    725 SAL_RETURN_REGS
    726 LibMpAddCpuData (
    727   IN    UINT64      CpuGlobalId,
    728   IN    BOOLEAN     Enabled,
    729   IN    UINT64      PalCompatability
    730   )
    731 /*++
    732 
    733 Routine Description:
    734 
    735   TODO: Add function description
    736 
    737 Arguments:
    738 
    739   CpuGlobalId       - TODO: add argument description
    740   Enabled           - TODO: add argument description
    741   PalCompatability  - TODO: add argument description
    742 
    743 Returns:
    744 
    745   TODO: add return values
    746 
    747 --*/
    748 ;
    749 
    750 SAL_RETURN_REGS
    751 LibMpRemoveCpuData (
    752   IN    UINT64      CpuGlobalId
    753   )
    754 /*++
    755 
    756 Routine Description:
    757 
    758   TODO: Add function description
    759 
    760 Arguments:
    761 
    762   CpuGlobalId - TODO: add argument description
    763 
    764 Returns:
    765 
    766   TODO: add return values
    767 
    768 --*/
    769 ;
    770 
    771 SAL_RETURN_REGS
    772 LibMpModifyCpuData (
    773   IN    UINT64      CpuGlobalId,
    774   IN    BOOLEAN     Enabled,
    775   IN    UINT64      PalCompatability
    776   )
    777 /*++
    778 
    779 Routine Description:
    780 
    781   TODO: Add function description
    782 
    783 Arguments:
    784 
    785   CpuGlobalId       - TODO: add argument description
    786   Enabled           - TODO: add argument description
    787   PalCompatability  - TODO: add argument description
    788 
    789 Returns:
    790 
    791   TODO: add return values
    792 
    793 --*/
    794 ;
    795 
    796 SAL_RETURN_REGS
    797 LibMpGetCpuDataByID (
    798   IN    UINT64      CpuGlobalId,
    799   IN    BOOLEAN     IndexByEnabledCpu
    800   )
    801 /*++
    802 
    803 Routine Description:
    804 
    805   TODO: Add function description
    806 
    807 Arguments:
    808 
    809   CpuGlobalId       - TODO: add argument description
    810   IndexByEnabledCpu - TODO: add argument description
    811 
    812 Returns:
    813 
    814   TODO: add return values
    815 
    816 --*/
    817 ;
    818 
    819 SAL_RETURN_REGS
    820 LibMpGetCpuDataByIndex (
    821   IN    UINT64      Index,
    822   IN    BOOLEAN     IndexByEnabledCpu
    823   )
    824 /*++
    825 
    826 Routine Description:
    827 
    828   TODO: Add function description
    829 
    830 Arguments:
    831 
    832   Index             - TODO: add argument description
    833   IndexByEnabledCpu - TODO: add argument description
    834 
    835 Returns:
    836 
    837   TODO: add return values
    838 
    839 --*/
    840 ;
    841 
    842 SAL_RETURN_REGS
    843 LibMpSendIpi (
    844   IN  UINT64                ProcessorNumber,
    845   IN  UINT64                VectorNumber,
    846   IN  EFI_DELIVERY_MODE     DeliveryMode,
    847   IN  BOOLEAN               IRFlag
    848   )
    849 /*++
    850 
    851 Routine Description:
    852 
    853   TODO: Add function description
    854 
    855 Arguments:
    856 
    857   ProcessorNumber - TODO: add argument description
    858   VectorNumber    - TODO: add argument description
    859   DeliveryMode    - TODO: add argument description
    860   IRFlag          - TODO: add argument description
    861 
    862 Returns:
    863 
    864   TODO: add return values
    865 
    866 --*/
    867 ;
    868 
    869 SAL_RETURN_REGS
    870 LibMpCurrentProcessor (
    871   IN    BOOLEAN     IndexByEnabledCpu
    872   )
    873 /*++
    874 
    875 Routine Description:
    876 
    877   TODO: Add function description
    878 
    879 Arguments:
    880 
    881   IndexByEnabledCpu - TODO: add argument description
    882 
    883 Returns:
    884 
    885   TODO: add return values
    886 
    887 --*/
    888 ;
    889 
    890 SAL_RETURN_REGS
    891 LibGetNumProcessors (
    892   VOID
    893   )
    894 /*++
    895 
    896 Routine Description:
    897 
    898   TODO: Add function description
    899 
    900 Arguments:
    901 
    902   None
    903 
    904 Returns:
    905 
    906   TODO: add return values
    907 
    908 --*/
    909 ;
    910 
    911 SAL_RETURN_REGS
    912 LibMpSaveMinStatePointer (
    913   IN    UINT64                CpuGlobalId,
    914   IN    EFI_PHYSICAL_ADDRESS  MinStatePointer
    915   )
    916 /*++
    917 
    918 Routine Description:
    919 
    920   TODO: Add function description
    921 
    922 Arguments:
    923 
    924   CpuGlobalId     - TODO: add argument description
    925   MinStatePointer - TODO: add argument description
    926 
    927 Returns:
    928 
    929   TODO: add return values
    930 
    931 --*/
    932 ;
    933 
    934 SAL_RETURN_REGS
    935 LibMpRestoreMinStatePointer (
    936   IN    UINT64                CpuGlobalId
    937   )
    938 /*++
    939 
    940 Routine Description:
    941 
    942   TODO: Add function description
    943 
    944 Arguments:
    945 
    946   CpuGlobalId - TODO: add argument description
    947 
    948 Returns:
    949 
    950   TODO: add return values
    951 
    952 --*/
    953 ;
    954 
    955 //
    956 //  MCA Class Functions
    957 //
    958 
    959 EFI_STATUS
    960 LibMcaGetStateInfo (
    961   IN  UINT64                                      CpuId,
    962   OUT EFI_PHYSICAL_ADDRESS                        *StateBufferPointer,
    963   OUT UINT64                                      *RequiredStateBufferSize
    964   )
    965 /*++
    966 
    967 Routine Description:
    968 
    969   TODO: Add function description
    970 
    971 Arguments:
    972 
    973   CpuId                   - TODO: add argument description
    974   StateBufferPointer      - TODO: add argument description
    975   RequiredStateBufferSize - TODO: add argument description
    976 
    977 Returns:
    978 
    979   TODO: add return values
    980 
    981 --*/
    982 ;
    983 
    984 EFI_STATUS
    985 LibMcaRegisterCpu (
    986   IN  UINT64                                      CpuId,
    987   IN  EFI_PHYSICAL_ADDRESS                        StateBufferAddress
    988   )
    989 /*++
    990 
    991 Routine Description:
    992 
    993   TODO: Add function description
    994 
    995 Arguments:
    996 
    997   CpuId               - TODO: add argument description
    998   StateBufferAddress  - TODO: add argument description
    999 
   1000 Returns:
   1001 
   1002   TODO: add return values
   1003 
   1004 --*/
   1005 ;
   1006 
   1007 //
   1008 // FVB Variables Class
   1009 //
   1010 EFI_STATUS
   1011 EsalReadBlock (
   1012   IN UINTN                                        Instance,
   1013   IN EFI_LBA                                      Lba,
   1014   IN UINTN                                        Offset,
   1015   IN OUT UINTN                                    *NumBytes,
   1016   IN UINT8                                        *Buffer
   1017   )
   1018 /*++
   1019 
   1020 Routine Description:
   1021 
   1022   TODO: Add function description
   1023 
   1024 Arguments:
   1025 
   1026   Instance  - TODO: add argument description
   1027   Lba       - TODO: add argument description
   1028   Offset    - TODO: add argument description
   1029   NumBytes  - TODO: add argument description
   1030   Buffer    - TODO: add argument description
   1031 
   1032 Returns:
   1033 
   1034   TODO: add return values
   1035 
   1036 --*/
   1037 ;
   1038 
   1039 EFI_STATUS
   1040 EsalWriteBlock (
   1041   IN UINTN                                        Instance,
   1042   IN EFI_LBA                                      Lba,
   1043   IN UINTN                                        Offset,
   1044   IN OUT UINTN                                    *NumBytes,
   1045   IN UINT8                                        *Buffer
   1046   )
   1047 /*++
   1048 
   1049 Routine Description:
   1050 
   1051   TODO: Add function description
   1052 
   1053 Arguments:
   1054 
   1055   Instance  - TODO: add argument description
   1056   Lba       - TODO: add argument description
   1057   Offset    - TODO: add argument description
   1058   NumBytes  - TODO: add argument description
   1059   Buffer    - TODO: add argument description
   1060 
   1061 Returns:
   1062 
   1063   TODO: add return values
   1064 
   1065 --*/
   1066 ;
   1067 
   1068 EFI_STATUS
   1069 EsalEraseBlock (
   1070   IN UINTN                                Instance,
   1071   IN UINTN                                Lba
   1072   )
   1073 /*++
   1074 
   1075 Routine Description:
   1076 
   1077   TODO: Add function description
   1078 
   1079 Arguments:
   1080 
   1081   Instance  - TODO: add argument description
   1082   Lba       - TODO: add argument description
   1083 
   1084 Returns:
   1085 
   1086   TODO: add return values
   1087 
   1088 --*/
   1089 ;
   1090 
   1091 EFI_STATUS
   1092 EsalGetVolumeAttributes (
   1093   IN UINTN                                Instance,
   1094   OUT EFI_FVB_ATTRIBUTES                  *Attributes
   1095   )
   1096 /*++
   1097 
   1098 Routine Description:
   1099 
   1100   TODO: Add function description
   1101 
   1102 Arguments:
   1103 
   1104   Instance    - TODO: add argument description
   1105   Attributes  - TODO: add argument description
   1106 
   1107 Returns:
   1108 
   1109   TODO: add return values
   1110 
   1111 --*/
   1112 ;
   1113 
   1114 EFI_STATUS
   1115 EsalSetVolumeAttributes (
   1116   IN UINTN                                Instance,
   1117   IN EFI_FVB_ATTRIBUTES                   Attributes
   1118   )
   1119 /*++
   1120 
   1121 Routine Description:
   1122 
   1123   TODO: Add function description
   1124 
   1125 Arguments:
   1126 
   1127   Instance    - TODO: add argument description
   1128   Attributes  - TODO: add argument description
   1129 
   1130 Returns:
   1131 
   1132   TODO: add return values
   1133 
   1134 --*/
   1135 ;
   1136 
   1137 EFI_STATUS
   1138 EsalGetPhysicalAddress (
   1139   IN UINTN                                Instance,
   1140   OUT EFI_PHYSICAL_ADDRESS                *Address
   1141   )
   1142 /*++
   1143 
   1144 Routine Description:
   1145 
   1146   TODO: Add function description
   1147 
   1148 Arguments:
   1149 
   1150   Instance  - TODO: add argument description
   1151   Address   - TODO: add argument description
   1152 
   1153 Returns:
   1154 
   1155   TODO: add return values
   1156 
   1157 --*/
   1158 ;
   1159 
   1160 EFI_STATUS
   1161 EsalGetBlockSize (
   1162   IN UINTN                                Instance,
   1163   IN EFI_LBA                              Lba,
   1164   OUT UINTN                               *BlockSize,
   1165   OUT UINTN                               *NumOfBlocks
   1166   )
   1167 /*++
   1168 
   1169 Routine Description:
   1170 
   1171   TODO: Add function description
   1172 
   1173 Arguments:
   1174 
   1175   Instance    - TODO: add argument description
   1176   Lba         - TODO: add argument description
   1177   BlockSize   - TODO: add argument description
   1178   NumOfBlocks - TODO: add argument description
   1179 
   1180 Returns:
   1181 
   1182   TODO: add return values
   1183 
   1184 --*/
   1185 ;
   1186 
   1187 //
   1188 // SAL ELOG Functions
   1189 //
   1190 EFI_STATUS
   1191 LibSalGetStateInfo (
   1192   IN  UINT64                                      McaType,
   1193   IN  UINT8                                       *McaBuffer,
   1194   OUT UINTN                                       *Size
   1195   )
   1196 /*++
   1197 
   1198 Routine Description:
   1199 
   1200   TODO: Add function description
   1201 
   1202 Arguments:
   1203 
   1204   McaType   - TODO: add argument description
   1205   McaBuffer - TODO: add argument description
   1206   Size      - TODO: add argument description
   1207 
   1208 Returns:
   1209 
   1210   TODO: add return values
   1211 
   1212 --*/
   1213 ;
   1214 
   1215 EFI_STATUS
   1216 LibSalGetStateInfoSize (
   1217   IN  UINT64                                      McaType,
   1218   OUT UINTN                                       *Size
   1219   )
   1220 /*++
   1221 
   1222 Routine Description:
   1223 
   1224   TODO: Add function description
   1225 
   1226 Arguments:
   1227 
   1228   McaType - TODO: add argument description
   1229   Size    - TODO: add argument description
   1230 
   1231 Returns:
   1232 
   1233   TODO: add return values
   1234 
   1235 --*/
   1236 ;
   1237 
   1238 EFI_STATUS
   1239 LibSalClearStateInfo (
   1240   IN  UINT64                                      McaType
   1241   )
   1242 /*++
   1243 
   1244 Routine Description:
   1245 
   1246   TODO: Add function description
   1247 
   1248 Arguments:
   1249 
   1250   McaType - TODO: add argument description
   1251 
   1252 Returns:
   1253 
   1254   TODO: add return values
   1255 
   1256 --*/
   1257 ;
   1258 
   1259 EFI_STATUS
   1260 LibEsalGetStateBuffer (
   1261   IN  UINT64                                      McaType,
   1262   OUT UINT8                                       **McaBuffer,
   1263   OUT UINTN                                       *Index
   1264   )
   1265 /*++
   1266 
   1267 Routine Description:
   1268 
   1269   TODO: Add function description
   1270 
   1271 Arguments:
   1272 
   1273   McaType   - TODO: add argument description
   1274   McaBuffer - TODO: add argument description
   1275   Index     - TODO: add argument description
   1276 
   1277 Returns:
   1278 
   1279   TODO: add return values
   1280 
   1281 --*/
   1282 ;
   1283 
   1284 EFI_STATUS
   1285 LibEsalSaveStateBuffer (
   1286   IN  UINT64                                      McaType
   1287   )
   1288 /*++
   1289 
   1290 Routine Description:
   1291 
   1292   TODO: Add function description
   1293 
   1294 Arguments:
   1295 
   1296   McaType - TODO: add argument description
   1297 
   1298 Returns:
   1299 
   1300   TODO: add return values
   1301 
   1302 --*/
   1303 ;
   1304 
   1305 #endif
   1306