Home | History | Annotate | Download | only in Protocol
      1 /** @file
      2   The standard set of Extended SAL service classes.
      3 
      4   Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
      5   This program and the accompanying materials
      6   are licensed and made available under the terms and conditions of the BSD License
      7   which accompanies this distribution.  The full text of the license may be found at
      8   http://opensource.org/licenses/bsd-license.php
      9 
     10   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 
     13 **/
     14 
     15 #ifndef _EXTENDED_SAL_SERVICE_CLASSES_H_
     16 #define _EXTENDED_SAL_SERVICE_CLASSES_H_
     17 
     18 ///
     19 /// Extended SAL Base I/O Services Class
     20 ///
     21 ///@{
     22 #define EFI_EXTENDED_SAL_BASE_IO_SERVICES_PROTOCOL_GUID_LO 0x451531e15aea42b5
     23 #define EFI_EXTENDED_SAL_BASE_IO_SERVICES_PROTOCOL_GUID_HI 0xa6657525d5b831bc
     24 #define EFI_EXTENDED_SAL_BASE_IO_SERVICES_PROTOCOL_GUID \
     25   { 0x5aea42b5, 0x31e1, 0x4515, {0xbc, 0x31, 0xb8, 0xd5, 0x25, 0x75, 0x65, 0xa6 } }
     26 
     27 typedef enum {
     28   IoReadFunctionId,
     29   IoWriteFunctionId,
     30   MemReadFunctionId,
     31   MemWriteFunctionId
     32 } EFI_EXTENDED_SAL_BASE_IO_SERVICES_FUNC_ID;
     33 ///@}
     34 
     35 ///
     36 /// Extended SAL Stall Services Class
     37 ///
     38 ///@{
     39 #define EFI_EXTENDED_SAL_STALL_SERVICES_PROTOCOL_GUID_LO 0x4d8cac2753a58d06
     40 #define EFI_EXTENDED_SAL_STALL_SERVICES_PROTOCOL_GUID_HI 0x704165808af0e9b5
     41 #define EFI_EXTENDED_SAL_STALL_SERVICES_PROTOCOL_GUID \
     42   { 0x53a58d06, 0xac27, 0x4d8c, {0xb5, 0xe9, 0xf0, 0x8a, 0x80, 0x65, 0x41, 0x70 } }
     43 
     44 typedef enum {
     45   StallFunctionId
     46 } EFI_EXTENDED_SAL_STALL_FUNC_ID;
     47 ///@}
     48 
     49 ///
     50 /// Extended SAL Real Time Clock Services Class
     51 ///
     52 ///@{
     53 #define EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID_LO 0x4d02efdb7e97a470
     54 #define EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID_HI 0x96a27bd29061ce8f
     55 #define EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID  \
     56   { 0x7e97a470, 0xefdb, 0x4d02, {0x8f, 0xce, 0x61, 0x90, 0xd2, 0x7b, 0xa2, 0x96 } }
     57 
     58 typedef enum {
     59   GetTimeFunctionId,
     60   SetTimeFunctionId,
     61   GetWakeupTimeFunctionId,
     62   SetWakeupTimeFunctionId,
     63   GetRtcFreqFunctionId,
     64   InitializeThresholdFunctionId,
     65   BumpThresholdCountFunctionId,
     66   GetThresholdCountFunctionId
     67 } EFI_EXTENDED_SAL_RTC_SERVICES_FUNC_ID;
     68 ///@}
     69 
     70 ///
     71 /// Extended SAL Variable Services Class
     72 ///
     73 ///@{
     74 #define EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID_LO 0x4370c6414ecb6c53
     75 #define EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID_HI 0x78836e490e3bb28c
     76 #define EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID  \
     77   { 0x4ecb6c53, 0xc641, 0x4370, {0x8c, 0xb2, 0x3b, 0x0e, 0x49, 0x6e, 0x83, 0x78 } }
     78 
     79 typedef enum {
     80   EsalGetVariableFunctionId,
     81   EsalGetNextVariableNameFunctionId,
     82   EsalSetVariableFunctionId,
     83   EsalQueryVariableInfoFunctionId
     84 } EFI_EXTENDED_SAL_VARIABLE_SERVICES_FUNC_ID;
     85 ///@}
     86 
     87 ///
     88 /// Extended SAL Monotonic Counter Services Class
     89 ///
     90 ///@{
     91 #define EFI_EXTENDED_SAL_MTC_SERVICES_PROTOCOL_GUID_LO 0x408b75e8899afd18
     92 #define EFI_EXTENDED_SAL_MTC_SERVICES_PROTOCOL_GUID_HI 0x54f4cd7e2e6e1aa4
     93 #define EFI_EXTENDED_SAL_MTC_SERVICES_PROTOCOL_GUID  \
     94   { 0x899afd18, 0x75e8, 0x408b, {0xa4, 0x1a, 0x6e, 0x2e, 0x7e, 0xcd, 0xf4, 0x54 } }
     95 
     96 typedef enum {
     97   GetNextHighMonotonicCountFunctionId
     98 } EFI_EXTENDED_SAL_MTC_SERVICES_FUNC_ID;
     99 ///@}
    100 
    101 ///
    102 /// Extended SAL Reset Services Class
    103 ///
    104 ///@{
    105 #define EFI_EXTENDED_SAL_RESET_SERVICES_PROTOCOL_GUID_LO  0x46f58ce17d019990
    106 #define EFI_EXTENDED_SAL_RESET_SERVICES_PROTOCOL_GUID_HI  0xa06a6798513c76a7
    107 #define EFI_EXTENDED_SAL_RESET_SERVICES_PROTOCOL_GUID  \
    108   { 0x7d019990, 0x8ce1, 0x46f5, {0xa7, 0x76, 0x3c, 0x51, 0x98, 0x67, 0x6a, 0xa0 } }
    109 
    110 typedef enum {
    111   ResetSystemFunctionId
    112 } EFI_EXTENDED_SAL_RESET_SERVICES_FUNC_ID;
    113 ///@}
    114 
    115 ///
    116 /// Extended SAL Status Code Services Class
    117 ///
    118 ///@{
    119 #define EFI_EXTENDED_SAL_STATUS_CODE_SERVICES_PROTOCOL_GUID_LO 0x420f55e9dbd91d
    120 #define EFI_EXTENDED_SAL_STATUS_CODE_SERVICES_PROTOCOL_GUID_HI 0x4fb437849f5e3996
    121 #define EFI_EXTENDED_SAL_STATUS_CODE_SERVICES_PROTOCOL_GUID  \
    122   { 0xdbd91d, 0x55e9, 0x420f, {0x96, 0x39, 0x5e, 0x9f, 0x84, 0x37, 0xb4, 0x4f } }
    123 
    124 typedef enum {
    125   ReportStatusCodeServiceFunctionId
    126 } EFI_EXTENDED_SAL_STATUS_CODE_SERVICES_FUNC_ID;
    127 ///@}
    128 
    129 ///
    130 /// Extended SAL Firmware Volume Block Services Class
    131 ///
    132 ///@{
    133 #define EFI_EXTENDED_SAL_FV_BLOCK_SERVICES_PROTOCOL_GUID_LO 0x4f1dbcbba2271df1
    134 #define EFI_EXTENDED_SAL_FV_BLOCK_SERVICES_PROTOCOL_GUID_HI 0x1a072f17bc06a998
    135 #define EFI_EXTENDED_SAL_FV_BLOCK_SERVICES_PROTOCOL_GUID \
    136   { 0xa2271df1, 0xbcbb, 0x4f1d, {0x98, 0xa9, 0x06, 0xbc, 0x17, 0x2f, 0x07, 0x1a } }
    137 
    138 typedef enum {
    139   ReadFunctionId,
    140   WriteFunctionId,
    141   EraseBlockFunctionId,
    142   GetVolumeAttributesFunctionId,
    143   SetVolumeAttributesFunctionId,
    144   GetPhysicalAddressFunctionId,
    145   GetBlockSizeFunctionId,
    146 } EFI_EXTENDED_SAL_FV_BLOCK_SERVICES_FUNC_ID;
    147 ///@}
    148 
    149 ///
    150 /// Extended SAL MP Services Class
    151 ///
    152 ///@{
    153 #define EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_LO 0x4dc0cf18697d81a2
    154 #define EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_HI 0x3f8a613b11060d9e
    155 #define EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID \
    156   { 0x697d81a2, 0xcf18, 0x4dc0, {0x9e, 0x0d, 0x06, 0x11, 0x3b, 0x61, 0x8a, 0x3f } }
    157 
    158 typedef enum {
    159   AddCpuDataFunctionId,
    160   RemoveCpuDataFunctionId,
    161   ModifyCpuDataFunctionId,
    162   GetCpuDataByIDFunctionId,
    163   GetCpuDataByIndexFunctionId,
    164   SendIpiFunctionId,
    165   CurrentProcInfoFunctionId,
    166   NumProcessorsFunctionId,
    167   SetMinStateFunctionId,
    168   GetMinStateFunctionId
    169 } EFI_EXTENDED_SAL_MP_SERVICES_FUNC_ID;
    170 ///@}
    171 
    172 ///
    173 /// Extended SAL PAL Services Class
    174 ///
    175 ///@{
    176 #define EFI_EXTENDED_SAL_PAL_SERVICES_PROTOCOL_GUID_LO 0x438d0fc2e1cd9d21
    177 #define EFI_EXTENDED_SAL_PAL_SERVICES_PROTOCOL_GUID_HI 0x571e966de6040397
    178 #define EFI_EXTENDED_SAL_PAL_SERVICES_PROTOCOL_GUID \
    179   { 0xe1cd9d21, 0x0fc2, 0x438d, {0x97, 0x03, 0x04, 0xe6, 0x6d, 0x96, 0x1e, 0x57 } }
    180 
    181 typedef enum {
    182   PalProcFunctionId,
    183   SetNewPalEntryFunctionId,
    184   GetNewPalEntryFunctionId,
    185   EsalUpdatePalFunctionId
    186 } EFI_EXTENDED_SAL_PAL_SERVICES_FUNC_ID;
    187 ///@}
    188 
    189 ///
    190 /// Extended SAL Base Services Class
    191 ///
    192 ///@{
    193 #define EFI_EXTENDED_SAL_BASE_SERVICES_PROTOCOL_GUID_LO 0x41c30fe0d9e9fa06
    194 #define EFI_EXTENDED_SAL_BASE_SERVICES_PROTOCOL_GUID_HI 0xf894335a4283fb96
    195 #define EFI_EXTENDED_SAL_BASE_SERVICES_PROTOCOL_GUID \
    196   { 0xd9e9fa06, 0x0fe0, 0x41c3, {0x96, 0xfb, 0x83, 0x42, 0x5a, 0x33, 0x94, 0xf8 } }
    197 
    198 typedef enum {
    199   SalSetVectorsFunctionId,
    200   SalMcRendezFunctionId,
    201   SalMcSetParamsFunctionId,
    202   EsalGetVectorsFunctionId,
    203   EsalMcGetParamsFunctionId,
    204   EsalMcGetMcParamsFunctionId,
    205   EsalGetMcCheckinFlagsFunctionId,
    206   EsalGetPlatformBaseFreqFunctionId,
    207   EsalPhysicalIdInfoFunctionId,
    208   EsalRegisterPhysicalAddrFunctionId
    209 } EFI_EXTENDED_SAL_BASE_SERVICES_FUNC_ID;
    210 ///@}
    211 
    212 ///
    213 /// Extended SAL MCA Services Class
    214 ///
    215 ///@{
    216 #define EFI_EXTENDED_SAL_MCA_SERVICES_PROTOCOL_GUID_LO 0x42b16cc72a591128
    217 #define EFI_EXTENDED_SAL_MCA_SERVICES_PROTOCOL_GUID_HI 0xbb2d683b9358f08a
    218 #define EFI_EXTENDED_SAL_MCA_SERVICES_PROTOCOL_GUID \
    219   { 0x2a591128, 0x6cc7, 0x42b1, {0x8a, 0xf0, 0x58, 0x93, 0x3b, 0x68, 0x2d, 0xbb } }
    220 
    221 typedef enum {
    222   McaGetStateInfoFunctionId,
    223   McaRegisterCpuFunctionId
    224 } EFI_EXTENDED_SAL_MCA_SERVICES_FUNC_ID;
    225 ///@}
    226 
    227 ///
    228 /// Extended SAL PCI Services Class
    229 ///
    230 ///@{
    231 #define EFI_EXTENDED_SAL_PCI_SERVICES_PROTOCOL_GUID_LO 0x4905ad66a46b1a31
    232 #define EFI_EXTENDED_SAL_PCI_SERVICES_PROTOCOL_GUID_HI 0x6330dc59462bf692
    233 #define EFI_EXTENDED_SAL_PCI_SERVICES_PROTOCOL_GUID \
    234   { 0xa46b1a31, 0xad66, 0x4905, {0x92, 0xf6, 0x2b, 0x46, 0x59, 0xdc, 0x30, 0x63 } }
    235 
    236 typedef enum {
    237   SalPciConfigReadFunctionId,
    238   SalPciConfigWriteFunctionId
    239 } EFI_EXTENDED_SAL_PCI_SERVICES_FUNC_ID;
    240 ///@}
    241 
    242 ///
    243 /// Extended SAL Cache Services Class
    244 ///
    245 ///@{
    246 #define EFI_EXTENDED_SAL_CACHE_SERVICES_PROTOCOL_GUID_LO 0x4ba52743edc9494
    247 #define EFI_EXTENDED_SAL_CACHE_SERVICES_PROTOCOL_GUID_HI 0x88f11352ef0a1888
    248 #define EFI_EXTENDED_SAL_CACHE_SERVICES_PROTOCOL_GUID \
    249   { 0xedc9494, 0x2743, 0x4ba5, { 0x88, 0x18, 0x0a, 0xef, 0x52, 0x13, 0xf1, 0x88 } }
    250 
    251 typedef enum {
    252   SalCacheInitFunctionId,
    253   SalCacheFlushFunctionId
    254 } EFI_EXTENDED_SAL_CACHE_SERVICES_FUNC_ID;
    255 ///@}
    256 
    257 ///
    258 /// Extended SAL MCA Log Services Class
    259 ///
    260 ///@{
    261 #define EFI_EXTENDED_SAL_MCA_LOG_SERVICES_PROTOCOL_GUID_LO 0x4c0338a3cb3fd86e
    262 #define EFI_EXTENDED_SAL_MCA_LOG_SERVICES_PROTOCOL_GUID_HI 0x7aaba2a3cf905c9a
    263 #define EFI_EXTENDED_SAL_MCA_LOG_SERVICES_PROTOCOL_GUID \
    264   { 0xcb3fd86e, 0x38a3, 0x4c03, {0x9a, 0x5c, 0x90, 0xcf, 0xa3, 0xa2, 0xab, 0x7a } }
    265 
    266 typedef enum {
    267   SalGetStateInfoFunctionId,
    268   SalGetStateInfoSizeFunctionId,
    269   SalClearStateInfoFunctionId,
    270   EsalGetStateBufferFunctionId,
    271   EsalSaveStateBufferFunctionId
    272 } EFI_EXTENDED_SAL_MCA_LOG_SERVICES_FUNC_ID;
    273 ///@}
    274 
    275 #endif
    276